parallel_stepper.cpp File Reference

#include <ode/objects.h>
#include <ode/ode.h>
#include <ode/odemath.h>
#include <ode/rotation.h>
#include <ode/timer.h>
#include <ode/error.h>
#include <ode/matrix.h>
#include <ode/misc.h>
#include "objects.h"
#include "config.h"
#include "joints/joint.h"
#include "lcp.h"
#include "util.h"
#include <parallel_common.h>
#include <parallel_utils.h>
#include <parallel_stepper.h>
Include dependency graph for parallel_stepper.cpp:

Go to the source code of this file.

Classes

struct  dJointWithInfo1
struct  IndexError

Defines

#define RANDOMLY_REORDER_CONSTRAINTS   1
#define RANDOMLY_REORDER_CONSTRAINTS   1

Typedefs

typedef dReal * dRealMutablePtr
typedef const dReal * dRealPtr

Functions

static size_t AdjustArenaSizeForReserveRequirements (size_t arenareq, float rsrvfactor, unsigned rsrvminimum)
static size_t BuildIslandAndEstimateStepperMemoryRequirements (dxWorldProcessContext *context, dxWorld *world, dReal stepsize, dmemestimate_fn_t stepperestimate)
template<typename T >
void compute_Adcfm_b (int m, T sor_w, T *J, const T *iMJ, int *jb, const T *cfm, T *Adcfm, T *b)
template void compute_Adcfm_b< dReal > (int m, dReal sor_w, dRealMutablePtr J, dRealPtr iMJ, int *jb, dRealPtr cfm, dRealMutablePtr Adcfm, dRealMutablePtr b)
template<typename T >
void compute_invM_JT (int m, const T *J, T *iMJ, int *jb, dxBody *const *body, const T *invI)
template void compute_invM_JT< dReal > (int m, dRealPtr J, dRealMutablePtr iMJ, int *jb, dxBody *const *body, const dRealPtr invI)
size_t dxEstimateParallelStepMemoryRequirements (dxBody *const *body, int nb, dxJoint *const *_joint, int _nj)
void dxParallelProcessIslands (dxWorld *world, dReal stepsize, dstepper_fn_t stepper)
void dxParallelQuickStepper (dxWorldProcessContext *context, dxWorld *world, dxBody *const *body, int nb, dxJoint *const *_joint, int _nj, dReal stepsize)
bool dxReallocateParallelWorldProcessContext (dxWorld *world, dReal stepsize, dmemestimate_fn_t stepperestimate)
static size_t EstimateIslandsProcessingMemoryRequirements (dxWorld *world, size_t &sesize)
static size_t EstimateParallelSOR_LCPMemoryRequirements (int m, int n)
static dxWorldProcessContext * InternalReallocateWorldProcessContext (dxWorldProcessContext *oldcontext, size_t memreq, const dxWorldProcessMemoryManager *memmgr, float rsrvfactor, unsigned rsrvminimum)
static void Multiply1_12q1 (dReal *A, const dReal *B, const dReal *C, int q)
static void multiply_J (int m, dRealPtr J, int *jb, dRealPtr in, dRealMutablePtr out)
static void worldSolve (dxWorldProcessContext *context, const int m, const int nb, dRealMutablePtr J, int *jb, dxBody *const *body, dRealPtr invI, dRealMutablePtr lambda, dRealMutablePtr fc, dRealMutablePtr b, dRealPtr lo, dRealPtr hi, dRealPtr cfm, dRealMutablePtr iMJ, dRealMutablePtr Ad, const int *findex, const dxQuickStepParameters *qs)

Define Documentation

#define RANDOMLY_REORDER_CONSTRAINTS   1

Definition at line 375 of file parallel_stepper.cpp.

#define RANDOMLY_REORDER_CONSTRAINTS   1

Definition at line 375 of file parallel_stepper.cpp.


Typedef Documentation

typedef dReal* dRealMutablePtr

Definition at line 39 of file parallel_stepper.cpp.

typedef const dReal* dRealPtr

Definition at line 38 of file parallel_stepper.cpp.


Function Documentation

