ppap4lmp
0.7.2
|
InvOMP is an Invoker's subclass using OpenMP to execute a computationally expensive part of analysis. More...
#include <inv_omp.h>
Public Member Functions | |
Invoker ()=default | |
Constructor of Invoker class (default). | |
![]() | |
Invoker ()=default | |
Constructor of Invoker class (default). | |
void | execute (const Vec< ShPtr< Processor >> &procs) |
Execute analysis programmed in given Processor objects. More... | |
Protected Member Functions | |
virtual void | execute_impl (const Vec< ShPtr< Processor >> &procs) override |
This method overrides Invoker::execute_impl. More... | |
InvOMP is an Invoker's subclass using OpenMP to execute a computationally expensive part of analysis.
This class executes a computationally expensive calculation, such as an updating process defined by Generator::update_chain or analytical computations conducted in Processor::run_impl, under multithread environment using OpenMP. All threads are used if OMP_NUM_THREADS
environment variable is not set.
About usage in Python, please see pybind::py_inv_omp.
This method overrides Invoker::execute_impl.
procs | List of Processor objects to be executed. |
This method calls Processor::run in parallel. Note that exceptions (runtime errors) thrown inside the parallel scope must be caught in the same scope. Since error messages thrown in the parallel scope are assigned to a thread-global variable, older error messages are overwritten by newer one thrown in another thread.
Implements Invoker.
Definition at line 16 of file inv_omp.cpp.