28 #ifndef PXTASK_PXGPUDISPATCHER_H 29 #define PXTASK_PXGPUDISPATCHER_H 41 class PxCudaContextManager;
248 #endif // PXTASK_PXGPUDISPATCHER_H Definition: GuContactBuffer.h:37
Base class of all task types.
Definition: PxTask.h:45
virtual void stopSimulation()=0
Record the end of a simulation frame.
virtual void forceFailureMode()=0
Force the PxGpuDispatcher into failure mode.
A GpuTask dispatcher.
Definition: PxGpuDispatcher.h:71
virtual void submitTask(PxTask &task)=0
Submit a GpuTask for execution.
struct CUstream_st * CUstream
Definition: PxGpuDispatcher.h:35
virtual void startGroup()=0
Record the start of a GpuTask batch submission.
virtual PxCudaContextManager * getCudaContextManager()=0
Retrieve the PxCudaContextManager associated with this PxGpuDispatcher.
#define PX_POP_PACK
Definition: PxPreprocessor.h:343
virtual void launchCopyKernel(PxGpuCopyDesc *desc, uint32_t count, CUstream stream)=0
Launch a copy kernel with arbitrary number of copy commands.
virtual ~PxGpuDispatcher()
protected destructor
Definition: PxGpuDispatcher.h:240
virtual void addCompletionPrereq(PxBaseTask &task)=0
Add a CUDA completion prerequisite dependency to a task.
virtual PxBaseTask & getPreLaunchTask()=0
Query pre launch task that runs before launching gpu kernels.
virtual void addPostLaunchDependent(PxBaseTask &dependent)=0
Adds a task that gets executed after the post launch task.
virtual void startSimulation()=0
Record the start of a simulation step.
virtual PxBaseTask & getPostLaunchTask()=0
Query post launch task that runs after the gpu is done.
virtual void addPreLaunchDependent(PxBaseTask &dependent)=0
Adds a gpu launch task that gets executed after the pre launch task.
virtual void finishGroup()=0
Record the end of a GpuTask batch submission.
virtual bool failureDetected() const =0
Returns true if a CUDA call has returned a non-recoverable error.
#define PX_PUSH_PACK_DEFAULT
Definition: PxPreprocessor.h:342
A PxBaseTask implementation with deferred execution and full dependencies.
Definition: PxTask.h:111