Stellarator-Tools
|
Base class representing a bmw parallel context. This contains all memory needed parameters needed to parallel processing. More...
Public Member Functions | |
PROCEDURE, pass | set_threads => bmw_parallel_context_set_threads |
PROCEDURE, pass | report => bmw_parallel_context_report |
PROCEDURE, pass | reduce1 => bmw_parallel_context_reduce1 |
PROCEDURE, pass | reduce2 => bmw_parallel_context_reduce2 |
PROCEDURE, pass | reduce3 => bmw_parallel_context_reduce3 |
PROCEDURE, pass | reduce4 => bmw_parallel_context_reduce4 |
GENERIC | reduce => reduce1, reduce2, reduce3, reduce4 |
PROCEDURE, pass | start => bmw_parallel_context_start |
PROCEDURE, pass | end => bmw_parallel_context_end |
FINAL | bmw_parallel_context_destruct |
class(bmw_parallel_context_class) function, pointer | bmw_parallel_context_construct (comm) |
Construct a bmw_context_class object. More... | |
Public Attributes | |
integer | offset |
Problem space offset. | |
integer | stride |
Problem space stride. | |
integer | num_threads |
Number of threads. | |
integer | comm = MPI_COMM_NULL |
MPI communicator reference for computation. BMW can be used as an embeded library. Multiple instances can be running in parallel on separate problems so do not assume the world comm. | |
logical | initialized_mpi |
Flag to mark if bmw intialized the MPI context. | |
Base class representing a bmw parallel context. This contains all memory needed parameters needed to parallel processing.
Interface for the bmw_parallel_context constructor.
class (bmw_parallel_context_class) function, pointer bmw_parallel_context::bmw_parallel_context_class::bmw_parallel_context_construct | ( | integer, intent(in) | comm | ) |
Construct a bmw_context_class object.
Allocates memory and initializes a bmw_parallel_context_class object.
[in] | comm | MPI communicator. Only used if MPI support has been compiled in. |