Function Prototype

vkCmdCudaLaunchKernelNV

Dispatch compute work items

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 VK_QUEUE_COMPUTE_BIT, or VK_QUEUE_GRAPHICS_BIT operations

VUID-vkCmdCudaLaunchKernelNV-suspended

This command must not be called between suspended render pass instances

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