Vulkan SC
Vulkan SC is a streamlined, deterministic, robust API based on Vulkan that enables GPU-accelerated graphics and computation to be deployed in safety-critical systems that are certified to meet industry functional safety standards.
Vulkan SC is integrated into NVIDIA’s production drivers for NVIDIA® GeForce®, RTX™, and Quadro® solutions on Windows and Linux; NVIDIA DriveOS™ for QNX and Linux; and the Jetson™ embedded computing platform using Linux.
Vulkan SC in Action
Vulkan SC powers the confidence view in the center console during driving and the parking visualization, enabling drivers to see what the AI sees as objects.
Siggraph Asia Birds of a Feather session
Learn more about using Vulkan SC for autonomous vehicles in the Vulkan: Foraging Ahead session:
Vulkan SC Overview
A high-level summary on why Vulkan SC was created, how it differs from Vulkan, and how its new capabilities are typically used in applications.
Vulkan SC Resources on Khronos.org
Explore Vulkan SC resources, including API reference specification, GitHub discussions, and more on the Khronos website.
Discussions and forums
Ask questions and engage with the Vulkan developer community on the forums.
Why Vulkan SC
We built Vulkan SC for our GPUs to enable all developers to create products with the following goals in mind:
Secure Real-Time Graphics
Vulkan SC eliminates GPU processing stalls due to pipeline creation and memory allocations during runtime. This is done in an offline process that then loads pipelines and objects back in memory during init time, so no allocations can stall the GPU during runtime.
Deterministic Design
Since we’ve eliminated dynamic allocation pipelines and offloaded dynamic shader compilation, the result is Vulkan SC workloads during runtime have more predictable execution. This determinism helps lead to more predictable behaviors for GPUs.
Optimized Runtime and Smaller Driver Memory Footprint
Driver Memory Footprint
Eliminating GPU stalls as well as having a smaller graphics driver memory footprint means more work can be done for compute tasks with no interference. High-efficiency and hitch-free computing is crucial for smooth operation in a safety-critical environment.
Ways to Get Started With Vulkan SC
NVIDIA provides Vulkan SC support across the NVIDIA GeForce, NVIDIA RTX, NVIDIA DRIVE®, and NVIDIA Jetson platforms. The latest general release drivers and the latest Vulkan beta drivers support Vulkan SC.
Download Vulkan SC on Desktop
- Get the latest general release drivers, starting with the R560 version, and the latest Vulkan beta drivers support Vulkan SC 1.0. Download Drivers
The Vulkan SC driver does not include the runtime or loader, so the Vulkan SC SDK must be downloaded and installed separately.
Download Vulkan SC on Jetson
Use Vulkan SC on Jetson edge AI modules. Vulkan SC drivers are included as part of the latest JetPack™ release.
The Vulkan SC SDK is included in the JetPack SDK on all Jetson modules.
Download JetPack SDK
Download Vulkan SC on NVIDIA DRIVE
Use Vulkan SC on NVIDIA DRIVE 6 and newer.
The Vulkan SC SDK is included in the DriveOS SDK. You will need a DRIVE AGX development kit to run samples.
Software Development Kit Differences
There are some differences between the level of implementation across the various platforms. Vulkan SC on the NVIDIA GeForce RTX, NVIDIA RTX, and NVIDIA Jetson platforms is not safety-certified and is primarily provided for development purposes. Please use Vulkan SC on the NVIDIA DRIVE platform or contact NVIDIA if you need a safety-certified deployment.
DriveOS (QNX Safety) | DriveOS (QNX Standard/Linux) | Jetson | Geforce and RTX | |
---|---|---|---|---|
Presentation with OpenWFD via NvSci interop ¹ | - | |||
Presentation with Direct-to-Display (VK_KHR_display) ² | - | - | - | |
Safety Certified ³ | - | - | - | |
Loader and Validation Support | - | |||
Vulkan SC 1.0 Conformant | ||||
Developer Tools |
Vulkan SC on NVIDIA GeForce RTX and NVIDIA RTX supports presentation using the Direct-to-Display (VK_KHR_display) functionality.
Certified for ASPICE and ISO 21434, QM level for ISO 26262