|
OWL
OptiX7 Wrapper Library
|
#include <DeviceContext.h>
Public Types | |
| typedef std::shared_ptr< DeviceContext > | SP |
Public Member Functions | |
| DeviceContext (Context *parent, int owlID, int cudaID) | |
| std::string | getDeviceName () const |
| int | getCudaDeviceID () const |
| CUstream | getStream () const |
| void | configurePipelineOptions () |
| void | buildPrograms () |
| void | buildMissPrograms () |
| void | buildRayGenPrograms () |
| void | buildHitGroupPrograms () |
| void | destroyPrograms () |
| void | destroyMissPrograms () |
| void | destroyRayGenPrograms () |
| void | destroyHitGroupPrograms () |
| void | destroyPipeline () |
| void | buildPipeline () |
Public Attributes | |
| std::vector< OptixProgramGroup > | allActivePrograms |
| OptixDeviceContext | optixContext = nullptr |
| CUcontext | cudaContext = nullptr |
| CUstream | stream = nullptr |
| OptixPipelineCompileOptions | pipelineCompileOptions = {} |
| OptixPipelineLinkOptions | pipelineLinkOptions = {} |
| OptixModuleCompileOptions | moduleCompileOptions = {} |
| OptixPipeline | pipeline = nullptr |
| SBT | sbt = {} |
| const int | cudaDeviceID |
| const int | ID |
| Context *const | parent |
optix and cuda context for a single, specific GPU
| typedef std::shared_ptr<DeviceContext> owl::DeviceContext::SP |
| owl::DeviceContext::DeviceContext | ( | Context * | parent, |
| int | owlID, | ||
| int | cudaID | ||
| ) |
create a new device context with given context object, using given GPU "cudaID", and serving the rols at the "owlID"th GPU in that context
| void owl::DeviceContext::buildHitGroupPrograms | ( | ) |
| void owl::DeviceContext::buildMissPrograms | ( | ) |
build all optix progrmas for miss program types
| void owl::DeviceContext::buildPipeline | ( | ) |
| void owl::DeviceContext::buildPrograms | ( | ) |
| void owl::DeviceContext::buildRayGenPrograms | ( | ) |
| void owl::DeviceContext::configurePipelineOptions | ( | ) |
configures the optixPipeline link options and compile options, based on what values (motion blur on/off, multi-level instnacing, etc) are set in the context
| void owl::DeviceContext::destroyHitGroupPrograms | ( | ) |
| void owl::DeviceContext::destroyMissPrograms | ( | ) |
| void owl::DeviceContext::destroyPipeline | ( | ) |
| void owl::DeviceContext::destroyPrograms | ( | ) |
| void owl::DeviceContext::destroyRayGenPrograms | ( | ) |
| int owl::DeviceContext::getCudaDeviceID | ( | ) | const |
helper function - return cuda device ID of this device
| std::string owl::DeviceContext::getDeviceName | ( | ) | const |
helper function - return cuda name of this device
return CUDA's name string for given device
|
inline |
return the optix default stream for this device. launch params may use their own stream
| std::vector<OptixProgramGroup> owl::DeviceContext::allActivePrograms |
collects all compiled programs during 'buildPrograms', such that all active progs can then be passed to optix durign pipeline creation
| CUcontext owl::DeviceContext::cudaContext = nullptr |
| const int owl::DeviceContext::cudaDeviceID |
| const int owl::DeviceContext::ID |
linear ID (0,1,2,...) of how we number devices (i.e., 'first' device is always device 0, no matter if it runs on another physical/cuda device)
| OptixModuleCompileOptions owl::DeviceContext::moduleCompileOptions = {} |
| OptixDeviceContext owl::DeviceContext::optixContext = nullptr |
| Context* const owl::DeviceContext::parent |
the owl context that this device is in
| OptixPipeline owl::DeviceContext::pipeline = nullptr |
| OptixPipelineCompileOptions owl::DeviceContext::pipelineCompileOptions = {} |
| OptixPipelineLinkOptions owl::DeviceContext::pipelineLinkOptions = {} |
| SBT owl::DeviceContext::sbt = {} |
| CUstream owl::DeviceContext::stream = nullptr |