Khronos Group 启动 Slang Initiative,托管 NVIDIA 贡献的开源编译器

Khronos Group 宣布启动新的 Slang™ 计划。该计划将基于 15 年的研究、开发和部署经验,来监督和推进开源 Slang 着色语言和编译器。自 2017 年以来,Slang 一直得到 NVIDIA 的支持,并已在整个行业的生产项目中得到广泛采用。

Khronos Group 启动 Slang Initiative,托管 NVIDIA 贡献的开源编译器

Slang 为实时图形开发人员提供了创新功能,可补充现有的着色语言,包括模块化代码开发、可移植部署到多个目标 API 以及图形着色器中的神经计算。放在 Khronos 的多公司管理下托管,将实现并促进全行业的协作,以推动 Slang 的持续发展。

高级语言功能可提高 GPU 着色器开发的效率和可移植性。开放式治理鼓励广泛的行业合作。

Khronos® Group 是一个由互操作性标准行业领导者组成的开放联盟,该组织宣布启动新的 Slang™ 计划。该计划将基于 15 年的研究、开发和部署经验,来监督和推进开源 Slang 着色语言和编译器。自 2017 年以来,Slang 一直得到 NVIDIA 的支持,并已在整个行业的生产项目中得到广泛采用。

Slang 为实时图形开发人员提供了创新功能,可补充现有的着色语言,包括模块化代码开发、可移植部署到多个目标 API 以及图形着色器中的神经计算。放在 Khronos 的多公司管理下托管,将实现并促进全行业的协作,以推动 Slang 的持续发展。

Khronos Group 总裁兼 NVIDIA 开发者生态系统副总裁 Neil Trevett表示:

“Slang 现在是世界各地图形开发人员的重要着色语言选项,因为所有人都可以直接影响并参与其持续开发。Khronos 创新的 Slang 治理结构将开源开发敏捷性与开放标准的专利保护相结合。Slang 可供任何平台或 API 免费使用,包括 Khronos,它将在 Vulkan 生态系统中利用 Slang,同时确保 SPIR-V 能够满足 Slang 的要求。”

NVIDIA 图形和系统软件副总裁 Nicholas Haemel 表示:

“NVIDIA 将继续对 Slang 进行长期投资,Slang 旨在满足当今图形开发人员的需求,同时为神经图形革命铺平道路。借助 Khronos 对 Slang 的开放治理,图形社区可以合作推进和利用跨平台支持、可扩展图形系统、缩短编译时间和增强模块化的优势。”

促进开放的行业合作

Khronos 建立了独特的治理模式,以确保 Slang 保持开放并对开发人员做出响应。Slang 开源项目托管在 GitHub 上,并根据 Apache 2.0 获得许可,它将遵循技术开发的最佳实践,同时培养一个活跃的、自治的贡献者社区。贡献者可以影响语言设计、改进代码库和解决错误,并有机会在项目内获得更高的权利 —— 与 Khronos 成员身份无关。相关的 Slang 工作组由 Khronos 成员组成,为开源项目提供财务、后勤和营销支持,提供战略指导,同时使 Slang 工程工作保持敏捷。开源项目和工作组共同组成了 Slang 计划。

Slang 开源项目将与编译器一起制定严格的语言规范,确保开发人员的清晰度、架构一致性和向后兼容性。该规范将定期由 Slang 工作组批准,以在 Khronos 知识产权框架下提供专利许可保护。

Slang 对开发者的价值

Slang 旨在满足实时图形开发人员不断变化的需求,尤其是那些使用大型着色器代码库的开发人员。通过使用模块、接口和泛型等功能支持模块化开发,Slang 简化了着色器的创建和维护,同时显著缩短了编译时间。

目前,许多开发人员必须重写着色器代码,才能在多个目标 API 和平台上运行,或者使用复杂的转换或重新编译工具链。Slang 编译器直接支持多个后端目标,以便在不同的 API 和平台上部署可移植的代码,包括 Vulkan 的 SPIR-V、Direct3D 的 HLSL、OpenGL 的 GLSL、WebGPU 的 WGSL 和 Apple 平台的 Metal Shading Language。例如,Autodesk 在 Aurora 路径跟踪渲染器中使用 Slang来启用单源光线跟踪代码库。

对于希望逐步迁移到 Slang 现代语言功能的开发人员,Slang 编译器可以提取现有的 HLSL 和 GLSL 着色器代码库。例如,Valve 使用 Slang 编译了整个生产 Source 2 HLSL 代码库,同时仅修改了 10 行代码。Slang 支持自动微分作为一流的语言功能,使其成为将神经计算集成到图形着色器中的理想选择。Slang 可以自动生成复杂函数的前向和后向导数传播代码,从而轻松使现有渲染代码库可微分,或者通过 slangtorch 在 PyTorch 驱动的机器学习框架中使用 Slang 作为内核语言。例如,Slang 用于 Slang.D Gaussian Splatting Rasterizer,这是一个用于实时、逆向和可微分渲染的统一平台,可以编译为适用于不同平台的渲染代码。

Slang 增强了Khronos 标准生态系统

将 Slang 打造为一种现代着色语言,并由社区积极维护和塑造,极大地丰富了 Khronos 标准生态系统。Slang 旨在赋能开发人员,拓宽了可用着色语言的选择范围,以满足各种需求并推动整个行业的创新。

Slang 将提供对新 API 功能的及时访问,包括最新的 Vulkan 功能,并作为 Vulkan SDK 中的着色语言选项之一提供。作为 “ 客户端 ” 语言,Slang 还将积极促进 SPIR-V 中间表示的演进,从而造福更广泛的基于标准的编译器生态系统。

版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。

(0)

相关推荐

发表回复

登录后才能评论