Go to the documentation of this file. 1 #ifndef SimTK_SimTKCOMMON_PARALLEL_2D_EXECUTOR_H_
2 #define SimTK_SimTKCOMMON_PARALLEL_2D_EXECUTOR_H_
32 class Parallel2DExecutor;
33 class Parallel2DExecutorImpl;
37 #ifndef SimTK_SIMTKCOMMON_DEFINING_PARALLEL_2D_EXECUTOR
38 extern template class PIMPLHandle<Parallel2DExecutor, Parallel2DExecutorImpl>;
76 enum RangeType {FullMatrix, HalfMatrix, HalfPlusDiagonal};
103 void execute(Task& task, RangeType rangeType);
122 virtual void execute(
int i,
int j) = 0;
140 #endif // SimTK_SimTKCOMMON_PARALLEL_2D_EXECUTOR_H_
This class is used for performing multithreaded computations over two dimensional ranges.
Definition: Parallel2DExecutor.h:73
static int getNumProcessors()
Get the total number of available processor cores (physical cores and hyperthreads on Intel architect...
This is a System that represents the dynamics of a particle moving along a smooth surface.
Definition: Assembler.h:37
virtual void initialize()
This method is invoked once by each worker thread before the task is executed.
Definition: Parallel2DExecutor.h:127
#define SimTK_SimTKCOMMON_EXPORT
Definition: SimTKcommon/include/SimTKcommon/internal/common.h:224
virtual ~Task()
Definition: Parallel2DExecutor.h:116
RangeType
Definition: Parallel2DExecutor.h:76
virtual void finish()
This method is invoked once by each worker thread after all invocations of the task on that thread ar...
Definition: Parallel2DExecutor.h:134
This class is used for performing multithreaded computations.
Definition: ParallelExecutor.h:97
Concrete subclasses of this abstract class represent tasks that can be executed by a Parallel2DExecut...
Definition: Parallel2DExecutor.h:114