通用加速计算引发越来越多关注、应用范围越来越广的今天,OpenCL作为一个开放的行业标准规范占据着重要的地位,Intel、AMD、NVIDIA也都在大力支持。今天,Khronos Group组织又发布了新一代的OpenCL 2.0。
新标准致力于进一步简化跨平台、并行编程,并提供更加丰富、更简单易用的算法和编程模型,为此定义了一个增强的执行模型,以及C11、C++11内存模型、同步和原子操作的子集。
不过,OpenCL 2.0目前还处于开发阶段,只形成了一个临时草案,最终正式版预计在6个月内完成。
OpenCL 2.0主要新特性:
1、共享虚拟内存
主机和设备内核可以直接共享复杂的、包含指针的数据结构,大大提高编程灵活性,避免冗余的数据转移。
2、动态并行
设备内核可以在无需主机交互的情况下进行内核排队,实现灵活的工作调度,避免数据转移,大大减轻主处理器的负担。
3、通用内存空间
无需指定地址空间名称即可为引数(argument)编写函数,不用再为程序里的每一个地址空间名称编写函数。
4、图像
改进图像支持,包括sRGB、3D,内核可以读写同一图像。
5、C11原子操作
新的C11原子和同步操作子集,分配在同一工作组内
6、Pipes
以FIFO格式组织数据的内存对象,可以直接读写,数据结构可简单编程、高度优化。
7、安卓可安装客户端驱动扩展
安卓系统上可将OpenCL作为共享对象进行载入。
Codeplay、Intel、Imagination、Vivante等公司都在第一时间表达了对OpenCL 2.0的支持。