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

PoCL 5.0项目(便携式计算语言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)进行操作。

在新版本中:

  • 已经实现了一个新的“远程”后端,旨在通过将 OpenCL 命令的处理转移到运行后台 pocld 进程的网络上的其他主机来组织分布式计算。
  • CUDA 驱动程序实现了 OpenCL 3.0 的附加功能和扩展,例如原子操作、范围变量、intel_sub_group_shuffle、intel_sub_group_shuffle_xor、get_sub_group_local_id、sub_group_barrier 和 sub_group_ballot。
  • 改进了对基于 RISC-V 架构的 CPU 的支持。 PoCL 操作在装有 Ubuntu 2 环境、LLVM 23.10 和 GCC 17 的 Star Five VisionFive 13.2 板上进行了测试。
  • cl_ext_float_atomics 扩展已实现并支持 FP32 和 FP64。
  • cl_khr_command_buffer 扩展的实现已更新至版本 0.9.4。
  • 已经提出了用于 FPGA 的实验性 AlmaIF 后端。
  • 删除了对 SPIR 1.x/2.0 着色器中间表示的不完整支持。 SPIR-V 被声明为推荐的中间着色器语言。
  • 添加了对 Clang/LLVM 17.0 的支持。对 Clang/LLVM 10-13 的支持已被弃用。

来源: opennet.ru

添加评论