Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType > Class Template Reference

The base solver class. More...

#include <parallel_solver.h>

List of all members.

Classes

struct  SolverParams
 Parameters containing data from ODE. More...

Public Types

typedef CudaT * CudaTMutablePtr
typedef const CudaT * CudaTPtr
typedef PMemManager::mem_flags MemFlags
typedef ParamsT * ParamsTMutablePtr
typedef const ParamsT * ParamsTPtr
typedef MemManager< CudaT, PType > PMemManager
typedef vec4< CudaT >::Type Vec4T

Public Member Functions

virtual void initialize ()
 Overloaded initialization of the solver, including batch and reduce strategies.
 ParallelPGSSolver (int parallelFlags=DEFAULT_FLAGS, BatchType batchType=BatchTypes::DEFAULT_BATCH_TYPE, ReduceType reduceType=ReduceTypes::DEFAULT_REDUCE_TYPE, uint numBatches=ParallelOptions::MAXBATCHES)
 Constructs a generic parallel quickstep solver.
virtual void worldSolve (SolverParams *params)
 Solves the LCP given the data from ODE.
virtual ~ParallelPGSSolver ()
 Destroys the parallel quickstep solver.

Protected Member Functions

bool alignEnabled () const
bool asyncEnabled () const
bool atomicsEnabled () const
int bID (const int index, const int offset) const
void checkInit ()
int cID (const int index, const int offset) const
bool compactScalarsEnabled () const
int getBodyStride () const
int getConstraintStride () const
CopyType getCopyType () const
int getDefaultAlign () const
int getNumBatches () const
int getNumBodies () const
int getNumConstraints () const
int getReduceStride () const
bool isEnabled (const ParallelFlag flag) const
void loadBatches (int *jb)
virtual void loadBodies ()
virtual void loadConstants ()
virtual void loadConstraints ()
virtual void loadKernels ()
virtual void loadSolution ()
bool pinnedMemEnabled () const
virtual void preProcessDevice (const CudaT sorParam, const CudaT stepsize)
bool preprocessEnabled () const
virtual void preProcessHost ()
void printConfig ()
bool randomizeEnabled () const
bool reduceEnabled () const
int rID (const int index, const int offset) const
void setBodySize (int n, bool bResizeArrays=true)
void setBodyStride (int bodyStride)
void setConstraintSize (int m, bool bResizeArrays=true)
void setConstraintStride (int constraintStride)
virtual void setMemFlags (MemFlags flags)
void setReduceStride (int reduceStride)
virtual void solveAndReduce (const int offset, const int batchSize)=0
void syncDeviceToODE ()
void syncODEToDevice ()
bool wcMemEnabled () const

Protected Attributes

ParallelHDArray< CudaT, PType > adcfm
IntVector batchIndices_
IntVector batchRepetitionCount_
IntVector batchSizes_
BatchStrategybatchStrategy_
BatchType batchStrategyType_
bool bInit_
ParallelHDArray< Vec4T, PType > bodyFAcc
ParallelHDArray< Vec4T, PType > bodyFAccReduction
ParallelHDArray< int4, PType > bodyIDs
int bodyStride_
ParallelHDArray< Vec4T, PType > bodyTAcc
ParallelHDArray< Vec4T, PType > bodyTAccReduction
IntVector constraintIndices_
int constraintStride_
ParallelHDArray< int, PType > fIDs
ParallelHDArray< Vec4T, PType > i0
ParallelHDArray< Vec4T, PType > ij0
ParallelHDArray< CudaT, PType > iMass
ParallelHDArray< Vec4T, PType > j0
ParallelHDArray< CudaT, PType > lambda0
ParallelHDArray< CudaT, PType > lohiD
int m_
int n_
int numBatches_
int parallelFlags_
SolverParamsparallelParams_
ReduceStrategyreduceStrategy_
ReduceType reduceStrategyType_
int reduceStride_
IntVector reductionOffsets0_
IntVector reductionOffsets1_
ParallelHDArray< CudaT, PType > rhs

Detailed Description

template<typename CudaT, typename ParamsT, ParallelType PType>
class parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >

The base solver class.

Definition at line 51 of file parallel_solver.h.


Member Typedef Documentation

template<typename CudaT, typename ParamsT, ParallelType PType>
typedef CudaT* parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::CudaTMutablePtr

