Khronos发布OpenCL 2.2和SPIR-V 1.2

融入市场反馈意见,最终发布OpenCL 2.2
完全开源OpenCL规范和一致性测试

2017年5月16日 – IWOCL 2017, 多伦多 – The Khronos™ Group, 一个由领先硬件和软件公司组成的开源组织,宣布即将发布最终版OpenCL™ 2.2 规范,其中融入了在测试版规范预览阶段来自开发者的业界反馈。除了发布最终版规范,Khronos还首次在GitHub上完全开源了 OpenCL 2.2 规范和一致性测试,使社群可以更深层次地参与。OpenCL 1.2、2.0和2.1版本的一致性测试已经在GitHub上发布,同时也即将发布更多开源资源。

OpenCL 2.2将开发者们期待已久的功能带到了核 – 新的 OpenCL C++ 核语言 ,这大大提高了并行编程效率。OpenCL™ 2.2和SPIR-V 1.2同时发布,这在Khronos定义的中间件语言带来了对全新的OpenCL C++核语言的全力支持。OpenCL 2.2的完成进一步补充了SYCL 2.2和OpenCL 2.2共同提高单源C++编程的效率。

“通过完成OpenCL 2.2,Khronos实现了让C++成为OpenCL标准中的高级核语言的诺言,” OpenCL工作组主席兼Khronos主席Neil Trevett讲到。“OpenCL工作组现在可以继续完成SYCL方面的工作,将单源并行C++编程的功能带到标准ISO C++,并开拓新市场和OpenCL的其他机遇 – 例如嵌入式视觉和交互。我们也在通过Khronos Vulkan API高级图形和计算集合到一个单独API。”

Khronos非常骄傲地在由多伦多大学主办和Fields Institute赞助的在加拿大多伦多举办的IWOCL 2017 大会宣布这些新功能,我们将有4个现场教学展示、19场技术演讲、一个Khronos圆桌讨论、海报宣传、demo展示、大会晚宴和社交活动。Khronos Group以及其他Khronos会员公司,也是IWOCL的主要赞助商。

OpenCL 2.2 和 SPIR-V 1.2 新规范,请浏览: www.khronos.org.

关于 OpenCL 2.2

OpenCL 2.2 定义了OpenCL C++ 核语言,作为C++14标准的静态子集。OpenCL C++包括级别、模板、lambda表示法、功能超载和很多其他架构,以通过统用和meta-编程来提高并行编程效率。

OpenCL 库功能现在可以利用C++语言在获取例如原子、迭代器、图片、实例、管线和设备队列键入类型以及地址空间功能时,提供更高安全度并降低未定义行为。管线储存是OpenCL 2.2中的一个新设备端类型,可以通过让连接大小和类型在编程时就已知,用于FPGA执行,以实现高效的设备范围内核之间的交流。

OpenCL 2.2还包括生成代码高级优化功能:应用可以在SPIR-V编辑时间提供具体化数值,一个新的询问可以检测到程序范围内的全部目标的非无效的建构函数和解构函数,还可以在程序发布时间内设置用户回放。

关于 SPIR-V 1.2

SPIR-V (Standard Portable Intermediate Representation) 标准可移植中间件表示法是首个开放标准、用于本地表示并行计算和图形的跨API中间件语言。同时还支持OpenCL C++核语言,SPIR-V 1.2 添加了在OpenCL 2.2中对运行时间关键调准参数具体化的支持,比如工作组规模。

关于 SYCL 2.2

SYCL让开发者们可以在OpenCL设备上简便地加速C++软件。SYCL应用在人工智能框架,因为它可以和单源编程类型匹配,以实现复杂的深度学习图形在加速器中的高效应用。SYCL 2.2规范中添加了OpenCL 2.2的功能。

SYCL的开源C++ 17并行STL,由Khronos主持,将使未来的C++标准支持OpenCL 2.2功能,例如共享虚拟内存、通用指示器和设备端队列。

