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

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

添加評論