OpenCL 3.0的最終規範已經發布

幾個月前,我們分享了 博客上有這樣的新聞 OpenCL 3.0 開發的發布 赫羅諾斯關注 (負責OpenGL家族、Vulkan和OpenCL規範的製定)。

直到最近 OpenCL 3.0最終規範公佈發布,定義 API 和 C 語言擴展,以使用多核 CPU、GPU、FPGA、DSP 和其他專用芯片(從超級計算機和雲服務器中使用的芯片到移動設備和集成技術中使用的芯片)協調跨平台並行計算。

同時發布了開源的OpenCL SDK。 包含用於開發 OpenCL 3.0 兼容應用程序的工具、示例、文檔、頭文件、C++ 和 C 庫的鏈接。

還介紹了基於 Clang 編譯器的 OpenCL 3.0 的初始實現, 目前正處於同行評審階段,以便將其納入主 LLVM 包中。 IBM、NVIDIA、英特爾、AMD、蘋果、ARM、藝電、高通、德州儀器和東芝等公司都為該標準做出了貢獻。

今天,Khronos® OpenCL™ 工作組很高興地宣布發布最終確定的 OpenCL 3.0 規範,包括新的統一 OpenCL C 3.0 語言規範,以及早期初始版本的 Khronos OpenCL SDK,使開發人員能夠快速上手使用 OpenCL 加速。

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 實現的驅動程序開發人員可以通過僅添加某些 API 調用的請求處理並隨著時間的推移逐漸增加功能,輕鬆將其產品升級到 OpenCL 3.0。

OpenCL 3.0 規範已與環境、擴展和規範保持一致 通用中間體S的PIR-V,它也用在 Vulkan API 中。 對 SPIR-V 1.3 規範的支持作為可選功能包含在主要 OpenCL 3.0 中。 通過使用計算核心的 SPIR-V 中間表示,添加了對子組運算的支持。

除此之外 添加了對執行 DMA 操作的擴展的支持 類似於 DSP 的 DMA 芯片支持異步信號。

異步 DMA 使使用 DMA 事務在全局內存和本地內存之間異步傳輸數據成為可能,與正在進行的計算或其他數據傳輸並行。

並行編程擴展規範 對於語言 C已更新至3.0版本 C++ 的 OpenCL 語言擴展的開發已停止,轉而支持“C++ for OpenCL”項目。

為了通過 Vulkan API 翻譯 OpenCL,建議使用 clspv 編譯器, 它將 OpenCL 內核轉換為 Vulkan SPIR-V 表示形式和 clvk 層,以確保 OpenCL API 在 Vulkan 之上工作。

來源: https://www.khronos.org/


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責資料:AB Internet Networks 2008 SL
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。