2024 年 6 月 21 日,Khronos® 集团的 Vulkan® SC™ 工作组发布了 Vulkan SC 1.0.15 规范,这是“Vulkan Safety Critical”开放标准 API 的最新维护更新,它支持在经认证符合行业功能安全标准的系统中部署 GPU 加速的图形和计算。
这是对最新 Vulkan SC 开发的更新,包括 Vulkan SC 验证层中的重要新功能和 NVIDIA Vulkan SC 驱动程序的扩大可用性。
Vulkan SC 1.0.15 维护更新
Vulkan SC 利用主流 Vulkan 规范,使其适用于安全关键系统。Vulkan SC 1.0.15维护更新将引用的 Vulkan 版本移至 1.2.286,将 Vulkan 规范源中的最新改进和修复纳入 Vulkan SC 规范。此维护更新还批准了大量之前支持的 Vulkan SC 扩展,为实现该功能的 Vulkan 采用者提供额外的专利许可保护,并包括将许多已经支持的 EXT 扩展更新到最新的 KHR 版本。
Vulkan 规范中先前批准的许多扩展现在也在 Vulkan SC 中得到批准,其中包括:
VK_EXT_depth_clip_enable, VK_EXT_depth_range_unrestricted
VK_EXT_discard_rectangles, VK_EXT_hdr_metadata
VK_EXT_queue_family_foreign, VK_EXT_pci_bus_info
VK_EXT_ycbcr_image_arrays, VK_EXT_custom_border_color
VK_EXT_shader_stencil_export, VK_EXT_external_memory_host
VK_EXT_external_memory_dma_buf, VK_EXT_sample_locations
VK_EXT_robustness2, VK_EXT_color_write_enable
VK_EXT_shader_atomic_float
此版本包括以下已在 Vulkan 1.3 核心规范中批准的 Vulkan SC EXT 扩展:
VK_EXT_4444_formats, VK_EXT_extended_dynamic_state
VK_EXT_extended_dynamic_state2, VK_EXT_image_robustness
VK_EXT_shader_demote_to_helper_invocation
VK_EXT_subgroup_size_control, VK_EXT_texel_buffer_alignment
VK_EXT_texture_compression_astc_hdr
VK_EXT_ycbcr_2plane_444_format.
工作组还审查了 Vulkan SC 生态系统,并从规范中删除了一些尚未由任何实现提供的 EXT 扩展,并用相应的 KHR 扩展替换,以最大限度地减少 API 表面积,其中包括:
VK_KHR_calibrated_timestamps
VK_KHR_global_priority
VK_KHR_vertex_attribute_divisor.
工作组还启用了以下扩展,但并未删除 EXT 版本,因为它们用于运输实施:
VK_KHR_index_type_uint8
VK_KHR_line_rasterization
Vulkan SC 验证层 – SPIR-V 支持
随着 Vulkan SC 1.0.15 维护更新,开源 Vulkan SC 验证层也进行了重大更新——包括对 SPIR-V 相关有效使用声明的验证。
Vulkan SC 从 API 中移除了着色器模块,转而使用在运行时以 Vulkan SC 特定的管道缓存格式提供的离线编译管道缓存。这意味着着色器的 SPIR-V 代码不需要传递给实现,从而防止验证层拦截和验证 SPIR-V 的使用情况。但是,Vulkan SC 管道缓存格式确实包含一个VkPipelineCacheStageValidationIndexEntry,允许将 SPIR-V 数据嵌入到管道缓存中,从而使验证层能够访问实现的管道缓存编译器 (PCC) 可选地包含在管道缓存中的 SPIR-V。
最新版本的验证层已得到增强,可拦截管道缓存中包含的任何 SPIR-V,从而能够验证 SPIR-V 数据和依赖于 SPIR-V 代码是否可用的 API 有效使用语句。开发人员应查看其 GPU 供应商的文档,了解如何在 Vulkan SC 管道缓存中包含管道调试信息。
NVIDIA 扩大 Vulkan SC 驱动程序可用性
NVIDIA 正在扩大其 GPU 的 Vulkan SC 驱动程序可用性。从 R560 系列开始的最新 NVIDIA 通用版本驱动程序以及 NVIDIA 的Vulkan Beta驱动程序现在支持基于 x86_64 的 Windows 10/11 和 Linux 平台上的 NVIDIA GeForce RTX 和 NVIDIA RTX 产品上的 Vulkan SC 1.0。
这意味着 NVIDIA 现在在 NVIDIA GeForce RTX、NVIDIA RTX、NVIDIA DRIVE和NVIDIA Jetson平台上提供 Vulkan SC 1.0 支持。NVIDIA GeForce RTX、NVIDIA RTX 和 NVIDIA Jetson 平台上的 Vulkan SC 驱动程序主要用于开发目的(或者如果开发人员更喜欢具有更确定性运行时行为的 API),而 NVIDIA DRIVE 平台则用于安全认证的部署。
NVIDIA GeForce RTX 和 NVIDIA RTX 上的 Vulkan SC 支持使用 Direct-to-Display ( VK_KHR_display ) 功能进行显示演示。Vulkan SC 1.0.15 规范中添加了VK_NV_acquire_winrt_display扩展以支持这些驱动程序。NVIDIA DRIVE 和 NVIDIA Jetson 上的 Vulkan SC 支持通过 NvSci 互操作 ( VK_NV_external_memory_sci_buf和VK_NV_external_sci_sync2 ) 使用 OpenWFD 进行演示。
与主流 Vulkan 驱动程序不同,Vulkan SC 驱动程序不捆绑加载器,因此必须单独下载和安装 NVIDIA Vulkan SC SDK。NVIDIA Vulkan SC SDK 包括预构建的开源示例、验证层和 json生成层。
本文来自作者投稿,版权归原作者所有。如需转载,请注明出处:https://www.nxrte.com/jishu/51425.html