TRIQS/mpi
2.0.0
C++ interface to MPI
Toggle main menu visibility
Loading...
Searching...
No Matches
mpi.hpp
Go to the documentation of this file.
1
// Copyright (c) 2019-2024 Simons Foundation
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
// http://www.apache.org/licenses/LICENSE-2.0.txt
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
//
15
// Authors: Thomas Hahn, Alexander Hampel, Olivier Parcollet, Nils Wentzell
16
21
22
#pragma once
23
24
#include "
./array.hpp
"
25
#include "
./chunk.hpp
"
26
#include "
./communicator.hpp
"
27
#include "
./datatypes.hpp
"
28
#include "
./environment.hpp
"
29
#include "
./generic_communication.hpp
"
30
#include "
./group.hpp
"
31
#include "
./monitor.hpp
"
32
#include "
./operators.hpp
"
33
#include "
./optional.hpp
"
34
#include "
./pair.hpp
"
35
#include "
./ranges.hpp
"
36
#include "
./string.hpp
"
37
#include "
./utils.hpp
"
38
#include "
./vector.hpp
"
39
#include "
./window.hpp
"
40
41
namespace
mpi {
42
43
#define MPI_TEST_MAIN \
44
int main(int argc, char **argv) { \
45
::testing::InitGoogleTest(&argc, argv); \
46
if (mpi::has_env) { \
47
mpi::environment env(argc, argv); \
48
std::cout << "MPI environment detected\n"; \
49
return RUN_ALL_TESTS(); \
50
} else \
51
return RUN_ALL_TESTS(); \
52
}
53
54
}
// namespace mpi
array.hpp
Provides an MPI broadcast and reduce for std::array.
chunk.hpp
Provides utilities to distribute a range across MPI processes.
communicator.hpp
Provides a C++ wrapper class for an MPI_Comm object.
datatypes.hpp
Provides utilities to map C++ datatypes to MPI datatypes.
environment.hpp
Provides an MPI environment for initializing and finalizing an MPI program.
generic_communication.hpp
Provides generic implementations for a subset of collective MPI communications (broadcast,...
group.hpp
Provides a C++ wrapper class for an MPI_Group object.
monitor.hpp
Provides a class for monitoring and communicating events across multiple processes.
operators.hpp
Provides utilities to map custom binary functions to MPI operators.
optional.hpp
Provides an MPI broadcast and reduce for std::optional.
pair.hpp
Provides an MPI broadcast and reduce for std::pair.
ranges.hpp
Provides an MPI broadcast, reduce, scatter and gather for generic ranges.
string.hpp
Provides an MPI broadcast and gather for std::string.
utils.hpp
Provides general utilities related to MPI.
vector.hpp
Provides an MPI broadcast, reduce, scatter and gather for std::vector.
window.hpp
Provides a C++ wrapper class for an MPI_Win object.
mpi
mpi.hpp
Generated by
1.17.0