holoscan::GPUResidentDeck
holoscan::GPUResidentDeck
GPU-resident deck is the CPU-side software component that is responsible for communication with the asynchronously running GPU-resident CUDA workload.
Constructors
GPUResidentDeck
Destructor
~GPUResidentDeck
Methods
launch_cuda_graph
This function launches an executable CUDA graph asynchronously.
Returns: std::future<void> A future that will be set when the CUDA graph has finished executing.
Parameters
The executable CUDA graph to launch asynchronously.
data_ready_device_address
result_ready_device_address
tear_down_device_address
timeout_ms
Sets the timeout for the GPU-resident CUDA graph execution.
If timeout is zero, then the asynchronous execution will wait until an external tear down is triggered.
Parameters
The timeout in milliseconds.
result_ready
Indicates whether the result of a single iteration of the GPU-resident CUDA graph is ready or not.
Returns: true if the result is ready, false otherwise.
tear_down
Sends a tear down signal to the GPU-resident CUDA graph.
The timeout has to be set to zero for this to work for now. In the future, we will support ignoring the timeout when tear down is triggered.
set_data_ready
This function informs GPU-resident CUDA graph that the data is ready for the main workload.
is_launched
Indicates whether the GPU-resident CUDA graph has been launched.
Returns: true if the CUDA graph has been launched, false otherwise.