OpenCL 3.0 規格推出

Khronos 關注點,負責開發 OpenGL、Vulkan 和 OpenCL 系列規範, объявил 完成 OpenCL 3.0 規範的開發,該規範定義了 C 語言的 API 和擴展,用於使用多核心 CPU、GPU、FPGA、DSP 和其他專用晶片(來自超級電腦和雲端伺服器)組織跨平台並行計算移動設備和嵌入式技術中使用的晶片。 OpenCL標準是完全開放的,不需要授權費用。 IBM、NVIDIA、英特爾、AMD、蘋果、ARM、藝電、高通、德州儀器和東芝等公司參與了此標準的製定工作。

在當前階段,該規範已被指定為臨時狀態,這意味著可以根據通過 GitHub上。一旦考慮到這些意見,規範將最終確定,並發布最終的測試套件以測試現有實現的兼容性。

OpenCL 3.0 規格推出

最值得注意的 產品特點 OpenCL 3.0:

  • OpenCL 3.0 API 現在涵蓋了 OpenCL 的所有版本(1.2、2.x),無需為每個版本提供單獨的規格。 OpenCL 3.0 能夠透過整合附加規範來擴展核心功能,這些規範將以選項的形式分層,而不會妨礙 OpenCL 1.2/2.X 的整體性。
  • 只有符合 OpenCL 1.2 的功能才會宣告為強制功能,而 OpenCL 2.x 規格中提出的所有功能都被歸類為選用功能。 這種方法將使建立與 OpenCL 3.0 相容的自訂實作變得更加容易,並將擴大可使用 OpenCL 3.0 的裝置範圍。 例如,製造商可以實現 OpenCL 3.0 支持,而無需實現特定的 OpenCL 2.x 功能。 為了存取可選的語言功能,OpenCL 3.0 新增了一個測試查詢系統,可讓您評估單一 API 元素以及特殊巨集的支援。
  • 與先前發布的規範的統一使得將應用程式遷移到 OpenCL 3.0 變得更加容易。 OpenCL 1.2 應用程式無需修改即可在支援 OpenCL 3.0 的裝置上執行。 OpenCL 2.x 應用程式也不需要更改程式碼,只要 OpenCL 3.0 環境提供所需的功能(為了確保未來的可移植性,建議 OpenCL 2.x 應用程式新增測試查詢以評估對 OpenCL 2.x 功能的支持正在使用)。 採用 OpenCL 實作的驅動程式開發人員可以輕鬆地將其產品升級到 OpenCL 3.0,僅添加某些 API 呼叫的查詢處理,並隨著時間的推移逐漸增加功能。
  • OpenCL 3.0 規格與 SPIR-V 通用中間表示的環境、擴充和規格保持一致,Vulkan API 也使用該表示。 對 SPIR-V 1.3 規範的支援作為選用功能包含在核心 OpenCL 3.0 中。 透過使用中間表示 SPIR-V 計算核心增加了對子組操作的支援。
    OpenCL 3.0 規格推出

  • 增加了對執行異步 DMA 操作 (Asynchronous DMA) 的擴展的支持,支援直接記憶體存取的類 DSP 晶片。 非同步 DMA 使得可以使用 DMA 事務在全域記憶體和本地記憶體之間異步傳輸數據,與計算或其他數據傳輸操作並行。
  • C 並行編程擴展規範已更新為 版本 3.0,並且停止了 C++ 的 OpenCL 語言擴充的開發,轉而支援「C++ for OpenCL」專案。 C++ for OpenCL 是一個基於 Clang/LLVM 的編譯器 廣播 將 C++ 和 OpenCL C 核心轉換為 SPIR-V 中間表示或低階機器碼。 透過廣播,SPIR-V也使用SYCL模板庫組織C++應用程式的組裝,簡化了平行應用程式的建立。

    OpenCL 3.0 規格推出

  • 已提出一個編譯器用於透過 Vulkan API 廣播 OpenCL 類風濕病毒,它將 OpenCL 內核轉換為 Vulkan SPIR-V 表示,以及一個層 克拉夫克 使 OpenCL API 能夠在 Vulkan 之上運作。

    OpenCL 3.0 規格推出

來源: opennet.ru

添加評論