发布PoCL 3.1,独立实现OpenCL标准

PoCL 3.1项目(便携式计算语言OpenCL)发布,该项目开发了独立于图形加速器制造商的OpenCL标准的实现,并允许使用各种后端在不同类型的图形和中央处理器上执行OpenCL内核。 该项目代码是根据 MIT 许可证分发的。 支持 X86_64、MIPS32、ARM v7、AMD HSA APU、NVIDIA GPU 以及具有 VLIW 架构的各种专用 ASIP(特定应用指令集处理器)和 TTA(传输触发架构)处理器平台上的工作。

OpenCL内核编译器的实现是基于LLVM构建的,并且使用Clang作为OpenCL C的前端。 为了确保适当的可移植性和性能,OpenCL 内核编译器可以生成可以使用各种硬件资源并行执行代码的组合函数,例如 VLIW、超标量、SIMD、SIMT、多核和多线程。 支持 ICD 驱动程序(可安装客户端驱动程序)。 有后端支持通过CPU、ASIP(TCE/TTA)、基于HSA架构的GPU和NVIDIA GPU(通过libcuda)进行操作。

在新版本中:

  • 添加了对 Clang/LLVM 15.0 的支持。
  • 显着改进了对 CPU 和 CUDA 驱动程序的 SPIR-V 着色器中间表示支持。
  • 不支持在线编译的专用硬件 (CL_DEVICE_TYPE_ACCELERATOR) 和自定义设备 (CL_DEVICE_TYPE_CUSTOM) 的驱动程序已进行了重大重新设计。 accel 和 ttasim 驱动程序已合并到新的 AlmaIF 驱动程序中。
  • Vulkan 图形 API 驱动程序的开发工作仍在继续。
  • 提出了 cl_khr_command_buffer 扩展的基本实现,它允许您编写一系列 OpenCL 命令以便在一次调用中执行。

来源: opennet.ru

添加评论