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-pLaunchInfo-parameter

pLaunchInfo must be a valid pointer to a valid VkCudaLaunchInfoNV structure

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 that commandBuffer was allocated from must be externally synchronized ::