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

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

俄勒冈州比弗顿 – 2024 年 11 月 21 日 – 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 编译器可以提取现有的 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 中间表示的演进,从而造福更广泛的基于标准的编译器生态系统。

请大家参与

作为12月4日在东京举办的 SIGGRAPH Asia 2024会议的一部分,Khronos 将举办一场题为“Slang 和 3D 着色语言格局”的同类相聚会议,探讨 Slang 在 3D 着色语言格局中的作用,它如何补充 GLSL 和 HLSL 等语言,以及 Slang 如何实现着色器在多个平台(包括 PC、Web、云环境、移动设备和 Apple 平台)之间的可移植性。

Slang 开源项目热忱欢迎任何有兴趣的开发人员加入Slang Discord并为公共Slang GitHub 存储库做出贡献,他们可以在其中提交拉取请求、RFC、错误报告等。有关 Slang 的更多信息,请访问https://shader-slang.org/

行业对 Slang 的支持“我们很高兴看到 Slang 日趋成熟,获得行业发展势头,并在 Khronos 的领导下过渡到开放治理-这对开发者社区来说是一个重大进步。在 Adobe 的 3D & Immersive 部门,我们正在积极探索将 Slang 作为我们统一光栅化和路径跟踪渲染器的一部分,认识到它作为一种多功能、统一着色语言的潜力。凭借其富有表现力的语法和现代设计,Slang 在简化复杂的着色工作流程方面具有真正的潜力,我们对它在推进我们的渲染流程方面的潜在作用充满热情,” Adobe 3D&I 渲染总监 Francois Beaune 表示。

“我们看到 Slang 在降低代码复杂性和跨 API 维护开销方面具有巨大优势,并且能够释放未来神经图形功能的潜力。我们欢迎 Slang 在 Khronos 领导下过渡到开放的多公司治理模式,并相信这将极大地造福着色语言生态系统和整个图形行业,” Autodesk 杰出图形架构师 Henrik Edstrom表示

id Software 引擎技术总监 Billy Khan 表示:“全球格局需要一种开放的着色语言,让开发人员和研究人员能够不受限制地高效地进行图形创新。Slang 以现有语言的成就为基础,同时为我们在现代图形开发领域面临的挑战提供了新颖的解决方案。

Igalia GPU 驱动程序开发团队协调员 Samuel Iglesias 表示:“建立开放治理并标准化 Slang(一种已经可移植的多平台着色器语言)对于其在业界的广泛采用至关重要。凭借 20 多年的开源开发和标准经验,Igalia 很自豪能够通过这一合作计划贡献我们的专业知识,帮助将 Slang 确立为行业标准。

Valve 软件开发人员 Dan Ginsburg 表示:“将我们的大型 HLSL 着色器代码库与 Slang 配合使用的过程非常顺利。我们能够将 Slang 集成到 Source 2 引擎中,并将生成的 SPIR-V 投入到多个游戏(包括《反恐精英 2》和《Dota 2》)的生产中,而对着色器进行的改动很小。完成初始集成后,我们已采用 Slang 的一些高级功能,例如 BufferPointer、枚举、接口和泛型。我们非常感谢 NVIDIA 向开源社区提供 Slang,并相信 Khronos 内多家公司的持续贡献将有助于确保 Slang 拥有健康的未来。

关于 Khronos

Khronos Group 是一个开放、非盈利、会员驱动的组织,由近 200 家行业领先公司组成,致力于为 3D 图形、元宇宙、增强和虚拟现实、并行编程、视觉加速和机器学习创建先进、免版税的互操作性标准。Khronos 活动包括 3D Commerce™、ANARI™、glTF™、Kamaros™、NNEF™、OpenCL™、OpenGL®、OpenGL® ES、OpenVG™、OpenVX™、OpenXR™、Slang™、SPIR-V™、SYCL™、Vulkan® 和 WebGL™。Khronos 会员推动 Khronos 规范的开发和演进,并通过早期获取规范草案和一致性测试来加速尖端平台和应用程序的交付。

 

###

Khronos® 和 Vulkan® 是注册商标,ANARI™、WebGL™、glTF™、KTX™、NNEF™、OpenVX™、Slang™、SPIR™、SPIR-V™、SYCL™、OpenVG™、Karamos™ 和 3D Commerce™ 是 The Khronos Group Inc. 的商标。OpenXR™ 是 The Khronos Group Inc. 拥有的商标,并在中国、欧盟、日本和英国注册为商标。OpenCL™ 是 Apple Inc. 的商标,OpenGL® 是注册商标,OpenGL ES™ 和 OpenGL SC™ 徽标是 Hewlett Packard Enterprise 的商标,由 Khronos 授权使用。所有其他产品名称、商标和/或公司名称仅用于识别,属于其各自的所有者