OpenCL C++和SYCL之间现在为开发者们带来了两种获取C++的选择。对于希望将设备端核源代码和主代码分开的开发者,C++核语言是最好的选择。这是如今通过OpenCL C的方式,已经被图形软件领域的各种渲染器广泛采用。另外一种方式,通常被称作“单源”C++,是SYCL、CUDA、OpenMP和C++17 并行STL所采用的方式。通过具体化SYCL和C++核语言,Khronos为开发者们带来了最大化选择,同时校准两个规范以确保代码可以在这些免费的方式间简便地共享。

OpenCL 2.2的业界支持

“Imagination Technologies致力于帮助带动异构处理和GPU计算标准的发展。整个行业不断改进GPU计算编程模型是至关重要的,而Khronos在OpenCL 2.2和SPIR-V 1.2开发过程中不断的努力中扮演着重要的角色。随着我们的客户不断要求更高的GPU计算性能,我们最新发布的PowerVR Series8XT核也支持OpenCL 2.2,为我们的GPU提供进一步的使用案例,” Imagination Technologies高级总监 Graham Connor。

“我们非常兴奋并高兴地看到OpenCL C++核语言成为OpenCL标准的一部分,” StreamHPC公司发起人兼管理董事Vincent Hindriksen讲到,“这是很大的成就,同时也展示OpenCL不断的发展。在开发OpenCL 2.2一致性测试并帮助完成OpenCL C++规范后,我们非常期待可以开始我们第一个使用OpenCL 2.2和新核语言的项目。我的团队相信,使用OpenCL C++,而不是OpenCL C将带来更高的软件质量,降低维护工作并可以更快地进入市场。我们期待SPIR-V对编辑器生态系统带来的重大影响,以及更多的新OpenCL核语言。”

“温莎大学(The University of Windsor)一直积极地参与到OpenCL在汽车研究和异构计算领域的使用中,以及开发软件建立并测试对实现编程目标非常重要的框架。我们将继续以学术会员身份参与Khronos并非常骄傲地支持IWOCL 2017大会,” 温莎大学计算机科学部Robert Kent。

“OpenCL C++和SPIR-V,这两个对于机器学习非常重要的标准,在多伦多的这个重要的全球大会上发布了。作为一个加拿大技术新兴公司企业家,我非常骄傲地与其他行业内的领先企业共同参与到Khronos这些技术的开发中,并在多伦多的IWOCL大会和大家分享。如果你还对OpenCL不熟悉,那就有可能无法赶上技术的浪潮” YetiWare发起人AJ Guillon。

更多关于Khronos Group的信息,请浏览: Khronos.org.

关于 The Khronos Group

The Khronos Group是创建开放标准以实现并行计算、图像、时间和神经网络在各种平台和设备上的编程和加速一个行业组织。Khronos标准包括Vulkan®、OpenGL®、OpenGL® ES、OpenGL® SC、WebGL™、SPIR-V™、OpenCL™、SYCL™、OpenVX™、NNEF™、COLLADA™、OpenXR™和glTF™。Khronos的会员可以为Khronos规范的开发作出贡献,在标准公开发布之前的各阶段拥有投票权,并可以通过提前获得规范草本和一致性测试,更快地将其高端加速平台和应用产品推如市场。

###

Vulkan 是The Khronos Group注册商标。Khronos、OpenXR、DevU、SPIR、SPIR-V、SYCL、WebGL、WebCL、COLLADA、OpenKODE、OpenVG、OpenVX、EGL、glTF、OpenKCAM、StreamInput、OpenWF、OpenSL ES、NNEF 和 OpenMAX是Khronos Group Inc的商标。OpenCL是Apple Inc.的商标;OpenGL是注册商标;OpenGL ES 和 OpenGL SC的logo是Silicon Graphics International的商标,Khronos被授权使用。所有涉及的其他产品名称、商标和/或公司名称都仅用于识别并归属于各自所有者。