【导语在 OpenCL 3.0 临时版本发布六年后Khronos Group 正式发布 OpenCL 3.1将成熟功能整合到核心规范在性能、开发效率等方面带来诸多提升且相关扩展功能也即将推出。】强制集成 SPIR-V消除工具采用障碍OpenCL 3.1 将之前作为扩展或可选功能实现的成熟功能整合到核心规范中所有符合标准的实现都必须支持 SPIR-V 内核。SPIR-V 由多种开源编译器生成除增强源代码语言灵活性外还能保护内核知识产权、缩短应用程序启动时间并实现提前特化。OpenCL 3.1 还要求支持 SPIR-V 查询扩展简化新 SPIR-V 功能的采用。OpenCL 工作组主席 Neil Trevett 称强制集成 SPIR-V 是最具深远意义的改变消除了工具完全采用 OpenCL 作为运行时环境的最后一个障碍。关键特性成核心规范要求高性能计算和 AI 内核的几个关键特性成为 OpenCL 3.1 核心规范的强制性要求。Subgroups 是优化归约、扫描和矩阵核的基本构建模块整数点积和扩展位运算映射到现代芯片专用硬件指令是低精度算术常用构建模块针对建议的本地工作组大小的新查询提高性能可预测性标准的设备 UUID 查询对多设备系统和外部内存共享场景至关重要。提升日常开发效率的改进OpenCL 3.1 包含多项提升日常开发效率的改进。开发者无需依赖扩展即可使用新语言特性内核代码更简洁、易移植OpenCL C 的 printf 函数实现支持新的长度修饰符弥合与标准 C 的移植性差距CL_DEVICE_HOST_UNIFIED_MEMORY 语义明确可用于选择内存分配策略可将本地内存内核参数设为零无需单独代码路径事件状态为 CL_COMPLETE 即为同步点使事件驱动同步更简单安全内存模型的“inclusive scopes”规则放宽更细粒度作用域可满足粗粒度同步需求。未来扩展与探索方向目前已有多个厂商正在开发对 OpenCL 3.1 的支持还有开源实现方案。公告提到针对低开销可重放工作负载的命令缓冲区、统一共享内存的改进、协作矩阵运算以及适用于低精度格式的全新 AI 数据类型等扩展功能即将推出。此外工作组还在积极探索 OpenCL 在更高级别编程模型、安全关键型市场以及新兴设备类别中的作用。编辑观点OpenCL 3.1 的发布是异构计算领域的重要进展其功能整合与改进将提升性能和开发效率相关扩展和探索方向也为未来发展带来更多可能。