OpenCL 3.0的最终规范已经发布

几个月前,我们分享了 在博客上的新闻 通过以下方式发布OpenCL 3.0的开发版本 赫罗诺斯关注 (负责OpenGL,Vulkan和OpenCL系列的规范开发)。

直到最近 最终的OpenCL 3.0规范版本已发布定义了API和C语言扩展,以使用多核CPU,GPU,FPGA,DSP和其他专用芯片(从超级计算机和云服务器中使用的那些芯片到移动设备和集成技术中可以找到的芯片)来组织多平台并行计算。

同时,发布了一个开源的OpenCL SDK 带有工具,示例,文档,头文件,C ++和C库的链接,用于开发与OpenCL 3.0兼容的应用程序。

还介绍了基于Clang编译器的OpenCL 3.0的初始实现, 目前处于同行评审阶段,以包含在主要的LLVM软件包中。 IBM,NVIDIA,Intel,AMD,Apple,ARM,Electronic Arts,Qualcomm,Texas Instruments和Toshiba等公司为该标准做出了贡献。

今天,Khronos®OpenCL™工作组很高兴地宣布已发布最终的OpenCL 3.0规范,包括新的统一OpenCL C 3.0语言规范,以及早期的Khronos OpenCL SDK初始版本,使开发人员能够快速起步。使用OpenCL加快速度。

OpenCL 3.0的主要功能

现在的OpenCL 3.0 API 涵盖所有版​​本的OpenCL (1.2,2.x), 没有提供单独的规格 每个版本。

OpenCL 3.0通过集成将以选件形式重叠的其他规范而提供扩展核心功能的能力,而不会阻塞OpenCL 1.2 / 2.X的整体性质。

仅符合的功能 宣布OpenCL 1.2为强制性,以及建议中的所有功能 OpenCL 2.x规范称为可选.

这种方法将简化与OpenCL 3.0兼容的专用实现的创建,并扩大可以使用OpenCL 3.0的设备范围。

例如: 制造商可以实现对OpenCL 3.0的支持,而无需实现特定的OpenCL 2.x功能。 为了访问可选的语言功能,测试请求系统已添加到OpenCL 3.0中,以评估对单个API元素以及特殊宏的支持。

通过与先前发布的规范进行统一,可以轻松地将应用程序转换为OpenCL 3.0。 OpenCL 1.2应用程序将能够在支持OpenCL 3.0的设备上运行,而无需进行修改。

应用 OpenCL 2.x也不需要更改代码, 但是如果OpenCL 3.0环境提供了必要的功能(为了将来的可移植性,建议OpenCL 2.x应用程序添加测试查询以评估与所使用的OpenCL 2.x功能的兼容性)。

使用OpenCL实施的驱动程序开发人员可以通过仅添加某些API调用的请求处理并随着时间的推移逐渐增加功能来轻松地将其产品升级到OpenCL 3.0。

OpenCL 3.0规范已与环境,扩展名和规范保持一致 通用中间体S的被动红外,也可在Vulkan API中使用。 Open SP 1.3中包含对SPIR-V 3.0规范的支持,作为一项可选功能。 通过使用针对计算核心的SPIR-V中间表示,添加了对子组操作的支持。

除此之外 增加了对扩展的支持,以执行DMA操作 在类似DSP的DMA芯片上支持异步。

异步DMA使得可以使用DMA事务在正在进行的计算或其他数据传输的同时,在全局内存和本地内存之间异步传输数据。

并行编程扩展的规范 语言 C已更新至版本3.0 为支持C ++的OpenCL语言扩展而停止的开发,转而支持“面向OpenCL的C ++”项目。

为了通过Vulkan API转换OpenCL,提出了clspv编译器, 它将OpenCL内核转换为Vulkan SPIR-V表示形式和clvk层,以确保OpenCL API在Vulkan之上运行。

数据来源: https://www.khronos.org/


成为第一个发表评论

发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责资料:AB Internet Networks 2008 SL
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。