Function Prototype
vkCmdCudaLaunchKernelNV
Dispatch compute work items
primary / secondary
both
graphics / compute
action
To record a CUDA kernel launch, call:
void vkCmdCudaLaunchKernelNV(
VkCommandBuffer commandBuffer,
const VkCudaLaunchInfoNV* pLaunchInfo);
commandBuffer
is the command buffer into which the command will be recorded.pLaunchInfo
is a pointer to a VkCudaLaunchInfoNV structure in which the grid (similar to workgroup) dimension, function handle and related arguments are defined.
When the command is executed, a global workgroup consisting of
gridDimX
× gridDimY
× gridDimZ
local
workgroups is assembled.
Valid Usage (Implicit)
VUID-vkCmdCudaLaunchKernelNV-commandBuffer-parameter
commandBuffer
must be a valid VkCommandBuffer handle
VUID-vkCmdCudaLaunchKernelNV-pLaunchInfo-parameter
pLaunchInfo
must be a valid pointer to a valid VkCudaLaunchInfoNV structure
VUID-vkCmdCudaLaunchKernelNV-commandBuffer-recording
commandBuffer
must be in the recording state
VUID-vkCmdCudaLaunchKernelNV-commandBuffer-cmdpool
The VkCommandPool
that commandBuffer
was allocated from must support graphics, or compute operations
VUID-vkCmdCudaLaunchKernelNV-videocoding
This command must only be called outside of a video coding scope
Host Synchronization
- Host access to the
VkCommandPool
thatcommandBuffer
was allocated from must be externally synchronized ::