獨立實施 OpenCL 標準的 PoCL 5.0 版本

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

添加評論