Vulkan 1.3.269 Released With New Extension For Launching CUDA Kernels
Vulkan 1.3.269 released this morning with new extensions from Arm and NVIDIA.
Besides the usual documentation churn of fixes and clarifications, this week's Vulkan 1.3.269 release brings two new extensions: VK_ARM_scheduling_controls and VK_NV_cuda_kernel_launch.
While there's already been work done by NVIDIA for improving the Vulkan and CUDA API interoperability, today's Vulkan 1.3.269 release brings the VK_NV_cuda_kernel_launch extension for being able to launch CUDA kernels from within the Vulkan API context.
The new VK_NV_cuda_kernel_launch documentation explains:
The other new extension added is VK_ARM_scheduling_controls, which is a collection of controls to allow more adjustments around the scheduling behavior on Arm Mali GPUs.
More details on today's Vulkan 1.3.269 spec update via GitHub.
Besides the usual documentation churn of fixes and clarifications, this week's Vulkan 1.3.269 release brings two new extensions: VK_ARM_scheduling_controls and VK_NV_cuda_kernel_launch.
While there's already been work done by NVIDIA for improving the Vulkan and CUDA API interoperability, today's Vulkan 1.3.269 release brings the VK_NV_cuda_kernel_launch extension for being able to launch CUDA kernels from within the Vulkan API context.
The new VK_NV_cuda_kernel_launch documentation explains:
"Interoperability between APIs can sometimes create additional overhead depending on the platform used. This extension targets deployment of existing CUDA kernels via Vulkan, with a way to directly upload PTX kernels and dispatch the kernels from Vulkan's command buffer without the need to use interoperability between the Vulkan and CUDA contexts. However, we do encourage actual development using the native CUDA runtime for the purpose of debugging and profiling.
The application will first have to create a CUDA module using vkCreateCudaModuleNV then create the CUDA function entry point with
vkCreateCudaFunctionNV.
Then in order to dispatch this function, the application will create a command buffer where it will launch the kernel with vkCmdCudaLaunchKernelNV."
The other new extension added is VK_ARM_scheduling_controls, which is a collection of controls to allow more adjustments around the scheduling behavior on Arm Mali GPUs.
More details on today's Vulkan 1.3.269 spec update via GitHub.
1 Comment