#include <DeviceContext.h>
|
std::vector< OptixProgramGroup > | allActivePrograms |
|
OptixDeviceContext | optixContext = nullptr |
|
CUcontext | cudaContext = nullptr |
|
CUstream | stream = nullptr |
|
OptixPipelineCompileOptions | pipelineCompileOptions = {} |
|
OptixPipelineLinkOptions | pipelineLinkOptions = {} |
|
OptixModuleCompileOptions | moduleCompileOptions = {} |
|
OptixPipeline | pipeline = nullptr |
|
SBT | sbt = {} |
|
OptixModule | curvesModule [2][3] |
|
OptixModule | spheresModule = nullptr |
|
Context *const | parent |
|
const int | ID |
|
const int | cudaDeviceID |
|
optix and cuda context for a single, specific GPU
◆ DeviceContext()
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
◆ buildMissPrograms()
void owl::DeviceContext::buildMissPrograms |
( |
| ) |
|
build all optix progrmas for miss program types
◆ configurePipelineOptions()
void owl::DeviceContext::configurePipelineOptions |
( |
bool |
debug = false | ) |
|
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
◆ getCudaDeviceID()
int owl::DeviceContext::getCudaDeviceID |
( |
| ) |
const |
helper function - return cuda device ID of this device
◆ getDeviceName()
std::string owl::DeviceContext::getDeviceName |
( |
| ) |
const |
helper function - return cuda name of this device
return CUDA's name string for given device
◆ getStream()
CUstream owl::DeviceContext::getStream |
( |
| ) |
const |
|
inline |
return the optix default stream for this device. launch params may use their own stream
◆ allActivePrograms
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
◆ curvesModule
OptixModule owl::DeviceContext::curvesModule[2][3] |
Initial value:= {
{ nullptr, nullptr, nullptr },
{ nullptr, nullptr, nullptr }
}
optix builtin modules for curves of degree 1, 2, and 3; only get loaded once the user calls owlEnableCurves()
◆ ID
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)
◆ parent
Context* const owl::DeviceContext::parent |
the owl context that this device is in
◆ spheresModule
OptixModule owl::DeviceContext::spheresModule = nullptr |
optix builtin module for spheres
The documentation for this struct was generated from the following files: