Khronos Releases Vulkan SC 1.0 Open Standard for Safety-Critical Accelerated Graphics and Compute
March 01, 2022
The Khronos Group, an open consortium of companies creating advanced acceleration interoperability standards, announced the public release of the royalty-free Vulkan Safety-Critical (SC) 1.0 API Specification.
The new specification is designed to enable safety-critical industries to deploy GPU graphics and compute acceleration while meeting high levels of functional safety requirements.
To streamline system-level safety-critical certifications, system components such as acceleration APIs should be streamlined as far as possible to reduce documentation and testing surface area, have deterministic behavior, and predictable execution times to simplify design and testing and implement robust and unambiguous fault handling. The new Vulkan SC 1.0 specification leverages the proven Vulkan 1.2 API to meet these requirements while delivering suitable graphics and compute acceleration. Vulkan SC also decouples software and hardware development for the ideal integration of new hardware components and software reusability across platforms and system generations.
“Vulkan 1.2’s modern design for explicit control over GPU resources was the ideal foundation for building this next-generation safety-critical GPU API that provides significantly increased performance and control over graphics and compute dataflows than was possible with OpenGL SC 2.0,” said Steve Viggers, of CoreAVI and Vulkan SC working group chair. “Vulkan SC 1.0 enables detailed design and control of device scheduling, synchronization, and resource management, making it the ideal API for developing the next generation of safety-critical graphics and compute applications targeting modern GPUs.”
Vulkan SC removes functionality from Vulkan that is not needed for safety-critical markets, increases the robustness of the specification by eliminating ignored parameters and undefined behaviors, and enables enhanced detection, reporting, and correction of run-time faults. Vulkan SC 1.0 is also aligned with the MISRA C software development guidelines for embedded code safety, security, portability, and reliability.
Vulkan SC increases determinism and reduces application size by shifting preparation of the run-time application environment either offline, or into application setup, as much as possible. This includes offline compilation of graphics pipelines that define how the GPU processes data, together with static memory allocation, that together enable detailed GPU control that can be rigorously specified and tested.
All Vulkan SC pipelines are compiled offline and can be statically analyzed to understand the dataflow and the amount of memory used by the pipeline processing. The memory needed for pipeline execution can then be reserved at device creation time as fixed size pools to minimize memory usage and avoid the need for runtime memory allocation. Similarly, Vulkan SC enables the application to statically preallocate the upper bound of application memory requirements, avoiding the need for runtime dynamic memory management.
The Vulkan SC Conformance Test Suite is also freely available in open source, and multiple vendors have officially-conformant Vulkan SC 1.0 implementations. Industry feedback on the specification is welcome at the Vulkan SC specification GitHub repository.
There is more detailed information on Vulkan SC’s design and operation in this blog.
The Vulkan SC Conformance Test Suite (CTS), built upon the robust Vulkan CTS, is an important tool for API implementers to exercise the completeness of their implementations. The rigorous CTS also assists system integrators to confirm specification compatibility while maximizing software portability and reuse across systems. Conformant Implementations are running today on CoreAVI’s VkCore SC graphics and compute drivers, and NVIDIA DRIVE and Jetson Platforms.
For more information, visit: https://www.khronos.org/registry/VulkanSC/