environment(2rheolef)

environment2rheolef

Initialization of distributed computations (rheolef-7.2)

Overview

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.

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.

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 ;
};

Releases

5 releases since Debian 9 (Stretch); the text changed 4 times.

  1. 9
  2. 10
  3. 11
  4. 12
  5. 13

Author

Pierre Saramito <[email protected]>

From librheolef-dev 7.2-4 in Debian 13 (Trixie). Parsed by carta from the page's man source.