NVIDIA Adding Experimental Vulkan Support For Executing CUDA Binaries
Today's Vulkan 1.2.178 specification update notes a rather peculiar vendor extension in the works: VK_NVX_binary_import.
NVIDIA's experimental binary import extension (VK_NVX_binary_import) is about allowing applications/games to import CuBIN binaries and execute them.
CuBIN are ELF-formatted CUDA binaries. NVIDIA's nvcc compiler can generate standalone CuBIN files with the "-cubin" argument that can then be loaded by the CUDA driver API. Or with this new extension, those CUDA binary files can be loaded via the the Vulkan extension.
Obviously this is one vendor extension for Vulkan strictly of relevance to NVIDIA usage; this effort is not about getting CUDA binaries to be translated into SPIR-V shaders / Vulkan or anything like that for non-NVIDIA CUDA usage... This is solely about allowing opaque CUDA binaries to be loaded and executed from within a Vulkan context where CUDA support is available on the system.
The full VK_NVX_binary_import extension has yet to be published but the initial XML and appendix entries were made with today's Vulkan 1.2.178 update.
NVIDIA's experimental binary import extension (VK_NVX_binary_import) is about allowing applications/games to import CuBIN binaries and execute them.
CuBIN are ELF-formatted CUDA binaries. NVIDIA's nvcc compiler can generate standalone CuBIN files with the "-cubin" argument that can then be loaded by the CUDA driver API. Or with this new extension, those CUDA binary files can be loaded via the the Vulkan extension.
Obviously this is one vendor extension for Vulkan strictly of relevance to NVIDIA usage; this effort is not about getting CUDA binaries to be translated into SPIR-V shaders / Vulkan or anything like that for non-NVIDIA CUDA usage... This is solely about allowing opaque CUDA binaries to be loaded and executed from within a Vulkan context where CUDA support is available on the system.
The full VK_NVX_binary_import extension has yet to be published but the initial XML and appendix entries were made with today's Vulkan 1.2.178 update.
57 Comments