Namespaces | |
| namespace | BatchTypes |
| namespace | ParallelFlags |
| namespace | ReduceTypes |
Classes | |
| class | BatchStrategy |
| class | BatchStrategyFactory |
| class | ColoringBatchStrategy |
| class | CompactReduceStrategy |
| class | CudaPGSSolver |
| class | GreedyBatchStrategy |
| class | OpenCLPGSSolver |
| class | OpenMPPGSSolver |
| class | ParallelPGSSolver |
| The base solver class. More... | |
| class | ReduceStrategy |
| The base strategy class. More... | |
| class | ReduceStrategyFactory |
| class | SequentialReduceStrategy |
| class | StridedReduceStrategy |
Typedefs | |
| typedef boost::unordered_map < int, int > | BatchMap |
| typedef std::multimap< int, int, std::greater< int > > | BatchMultimap |
| typedef BatchMultimap::iterator | BatchMultimapIterator |
| typedef BatchTypes::BatchType | BatchType |
| typedef ParallelFlags::ParallelFlag | ParallelFlag |
| typedef ReduceTypes::ReduceType | ReduceType |
Functions | |
| std::string | extractDirectory (const std::string &path) |
| void | oclInitializeKernels (cl_context cxGPUContext, cl_command_queue cqParamCommandQue) |
| void | oclPGSReduce (cl_mem fc0, cl_mem fc1, cl_mem fc0_reduction, cl_mem fc1_reduction, ReduceStrategy *reduceStrategy) |
| void | oclPGSReduce (cl_mem fc0_reduction, cl_mem fc1_reduction, ReduceStrategy *reduceStrategy) |
| void | oclPGSSolve (int offset, int numConstraints, bool bUseAtomics) |
| void | oclPGSSolveInit (cl_mem bodyIDs, cl_mem fIDs, cl_mem j, cl_mem ij, cl_mem fc0, cl_mem fc1, cl_mem fc0_reduction, cl_mem fc1_reduction, cl_mem lambda, cl_mem adcfm, cl_mem rhs, cl_mem hilo, int bStride, int cStride, ReduceStrategy *reduceStrategy) |
| void | oclShutdownKernels (void) |
| void | oclZeroVector (cl_mem buffer, int bufferSize, bool bScalarType) |
| template<typename T > | |
| void | ompPGSReduce (typename vec4< T >::Type *fc0, typename vec4< T >::Type *fc1, typename vec4< T >::Type *fc0_reduction, typename vec4< T >::Type *fc1_reduction, ReduceStrategy *reduceStrategy) |
| template void | ompPGSReduce< dReal > (dReal4 *fc0, dReal4 *fc1, dReal4 *fc0_reduction, dReal4 *fc1_reduction, ReduceStrategy *reduceStrategy) |
| template<typename T > | |
| void | ompPGSSolve (int4 *bodyIDs, int *fIDs, typename vec4< T >::Type *j, typename vec4< T >::Type *ij, typename vec4< T >::Type *fc0, typename vec4< T >::Type *fc1, typename vec4< T >::Type *fc0_reduction, typename vec4< T >::Type *fc1_reduction, T *lambda, T *adcfm, T *rhs, T *hilo, int offset, int numConstraints, bool bUseAtomics, int bStride, int cStride) |
| template void | ompPGSSolve< dReal > (int4 *bodyIDs, int *fIDs, dReal4 *j, dReal4 *ij, dReal4 *fc0, dReal4 *fc1, dReal4 *fc0_reduction, dReal4 *fc1_reduction, dReal *lambda, dReal *adcfm, dReal *rhs, dReal *hilo, int batch, int numConstraints, bool bUseAtomics, int bStride, int cStride) |
| template<typename T > | |
| void | ompZeroVector (T *buffer, int bufferSize) |
| template void | ompZeroVector< dReal4 > (dReal4 *buffer, int bufferSize) |
| static size_t | uSnap (size_t a, size_t b) |
Variables | |
| static cl_kernel | ckReduce |
| static cl_kernel | ckSolve |
| static cl_kernel | ckZero |
| static cl_kernel | ckZero4 |
| static cl_program | cpSolver |
| static cl_command_queue | cqDefaultCommandQueue |
| static const int | DEFAULT_CL_FLAGS |
| const int | DEFAULT_FLAGS |
| Default configuration flags for the base solver. | |
| const int | DEFAULT_OPENMP_FLAGS |
| static const std::string | FILENAME = __FILE__ |
| static const std::string | INC_DIR = extractDirectory( FILENAME ) + "../include/" + PROJ_NAME + "/" |
| static const std::string | SRC_DIR = extractDirectory( FILENAME ) |
| typedef boost::unordered_map<int, int> parallel_ode::BatchMap |
Definition at line 13 of file parallel_batch.cpp.
| typedef std::multimap<int, int, std::greater<int> > parallel_ode::BatchMultimap |
Definition at line 14 of file parallel_batch.cpp.
| typedef BatchMultimap::iterator parallel_ode::BatchMultimapIterator |
Definition at line 15 of file parallel_batch.cpp.
Definition at line 17 of file parallel_batch.h.
Definition at line 34 of file parallel_solver.h.
Definition at line 18 of file parallel_reduce.h.
| std::string parallel_ode::extractDirectory | ( | const std::string & | path | ) |
Extracts the directory from a given ptah
| path | The global path of a file |
Definition at line 33 of file opencl_kernels.cpp.
| void parallel_ode::oclInitializeKernels | ( | cl_context | cxGPUContext, | |
| cl_command_queue | cqParamCommandQue | |||
| ) |
| void parallel_ode::oclPGSReduce | ( | cl_mem | fc0, | |
| cl_mem | fc1, | |||
| cl_mem | fc0_reduction, | |||
| cl_mem | fc1_reduction, | |||
| ReduceStrategy * | reduceStrategy | |||
| ) |
| void parallel_ode::oclPGSReduce | ( | cl_mem | fc0_reduction, | |
| cl_mem | fc1_reduction, | |||
| ReduceStrategy * | reduceStrategy | |||
| ) |
| void parallel_ode::oclPGSSolve | ( | int | offset, | |
| int | numConstraints, | |||
| bool | bUseAtomics | |||
| ) |
| void parallel_ode::oclPGSSolveInit | ( | cl_mem | bodyIDs, | |
| cl_mem | fIDs, | |||
| cl_mem | j, | |||
| cl_mem | ij, | |||
| cl_mem | fc0, | |||
| cl_mem | fc1, | |||
| cl_mem | fc0_reduction, | |||
| cl_mem | fc1_reduction, | |||
| cl_mem | lambda, | |||
| cl_mem | adcfm, | |||
| cl_mem | rhs, | |||
| cl_mem | hilo, | |||
| int | bStride, | |||
| int | cStride, | |||
| ReduceStrategy * | reduceStrategy | |||
| ) |
| void parallel_ode::oclShutdownKernels | ( | void | ) |
| void parallel_ode::oclZeroVector | ( | cl_mem | buffer, | |
| int | bufferSize, | |||
| bool | bScalarType | |||
| ) |
| void parallel_ode::ompPGSReduce | ( | typename vec4< T >::Type * | fc0, | |
| typename vec4< T >::Type * | fc1, | |||
| typename vec4< T >::Type * | fc0_reduction, | |||
| typename vec4< T >::Type * | fc1_reduction, | |||
| ReduceStrategy * | reduceStrategy | |||
| ) | [inline] |
| template void parallel_ode::ompPGSReduce< dReal > | ( | dReal4 * | fc0, | |
| dReal4 * | fc1, | |||
| dReal4 * | fc0_reduction, | |||
| dReal4 * | fc1_reduction, | |||
| ReduceStrategy * | reduceStrategy | |||
| ) |
| void parallel_ode::ompPGSSolve | ( | int4 * | bodyIDs, | |
| int * | fIDs, | |||
| typename vec4< T >::Type * | j, | |||
| typename vec4< T >::Type * | ij, | |||
| typename vec4< T >::Type * | fc0, | |||
| typename vec4< T >::Type * | fc1, | |||
| typename vec4< T >::Type * | fc0_reduction, | |||
| typename vec4< T >::Type * | fc1_reduction, | |||
| T * | lambda, | |||
| T * | adcfm, | |||
| T * | rhs, | |||
| T * | hilo, | |||
| int | offset, | |||
| int | numConstraints, | |||
| bool | bUseAtomics, | |||
| int | bStride, | |||
| int | cStride | |||
| ) | [inline] |
| template void parallel_ode::ompPGSSolve< dReal > | ( | int4 * | bodyIDs, | |
| int * | fIDs, | |||
| dReal4 * | j, | |||
| dReal4 * | ij, | |||
| dReal4 * | fc0, | |||
| dReal4 * | fc1, | |||
| dReal4 * | fc0_reduction, | |||
| dReal4 * | fc1_reduction, | |||
| dReal * | lambda, | |||
| dReal * | adcfm, | |||
| dReal * | rhs, | |||
| dReal * | hilo, | |||
| int | batch, | |||
| int | numConstraints, | |||
| bool | bUseAtomics, | |||
| int | bStride, | |||
| int | cStride | |||
| ) |
| void parallel_ode::ompZeroVector | ( | T * | buffer, | |
| int | bufferSize | |||
| ) | [inline] |
| template void parallel_ode::ompZeroVector< dReal4 > | ( | dReal4 * | buffer, | |
| int | bufferSize | |||
| ) |
| static size_t parallel_ode::uSnap | ( | size_t | a, | |
| size_t | b | |||
| ) | [static] |
Aligns a to the next largest multiple of b
| a | the parameter to align | |
| b | the alignment |
Definition at line 14 of file opencl_kernels.cpp.
cl_kernel parallel_ode::ckReduce [static] |
The reduction kernel
Definition at line 19 of file opencl_kernels.cpp.
cl_kernel parallel_ode::ckSolve [static] |
The solution kernel
Definition at line 19 of file opencl_kernels.cpp.
cl_kernel parallel_ode::ckZero [static] |
The clearing kernel for scalar values
Definition at line 19 of file opencl_kernels.cpp.
cl_kernel parallel_ode::ckZero4 [static] |
The clearing kernel for vec4 values
Definition at line 19 of file opencl_kernels.cpp.
cl_program parallel_ode::cpSolver [static] |
OpenCL solver program
Definition at line 4 of file opencl_kernels.cpp.
cl_command_queue parallel_ode::cqDefaultCommandQueue [static] |
Local storage of global command queue
Definition at line 24 of file opencl_kernels.cpp.
const int parallel_ode::DEFAULT_CL_FLAGS [static] |
ParallelFlags::PARALLEL_ALIGN
| ParallelFlags::PARALLEL_REDUCE
| ParallelFlags::PARALLEL_ASYNC
| ParallelFlags::PARALLEL_RANDOMIZE
Definition at line 11 of file opencl_solver.h.
| const int parallel_ode::DEFAULT_FLAGS |
ParallelFlags::PARALLEL_ALIGN
| ParallelFlags::PARALLEL_PINNED
| ParallelFlags::PARALLEL_REDUCE
| ParallelFlags::PARALLEL_ASYNC
| ParallelFlags::PARALLEL_RANDOMIZE
Default configuration flags for the base solver.
Definition at line 37 of file parallel_solver.h.
| const int parallel_ode::DEFAULT_OPENMP_FLAGS |
Definition at line 9 of file openmp_solver.h.
const std::string parallel_ode::FILENAME = __FILE__ [static] |
This file name, as a global path
Definition at line 38 of file opencl_kernels.cpp.
const std::string parallel_ode::INC_DIR = extractDirectory( FILENAME ) + "../include/" + PROJ_NAME + "/" [static] |
The directory of includes
Definition at line 40 of file opencl_kernels.cpp.
const std::string parallel_ode::SRC_DIR = extractDirectory( FILENAME ) [static] |
The directory of this file
Definition at line 39 of file opencl_kernels.cpp.