MADNESS
version 0.9
|
Serializes calls to MPI in case it does not support THREAD_MULTIPLE. More...
#include <madness/madness_config.h>
#include <mpi.h>
#include <madness/world/worldmutex.h>
#include <madness/world/typestuff.h>
#include <madness/world/enable_if.h>
#include <madness/world/scopedptr.h>
#include <iostream>
#include <cstring>
Go to the source code of this file.
Classes | |
class | SafeMPI::Exception |
SafeMPI exception object. More... | |
class | SafeMPI::Status |
class | SafeMPI::Request |
class | SafeMPI::Group |
class | SafeMPI::Intracomm |
Wrapper around MPI_Comm. Has a shallow copy constructor; use Create(Get_group()) for deep copy. More... | |
Namespaces | |
SafeMPI | |
SafeMPI::detail | |
Macros | |
#define | MADNESS_SERIALIZES_MPI |
#define | MADNESS_MPI_TEST(condition) |
#define | SAFE_MPI_GLOBAL_MUTEX madness::ScopedMutex<madness::SCALABLE_MUTEX_TYPE> obolus(SafeMPI::charon) |
Functions | |
int | SafeMPI::Finalize () |
Analogous to MPI_Finalize. More... | |
bool | SafeMPI::Is_initialized () |
Check MPI initialization status. More... | |
bool | SafeMPI::Is_finalized () |
Check MPI finalization status. More... | |
void | SafeMPI::detail::init_comm_world () |
Initialize SafeMPI::COMM_WORLD. More... | |
void | SafeMPI::detail::print_mpi_error (const int rc, const char *function, const int line, const char *file) |
int | SafeMPI::Init_thread (int &argc, char **&argv, int requested) |
Analogous to MPI_Init_thread. More... | |
int | SafeMPI::Init_thread (int requested) |
Analogous to MPI_Init_thread. More... | |
void | SafeMPI::Init (int &argc, char **&argv) |
Analogous to MPI_Init. More... | |
void | SafeMPI::Init () |
Analogous to MPI_Init. More... | |
int | SafeMPI::Query_thread () |
Analogous to MPI_Query_thread. More... | |
double | SafeMPI::Wtime () |
Wall time. More... | |
void | SafeMPI::Attach_buffer (void *buffer, int size) |
Set buffer for Bsend . More... | |
int | SafeMPI::Detach_buffer (void *&buffer) |
Unset the Bsend buffer. More... | |
Variables | |
madness::SCALABLE_MUTEX_TYPE | SafeMPI::charon |
Serializes calls to MPI in case it does not support THREAD_MULTIPLE.
#define MADNESS_MPI_TEST | ( | condition | ) |
Referenced by SafeMPI::Intracomm::Allreduce(), SafeMPI::Attach_buffer(), SafeMPI::Intracomm::Barrier(), SafeMPI::Intracomm::Bcast(), SafeMPI::Intracomm::Create(), SafeMPI::Intracomm::Get_attr(), SafeMPI::Status::Get_count(), SafeMPI::Init(), SafeMPI::detail::init_comm_world(), SafeMPI::Init_thread(), SafeMPI::Intracomm::Intracomm(), SafeMPI::Intracomm::Irecv(), SafeMPI::Intracomm::Isend(), SafeMPI::Query_thread(), SafeMPI::Intracomm::Recv(), SafeMPI::Intracomm::Reduce(), SafeMPI::Intracomm::Send(), SafeMPI::Request::Test_got_lock_already(), SafeMPI::Request::Testany(), SafeMPI::Request::Testsome(), and SafeMPI::Group::Translate_ranks().
#define MADNESS_SERIALIZES_MPI |
#define SAFE_MPI_GLOBAL_MUTEX madness::ScopedMutex<madness::SCALABLE_MUTEX_TYPE> obolus(SafeMPI::charon) |
Referenced by SafeMPI::Intracomm::Allreduce(), SafeMPI::Intracomm::Barrier(), SafeMPI::Intracomm::Bcast(), SafeMPI::Intracomm::Create(), SafeMPI::Intracomm::Get_attr(), SafeMPI::Intracomm::Get_group(), SafeMPI::Intracomm::Irecv(), SafeMPI::Intracomm::Isend(), SafeMPI::Intracomm::Recv(), SafeMPI::Intracomm::Reduce(), SafeMPI::Intracomm::Send(), SafeMPI::Request::Test(), SafeMPI::Request::Testany(), and SafeMPI::Request::Testsome().