OWL
OptiX7 Wrapper Library
owl::LaunchParams::DeviceData Struct Reference

#include <LaunchParams.h>

Inheritance diagram for owl::LaunchParams::DeviceData:

Public Member Functions

 DeviceData (const DeviceContext::SP &device, size_t dataSize)
 

Public Attributes

OptixShaderBindingTable sbt = {}
 
const size_t dataSize
 
std::vector< uint8_t > hostMemory
 
DeviceMemory deviceMemory
 
cudaStream_t stream = nullptr
 

Detailed Description

device-specific data for these lauch params - each instance needs its own host- and device-side memory to store the parameter values (to avoid messing with other launches if and when we use multiple async launches in parallel!)

Constructor & Destructor Documentation

◆ DeviceData()

owl::LaunchParams::DeviceData::DeviceData ( const DeviceContext::SP device,
size_t  dataSize 
)

constructor, which allocs all the device-side data

Member Data Documentation

◆ dataSize

const size_t owl::LaunchParams::DeviceData::dataSize

◆ deviceMemory

DeviceMemory owl::LaunchParams::DeviceData::deviceMemory

the cuda device memory we copy the launch params to

◆ hostMemory

std::vector<uint8_t> owl::LaunchParams::DeviceData::hostMemory

host-size memory for the launch paramters - we have a host-side copy, too, so we can leave the launch2D call without having to first wait for the cudaMemcpy to complete

◆ sbt

OptixShaderBindingTable owl::LaunchParams::DeviceData::sbt = {}

◆ stream

cudaStream_t owl::LaunchParams::DeviceData::stream = nullptr

a cuda stream we can use for the async upload and the following async launch


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