Reimplemented in parallel_ode::CudaPGSSolver< CudaT, ParamsT >.

Definition at line 57 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
typedef const CudaT* parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::CudaTPtr

Reimplemented in parallel_ode::CudaPGSSolver< CudaT, ParamsT >.

Definition at line 56 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
typedef PMemManager::mem_flags parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::MemFlags

Reimplemented in parallel_ode::CudaPGSSolver< CudaT, ParamsT >.

Definition at line 61 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
typedef ParamsT* parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::ParamsTMutablePtr

Definition at line 59 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
typedef const ParamsT* parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::ParamsTPtr

Definition at line 58 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
typedef MemManager<CudaT,PType> parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::PMemManager

Reimplemented in parallel_ode::CudaPGSSolver< CudaT, ParamsT >.

Definition at line 60 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
typedef vec4<CudaT>::Type parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::Vec4T

Constructor & Destructor Documentation

template<typename CudaT, typename ParamsT, ParallelType PType>
parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::ParallelPGSSolver ( int  parallelFlags = DEFAULT_FLAGS,
BatchType  batchType = BatchTypes::DEFAULT_BATCH_TYPE,
ReduceType  reduceType = ReduceTypes::DEFAULT_REDUCE_TYPE,
uint  numBatches = ParallelOptions::MAXBATCHES 
) [inline]

Constructs a generic parallel quickstep solver.

Parameters:
parallelFlagsFlags controller various parallel functionality
batchTypeThe type of batch strategy to be used
reduceTypeThe Type of reduction to be used
numBatchesThe maximum number of batches to be used, if any

Definition at line 71 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
virtual parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::~ParallelPGSSolver ( ) [inline, virtual]

Destroys the parallel quickstep solver.

Definition at line 96 of file parallel_solver.h.


Member Function Documentation

template<typename CudaT, typename ParamsT, ParallelType PType>
bool parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::alignEnabled ( ) const [inline, protected]

Definition at line 162 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
bool parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::asyncEnabled ( ) const [inline, protected]

Definition at line 159 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
bool parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::atomicsEnabled ( ) const [inline, protected]

Definition at line 161 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
int parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::bID ( const int  index,
const int  offset 
) const [inline, protected]

Definition at line 154 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
void parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::checkInit ( ) [inline, protected]

Definition at line 140 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
int parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::cID ( const int  index,
const int  offset 
) const [inline, protected]

Definition at line 155 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
bool parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::compactScalarsEnabled ( ) const [inline, protected]

Definition at line 166 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
int parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::getBodyStride ( ) const [inline, protected]

Definition at line 147 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
int parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::getConstraintStride ( ) const [inline, protected]

Definition at line 149 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
CopyType parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::getCopyType ( ) const [inline, protected]

Definition at line 152 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
int parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::getDefaultAlign ( ) const [inline, protected]

Definition at line 151 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
int parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::getNumBatches ( ) const [inline, protected]

Definition at line 145 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
int parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::getNumBodies ( ) const [inline, protected]

Definition at line 146 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
int parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::getNumConstraints ( ) const [inline, protected]

Definition at line 148 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
int parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::getReduceStride ( ) const [inline, protected]

Definition at line 150 of file parallel_solver.h.

template<typename CudaT , typename ParamsT , ParallelType PType>
void parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::initialize ( ) [virtual]

Overloaded initialization of the solver, including batch and reduce strategies.

Reimplemented in parallel_ode::CudaPGSSolver< CudaT, ParamsT >, and parallel_ode::OpenCLPGSSolver< T >.

Definition at line 24 of file parallel_solver.cpp.

template<typename CudaT, typename ParamsT, ParallelType PType>
bool parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::isEnabled ( const ParallelFlag  flag) const [inline, protected]

Definition at line 168 of file parallel_solver.h.

template<typename CudaT , typename ParamsT , ParallelType PType>
void parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::loadBatches ( int *  jb) [protected]

Definition at line 159 of file parallel_solver.cpp.

template<typename CudaT , typename ParamsT , ParallelType PType>
void parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::loadBodies ( ) [protected, virtual]

Definition at line 176 of file parallel_solver.cpp.

template<typename CudaT , typename ParamsT , ParallelType PType>
void parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::loadConstants ( ) [protected, virtual]

Definition at line 291 of file parallel_solver.cpp.

template<typename CudaT , typename ParamsT , ParallelType PType>
void parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::loadConstraints ( ) [protected, virtual]
template<typename CudaT , typename ParamsT , ParallelType PType>
void parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::loadKernels ( ) [protected, virtual]

Reimplemented in parallel_ode::OpenCLPGSSolver< T >.

Definition at line 297 of file parallel_solver.cpp.

template<typename CudaT , typename ParamsT , ParallelType PType>
void parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::loadSolution ( ) [protected, virtual]

Definition at line 303 of file parallel_solver.cpp.

template<typename CudaT, typename ParamsT, ParallelType PType>
bool parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::pinnedMemEnabled ( ) const [inline, protected]

Definition at line 163 of file parallel_solver.h.

template<typename CudaT, typename ParamsT , ParallelType PType>
void parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::preProcessDevice ( const CudaT  sorParam,
const CudaT  stepsize 
) [protected, virtual]

Reimplemented in parallel_ode::CudaPGSSolver< CudaT, ParamsT >.

Definition at line 111 of file parallel_solver.cpp.

template<typename CudaT, typename ParamsT, ParallelType PType>
bool parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::preprocessEnabled ( ) const [inline, protected]

Definition at line 158 of file parallel_solver.h.

template<typename CudaT , typename ParamsT , ParallelType PType>
void parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::preProcessHost ( ) [protected, virtual]

Definition at line 78 of file parallel_solver.cpp.

template<typename CudaT , typename ParamsT , ParallelType PType>
void parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::printConfig ( ) [protected]

Definition at line 417 of file parallel_solver.cpp.

template<typename CudaT, typename ParamsT, ParallelType PType>
bool parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::randomizeEnabled ( ) const [inline, protected]

Definition at line 160 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
bool parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::reduceEnabled ( ) const [inline, protected]

Definition at line 165 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
int parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::rID ( const int  index,
const int  offset 
) const [inline, protected]

Definition at line 156 of file parallel_solver.h.

template<typename CudaT , typename ParamsT , ParallelType PType>
void parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::setBodySize ( int  n,
bool  bResizeArrays = true 
) [protected]

Definition at line 336 of file parallel_solver.cpp.

template<typename CudaT, typename ParamsT, ParallelType PType>
void parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::setBodyStride ( int  bodyStride) [inline, protected]

Definition at line 141 of file parallel_solver.h.

template<typename CudaT , typename ParamsT , ParallelType PType>
void parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::setConstraintSize ( int  m,
bool  bResizeArrays = true 
) [protected]

Definition at line 363 of file parallel_solver.cpp.

template<typename CudaT, typename ParamsT, ParallelType PType>
void parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::setConstraintStride ( int  constraintStride) [inline, protected]

Definition at line 142 of file parallel_solver.h.

template<typename CudaT , typename ParamsT , ParallelType PType>
void parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::setMemFlags ( MemFlags  flags) [protected, virtual]

Definition at line 398 of file parallel_solver.cpp.

template<typename CudaT, typename ParamsT, ParallelType PType>
void parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::setReduceStride ( int  reduceStride) [inline, protected]

Definition at line 143 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
virtual void parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::solveAndReduce ( const int  offset,
const int  batchSize 
) [protected, pure virtual]
template<typename CudaT , typename ParamsT , ParallelType PType>
void parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::syncDeviceToODE ( ) [protected]

Definition at line 142 of file parallel_solver.cpp.

template<typename CudaT , typename ParamsT , ParallelType PType>
void parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::syncODEToDevice ( ) [protected]

Definition at line 117 of file parallel_solver.cpp.

template<typename CudaT, typename ParamsT, ParallelType PType>
bool parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::wcMemEnabled ( ) const [inline, protected]

Definition at line 164 of file parallel_solver.h.

template<typename CudaT , typename ParamsT , ParallelType PType>
void parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::worldSolve ( SolverParams params) [virtual]

Solves the LCP given the data from ODE.

Parameters:
paramsContaints all pointers to data from ODE data structures necessary for the solve

Definition at line 38 of file parallel_solver.cpp.


Member Data Documentation

template<typename CudaT, typename ParamsT, ParallelType PType>
ParallelHDArray<CudaT,PType> parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::adcfm [protected]

Host/Device array containing the computd Adcfm

Definition at line 205 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
IntVector parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::batchIndices_ [protected]

