已為 Mesa 發布了 cluda 驅動程序,支援在 NVIDIA CUDA 之上實作 OpenCL。

Red Hat 的 Karol Herbst 是 Mesa、Nouveau 驅動程式和開源 OpenCL 堆疊的貢獻者,他提議將 cluda 驅動程式納入 Mesa。此驅動程式在 NVIDIA 專有驅動程式提供的 CUDA API 之上實作了 Gallium API。 Mesa 使用 Gallium 來抽象化驅動程式開發,並實作不特定於單一硬體裝置的標準驅動程式 API。 cluda 實作了與運算相關的接口,足以在 CUDA 之上實作 OpenCL 規範。

cluda 預計將解決在 NVIDIA 專有驅動程式上使用 OpenCL 的問題。使用附加框架可以實現基於專有驅動程式的 NVIDIA 堆疊中缺少的 OpenCL 擴充。 cluda 僅使用 libcuda.so 函式庫,該函式庫包含在 NVIDIA 的 GPU 驅動程式中,且與 CUDA 執行時間無關。目前,基於 cluda 的 OpenCL 實作支援記憶體操作並支援計算核心的執行。

基於 cluda 和 rusticl 的 OpenCL 實作支援 NVIDIA 實作中不存在的以下 OpenCL 擴充:

  • cl_xr_extended_bit_ops
  • cl_xr_integer_dot_product
  • cl_xr_fp16
  • cl_khr_suggested_local_work_size
  • cl_khr_subgroup_extended_types
  • cl_khr_subgroup_ballot
  • cl_khr_subgroup_clustered_reduce
  • cl_khr_subgroup_non_uniform_arithmetic
  • cl_khr_subgroup_non_uniform_vote
  • cl_xr_subgroup_旋轉
  • cl_xr_subgroup_shuffle
  • cl_khr_subgroup_shuffle_relative
  • cl_khr_il_program(是的,這意味著 SPIR-V 支援)
  • cl_xr_spirv_linkonce_odr
  • cl_khr_spirv_no_integer_wrap_decoration
  • cl_xr_spirv_查詢
  • cl_xr_expect_assume
  • cl_ext_immutable_memory_objects

在 LuxMark 3.1 基準測試中,基於 Mesa、cluda 和 rusticl 的 OpenCL 實作得分為 57702 分,而基於 NVIDIA 堆疊的實作得分為 64009 分。效能下降的原因是將 Mesa NIR 中間表示轉換為 CUDA PTX(並行執行緒執行)的開銷。可以縮小效能差距的潛在最佳化措施包括更積極地使用向量化和 JIT 編譯。

已為 Mesa 發布了 cluda 驅動程序,支援在 NVIDIA CUDA 之上實作 OpenCL。


來源: opennet.ru
為具有 DDoS 保護、VPS VDS 服務器的站點購買可靠的主機 🔥 購買具備 DDoS 防護的可靠網站寄存服務,包括 VPS 和 VDS 伺服器 | ProHoster