Khronos releases standard for safety-critical accelerated graphics
The Khronos® Group, an open consortium of industry-leading companies creating advanced acceleration interoperability standards, announced the public release of the royalty-free Vulkan® Safety-Critical (SC) 1.0 API Specification to enable safety-critical industries to deploy state-of-the-art GPU graphics and compute acceleration while meeting the highest levels of functional safety requirements. 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.
Need for safety-critical Acceleration APIs
Demand for advanced GPU-accelerated graphics and compute is growing in a wide range of industries where safety is paramount such as automotive, autonomy, avionics, medical, industrial, and energy. Where a compute or display system failure would pose a significant safety risk it is critical that systems meet safety-critical standards such as RTCA DO-178C Level A / EASA ED-12C Level A (avionics), ISO 26262 ASIL D (automotive), IEC 61508 (industrial), and IEC 62304 (Medical).
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 state-of-the-art graphics and compute acceleration. Vulkan SC also decouples software and hardware development for easier 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 Architecture
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.
There is more detailed information on Vulkan SC’s design and operation in this blog.
Vulkan SC Conformance Test Suite
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.
Arm: “Functional safety is paramount for any autonomous system deployed in vehicles, robots, factories and beyond,” said Tom Conway, senior director of product management, Automotive and IoT Line of Business, Arm. “Through our partnership with CoreAVI and The Khronos Group, we’re addressing the complex requirements of autonomous use cases using Arm’s first high-performance, safety-capable GPU, Mali-G78AE, and ISO26262-certified Vulkan SC drivers, Mali-G78AE VKCore. The release of Vulkan SC 1.0 marks an important milestone in enabling developers to leverage the full capabilities of safety-capable Mali GPUs and create robust code for safety-critical use cases.
CoreAVI: "CoreAVI is excited that our engineers have been an integral part of the creation of the new Vulkan SC API open industry standard," said Damian Fozard, CEO of CoreAVI. "We believe this technology comes at the perfect time in the evolution of safety-critical systems and leads the way for the future of the new autonomous world."
Codeplay: '“Artificial intelligence is being brought into every aspect of our lives and in some cases safety is essential, such as for self-driving cars. At Codeplay, we believe that the future of technology should be built on open industry standards and that safety must be taken very seriously. That’s why we are leading members of the SYCL industry standard that is being used for the next generation of supercomputers and why we are also interested in using Vulkan SC compute capabilities with SYCL to support safe software development for the innovations of tomorrow," said Andrew Richards, CEO, Codeplay.
Imagination Technologies: “At Imagination, we are focused on delivering differentiated safety solutions, covering both GPU HW and DDK, to leading automotive manufacturers and Tier 1s,” said Janos Lakatos, Director of Software Engineering - DDK safety-critical at Imagination Technologies. “As a long-standing advocate of Khronos safety APIs we were proud to be one of the first supporters of OpenGL SC 2.0. We are committed to delivering best-in-class safety drivers, working closely with Khronos on the definition of Vulkan SC for next-generation safety-critical use cases in automotive and beyond.”
Mobica: “Mobica is delighted to have played a key role in the development of the Vulkan® Safety-Critical (SC) 1.0 Specification and its conformance testing capabilities” said Gary Butters, CRO of Mobica. He continued “We are excited to see how this royalty-free API will benefit safety critical industries from the advanced GPU graphics now available.”
NVIDIA: “Vulkan SC will broaden the adoption of GPU acceleration in safety-critical systems and real-time applications. Vulkan SC 1.0 is a significant milestone and NVIDIA is proud to have participated in its design at Khronos,” said Kevin Flory, vice president of automotive software, NVIDIA. “We have conformant Vulkan SC 1.0 running today on our DRIVE and Jetson platforms, which was critical to proving the API’s architecture, and we will be rolling out drivers to our developers during 2022.”
Vulkan is an open, royalty-free API for high-efficiency, cross-platform access to modern GPUs, with widespread adoption in leading engines, cutting-edge games, and demanding applications. Vulkan is supported in a diverse range of devices from Windows and Linux PCs, consoles, and the cloud, to mobile phones and embedded platforms.