MADNESS  version 0.9
Classes | Namespaces | Macros | Functions | Variables
safempi.h File Reference

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>
Include dependency graph for safempi.h:
This graph shows which files directly or indirectly include this file:

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
 

Detailed Description

Serializes calls to MPI in case it does not support THREAD_MULTIPLE.

Macro Definition Documentation

#define MADNESS_MPI_TEST (   condition)
#define MADNESS_SERIALIZES_MPI
#define SAFE_MPI_GLOBAL_MUTEX   madness::ScopedMutex<madness::SCALABLE_MUTEX_TYPE> obolus(SafeMPI::charon)