Khronos发布SPIR 1.2规范 实现OpenCL设备编程可移植编码

异构计算的开放、跨平台中间件表示法标准,实现各种并行结构的编码器创新

2014年1月21日 - HiPEAC 2014大会, 维也纳 – The Khronos™ Group 今天宣布通过并公开发布SPIR™ 1.2规范,为OpenCL™ 1.2设备编程提供非源编码和二进制文件水平移植。SPIR(标准可移植中间件表示法)是业界第一个基于LLVM IR用于可移植异构并行计算的开放、跨平台中间件表示法标准。SPIR帮助开发者避免敏感核资源泄露并实现语言前端的多样化,让设定除OpenGL C以外的OpenCL平台和设备目标变得更加简易。更多关于SPIR规范和注册表的信息,请浏览http://www.khronos.org/registry/spir

在开发SPIR之前,用于异构系统并行加速的新工具和语言需要具体明确的知识为每个厂商独特的硬件结构创建编译器后端。SPIR标准使厂商可以在他们的硬件上接受并加速SPIR二进制文件,解放更高水平语言,以在不同平台上创新,包括分立加速板、芯片系统、图像处理器和FPGA。

借助LLVM和OpenCL的实力,SPIR为可移植并行编程实现了丰富的编译器中间件生态系统。SPIR是LLVM 3.2 IR的具体化版本,同时也可以编码针对OpenCL的语义。cl_khr_spir标准的OpenCL 1.2和2.0拓展定义了如何将一个SPIR实例载入到OpenCL运行时间。SPIR的开发已经在多个厂商的OpenCL执行上进行验证,同时我们也得到了来自Khronos和LLVM以及Clang社群的相互协助支持。

除了SPIR规范,Khronos也在筹划未来开源软件元素,具体信息可以到Github浏览,和LLVM和Clang相同许可文件下:

  • 用于从OpenCL C 1.2版本设备程序生成SPIR的Clang3.2修改版;
  • 以LLVM形式编写的SPIR模块验证器;
  • 包括所有SPIR1.2规范中定义值定义的header文件。

更多具体信息和资源,请浏览https://github.com/KhronosGroup.

随着SPIR 1.2 的发布和软件工具的推出,Khronos Group欢迎各类计算和图像堆栈的开发者们来评价SPIR在各种厂商间的可移植性和在不同端的创新:

  • 前端: 新语言前端和编程抽象,使异构并行编程可以通过SPIR对OpenCL后端确定制作质量;
  • 后端:基于多核、矢量、VLIW或者其他技术的新目标平台可以再用制作之类语言前端和缩写;
  • 工具:以SPIR形式的高级编程分析和程序优化。

例如,OpenACC和C++ AMP的开发者都可以说他们将使用SPIR进行不同厂商的优化后端。

业界支持
“AMD非常兴奋地了解到Khronos Group最终完成了SPIR 1.2规范,推动业界的异构计算发展,我们期待SPIR 1.2可以帮助实现更多编程语言利用图像硬件的巨大计算性能,”AMD HSA的MD兼HSA应用工程高级总监Gregory Stoner讲到,“SPIR 1.2强调了很多开发者所需要的新功能,包括在二进制文件表示法中使用OpenCL核”。

“我期待SPIR在异构并行系统方面开拓更多新研发领域”,布里斯托尔大学微电子研发小组负责人Simon McIntosh-Smith讲到,“像这个的可移植中间件表示法将实现更多令人兴奋的软件工具和并行语言的开发,并将大大加速下一代并行结构的采用”。

“SPIR将会成为异构计算创新的重要推动者。在SPIR之前,为当今强大和高效的异构系统加速创建一个新工具或者语言需要深入的知识信息,并了解不同硬件厂商的结构”,Codeplay的CEO Andrew Richards讲到,“现在,通过SPIR,作为一个开放跨平台标准,我们可以在各种硬件结构上进行更多创新。这是异构计算的全新时代的重大消息,我非常赞赏工作组为这一跨厂商标准所做的工作”。

“我们非常兴奋地看到SPIR公开发布,同时我们相信,通过开发更多的便捷和可移植跨硬件平台的应用,这对OpenCL的采用带来很大帮助。”英特尔视觉和并行计算部们副总裁兼总经理Jonathan Khazam讲到“SPIR和OpenCL很好地利用了GPU计算,为更多不同计算设备带来新体验,从电话到平板电脑到PC”。

关于Khronos Group
Khronos Group是一个行业组织,致力于创建开放标准以实现在各种平台和设备上并行计算、图形图像、视觉、传感处理和动态媒体的编程和加速。Khronos标准包括OpenGL®, OpenGL® ES, WebGL™, OpenCL™, WebCL™, OpenVX™, OpenMAX™, OpenVG™, OpenSL ES™, StreamInput™ 和 COLLADA™。所有Khronos会员可以为Khronos规范的创建做出贡献,并在公开发布前的每个阶段拥有投票权,同时通过提前获得规范草本和符合性测试可以加速其高端媒体平台和应用程序的开发。更多信息,欢迎浏览www.khronos.org

###

Khronos, 开发者大学(DevU), StreamInput, WebGL, WebCL, COLLADA, OpenKODE, OpenVG, OpenVX, OpenSL ES,OpenMAX和gITF以及SPIR是属于Khronos Group Inc的商标。ASTC是属于ARM Holdings PLC的商标,OpenCL是属于Apple Inc.的商标,OpenGL是已注册商标、Silicon Graphics International在Khronos授权下可以使用OpenGL ES和OpenGL SC标识和商标。所有其他的产品名称、商标和/或公司名称仅用于识别使用,并属于各自所有者。