static size_t AdjustArenaSizeForReserveRequirements ( size_t  arenareq,
float  rsrvfactor,
unsigned  rsrvminimum 
) [static]

Definition at line 1107 of file parallel_stepper.cpp.

static size_t BuildIslandAndEstimateStepperMemoryRequirements ( dxWorldProcessContext *  context,
dxWorld *  world,
dReal  stepsize,
dmemestimate_fn_t  stepperestimate 
) [static]

Definition at line 954 of file parallel_stepper.cpp.

template<typename T >
void compute_Adcfm_b ( int  m,
sor_w,
T *  J,
const T *  iMJ,
int *  jb,
const T *  cfm,
T *  Adcfm,
T *  b 
) [inline]

Definition at line 114 of file parallel_stepper.cpp.

template void compute_Adcfm_b< dReal > ( int  m,
dReal  sor_w,
dRealMutablePtr  J,
dRealPtr  iMJ,
int *  jb,
dRealPtr  cfm,
dRealMutablePtr  Adcfm,
dRealMutablePtr  b 
)
template<typename T >
void compute_invM_JT ( int  m,
const T *  J,
T *  iMJ,
int *  jb,
dxBody *const *  body,
const T *  invI 
) [inline]

Definition at line 89 of file parallel_stepper.cpp.

template void compute_invM_JT< dReal > ( int  m,
dRealPtr  J,
dRealMutablePtr  iMJ,
int *  jb,
dxBody *const *  body,
const dRealPtr  invI 
)
size_t dxEstimateParallelStepMemoryRequirements ( dxBody *const *  body,
int  nb,
dxJoint *const *  _joint,
int  _nj 
)

Definition at line 886 of file parallel_stepper.cpp.

void dxParallelProcessIslands ( dxWorld *  world,
dReal  stepsize,
dstepper_fn_t  stepper 
)

Definition at line 335 of file parallel_stepper.cpp.

void dxParallelQuickStepper ( dxWorldProcessContext *  context,
dxWorld *  world,
dxBody *const *  body,
int  nb,
dxJoint *const *  _joint,
int  _nj,
dReal  stepsize 
)

Definition at line 445 of file parallel_stepper.cpp.

bool dxReallocateParallelWorldProcessContext ( dxWorld *  world,
dReal  stepsize,
dmemestimate_fn_t  stepperestimate 
)

Definition at line 1242 of file parallel_stepper.cpp.

static size_t EstimateIslandsProcessingMemoryRequirements ( dxWorld *  world,
size_t &  sesize 
) [static]

Definition at line 1092 of file parallel_stepper.cpp.

static size_t EstimateParallelSOR_LCPMemoryRequirements ( int  m,
int  n 
) [static]

Definition at line 865 of file parallel_stepper.cpp.

static dxWorldProcessContext* InternalReallocateWorldProcessContext ( dxWorldProcessContext *  oldcontext,
size_t  memreq,
const dxWorldProcessMemoryManager *  memmgr,
float  rsrvfactor,
unsigned  rsrvminimum 
) [static]

Definition at line 1115 of file parallel_stepper.cpp.

static void Multiply1_12q1 ( dReal *  A,
const dReal *  B,
const dReal *  C,
int  q 
) [static]

Definition at line 381 of file parallel_stepper.cpp.

static void multiply_J ( int  m,
dRealPtr  J,
int *  jb,
dRealPtr  in,
dRealMutablePtr  out 
) [static]

Definition at line 419 of file parallel_stepper.cpp.

static void worldSolve ( dxWorldProcessContext *  context,
const int  m,
const int  nb,
dRealMutablePtr  J,
int *  jb,
dxBody *const *  body,
dRealPtr  invI,
dRealMutablePtr  lambda,
dRealMutablePtr  fc,
dRealMutablePtr  b,
dRealPtr  lo,
dRealPtr  hi,
dRealPtr  cfm,
dRealMutablePtr  iMJ,
dRealMutablePtr  Ad,
const int *  findex,
const dxQuickStepParameters *  qs 
) [static]

Definition at line 147 of file parallel_stepper.cpp.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines


parallel_quickstep
Author(s): Jared Duke
autogenerated on Fri Jan 11 09:59:41 2013