logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

environment - initialization of distributed computations (rheolef-7.2)

Author

Pierre Saramito <Pierre.Saramito@imag.fr>

Description

This class is mainly used to initialize the MPI library: it should be called juste after the main(argc,argv) declaration: #include 'rheolef.h' using namespace rheolef; int main (int argc, char**argv) { environment rheolef (argc, argv); ... } An optional third argument of the environment constructor allows one to set the MPI thread feature. By default, its value is MPI_THREAD_MULTIPLE, as defined in mpi.h. Other possible values are related to MPI multi-threaded: see the MPI documentation for more details. When compiling in a non-distributed configuration of the Rheolef library, this is a do-nothing class.

Implementation

This documentation has been generated from file linalg/lib/environment.h class environment { public: environment (int& argc, char**& argv, const environment_option_type& opt = environment_option_type()); ~environment(); }; struct environment_option_type { static const int no_thread = 100; static const int default_thread = MPI_THREAD_MULTIPLE; environment_option_type() : thread_level (default_thread) {} int thread_level ; };

Name

environment - initialization of distributed computations (rheolef-7.2)

Note

The interface of this class is inspirated from the boost::mpi::environment class. Instead of the boost implementation that calls MPI_Init(), here this class calls MPI_Init_thread() instead. This extension allows one to support the scotch library when it has been compiled with the threads feature.

See Also