Per Batch: The starting index of each batch in the global constraint array

Definition at line 186 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
IntVector parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::batchRepetitionCount_ [protected]

Per Batch: The maximum number of times a body is repeated for each batch

Definition at line 185 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
IntVector parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::batchSizes_ [protected]

Per Batch: The size of each batch

Definition at line 187 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
BatchStrategy* parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::batchStrategy_ [protected]

The actual strategy type implementation

Definition at line 178 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
BatchType parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::batchStrategyType_ [protected]

The type of batching to use

Definition at line 177 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
bool parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::bInit_ [protected]

Flag indiciating whether the solver has been explicitly initialized

Definition at line 200 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
ParallelHDArray<Vec4T,PType> parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::bodyFAcc [protected]

Host/Device array containing the final body linear accelaration

Definition at line 214 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
ParallelHDArray<Vec4T,PType> parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::bodyFAccReduction [protected]

Host/Device array containing the reduction buffers for linear accelaration

Definition at line 216 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
ParallelHDArray<int4,PType> parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::bodyIDs [protected]

Host/Device array containing both body IDs and body reduction IDs

Definition at line 208 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
int parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::bodyStride_ [protected]

The aligned number of bodies

Definition at line 196 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
ParallelHDArray<Vec4T,PType> parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::bodyTAcc [protected]

Host/Device array containing the final body rotational accelaration

Definition at line 215 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
ParallelHDArray<Vec4T,PType> parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::bodyTAccReduction [protected]

Host/Device array containing the reduction buffers for rotation acceleration

Definition at line 217 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
IntVector parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::constraintIndices_ [protected]

Per Constraint: Contains the global reorded constraint indices

Definition at line 182 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
int parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::constraintStride_ [protected]

The aligned number of constraints

Definition at line 194 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
ParallelHDArray<int,PType> parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::fIDs [protected]

Host/Device array containg the force IDs

Definition at line 209 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
ParallelHDArray<Vec4T,PType> parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::i0 [protected]

Host/Device array containing the inertia, n * 3

Definition at line 212 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
ParallelHDArray<Vec4T,PType> parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::ij0 [protected]

Host/Device array containg data for ij, m * 4

Definition at line 203 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
ParallelHDArray<CudaT,PType> parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::iMass [protected]

Host/Device array containing the inverse of the body mass

Definition at line 211 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
ParallelHDArray<Vec4T,PType> parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::j0 [protected]

Host/Device array containg data for j, m * 4

Definition at line 202 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
ParallelHDArray<CudaT,PType> parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::lambda0 [protected]

Host/Device array containing the solution

Definition at line 204 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
ParallelHDArray<CudaT,PType> parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::lohiD [protected]

Host/Device array containg both lo/hi constraints,

Definition at line 207 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
int parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::m_ [protected]

The number of constraints

Definition at line 193 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
int parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::n_ [protected]

The number of bodies

Definition at line 195 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
int parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::numBatches_ [protected]

The (max) number of batches

Definition at line 191 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
int parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::parallelFlags_ [protected]

Flags that govern the behavior of the solver, e.g. atomics,alignment, etc...

Definition at line 174 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
SolverParams* parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::parallelParams_ [protected]

Parameter struct that contains the data from ODE

Definition at line 175 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
ReduceStrategy* parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::reduceStrategy_ [protected]

The actual reduction type implemention

Definition at line 180 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
ReduceType parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::reduceStrategyType_ [protected]

The type of reduction to use

Definition at line 179 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
int parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::reduceStride_ [protected]

The aligned number of reduction entries

Definition at line 198 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
IntVector parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::reductionOffsets0_ [protected]

Per Constraint: Specifies how many times a body0 is repeated in a given batch

Definition at line 183 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
IntVector parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::reductionOffsets1_ [protected]

Per Constraint: Specifies how many times a body1 is repeated in a given batch

Definition at line 184 of file parallel_solver.h.

template<typename CudaT, typename ParamsT, ParallelType PType>
ParallelHDArray<CudaT,PType> parallel_ode::ParallelPGSSolver< CudaT, ParamsT, PType >::rhs [protected]

Host/Device array containing the rhs

Definition at line 206 of file parallel_solver.h.


The documentation for this class was generated from the following files:


parallel_quickstep
Author(s): Jared Duke
autogenerated on Wed Apr 23 2014 10:23:51