日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

OpenCL™(开放计算语言)概述

發布時間:2023/11/28 生活经验 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OpenCL™(开放计算语言)概述 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

OpenCL?(開放計算語言)概述
異構系統并行編程的開準
OpenCL?(開放計算語言)是一種開放的、免版稅的標準,用于對超級計算機、云服務器、個人計算機、移動設備和嵌入式平臺中的,各種加速器進行跨平臺并行編程。OpenCL 極大地提高了眾多市場類別中,廣泛應用程序的速度和響應能力,包括專業創意工具、科學和醫療軟件、視覺處理,以及神經網絡訓練和推理。
OpenCL 3.0 最終版來了!
OpenCL 3.0 最終規范于 2020 年 9 月 30 日發布。
OpenCL 3.0 重新調整了 OpenCL 路線圖,使硬件供應商能夠廣泛部署開發人員要求的功能,并通過使符合標準的 OpenCL 實施,能夠專注于與其目標市場相關的功能,顯著提高部署靈活性。OpenCL 3.0 還將子組功能集成到核心規范中,隨附了新的統一 API 和 OpenCL C 3.0 語言規范,并引入了異步數據復制的擴展,以支持新型嵌入式處理。
對 OpenCL 的行業支持
NVIDIA 歡迎 OpenCL 3.0 專注于定義基線,以使開發關鍵功能,能夠在規范的未來版本中得到廣泛采用。NVIDIA 將在規范最終確定后,發布符合標準的 OpenCL 3.0,正在努力定義 Vulkan? 互操作擴展,擴展與分層 OpenCL 實現結合,將提高 OpenCL 開發人員的部署靈活性。

用于低級并行編程的 OpenCL
OpenCL 通過將算力最大的代碼,部署到加速器處理器或設備上,加速應用程序。OpenCL 開發人員使用基于 C 或 C++ 的內核語言編寫程序,通過設備編譯器,將這些程序在加速器設備上并行執行。

OpenCL 與 Khronos 并行加速標準的關系
OpenCL 為業界提供了最低的“close-to-metal”的processor-agile execution layer處理器敏捷執行層,用于加速應用程序、庫和引擎,并為編譯器提供生成目標代碼。與 Vulkan 等“僅限 GPU”的 API 不同,OpenCL 支持使用多種加速器,包括多核 CPU、GPU、DSP、FPGA 和專用硬件,例如推理引擎。

OpenCL 部署靈活性
隨著平臺和設備的行業格局變得越來越復雜,工具正在不斷發展,OpenCL 應用程序能夠部署到本地 OpenCL 驅動程序的平臺上。例如,開源clspv 編譯器和clvk API 轉換器,使 OpenCL 應用程序能夠在 Vulkan 運行時上運行。這為 OpenCL 開發人員部署 OpenCL 應用程序,提供了極大的靈活性。

開源軟件工具,使 OpenCL 內核能夠在多個目標 API 上執行。
OpenCL 編程模型
OpenCL 應用程序分為主機和設備部分,主機代碼使用通用編程語言(例如 C 或 C++)編寫,并由傳統編譯器編譯,在主機 CPU 上執行。
設備編譯階段可以在線完成,即在線使用特殊 API 調用執行應用程序。可以在執行應用程序之前,編譯成機器二進制或由 Khronos 定義的,稱為SPIR-V 的特殊可移植中間表示。還有一些特定領域的語言和框架,可以使用源到源的編譯,生成二進制/SPIR-V 編譯為 OpenCL,例如 Halide。

應用程序主機代碼,通常用 C 或 C++ 編寫,可以使用其它語言的綁定,例如 Python。內核程序可以用 C (OpenCL C) 或 C++ (C++ for OpenCL) 的語言編寫,使開發人員能夠在內核程序中,編寫其應用程序的計算密集型部分。OpenCL C 語言的所有版本都基于 C99。社區驅動的 OpenCL 語言 C++, 匯集了 OpenCL 和 C++17 的功能。
用于 OpenCL 內核語言的 C++
OpenCL的工作組,已經從OpenCL中2.0第一定義為C ++,針對OpenCL開發由開源社區提供改進的功能,并與OpenCL的C,C++兼容,針對OpenCL被支持的原始的OpenCL C ++內核語言,轉換Clang 及其文檔。使開發人員能夠使用 OpenCL 內核中的大多數 C++17 功能。在很大程度上與 OpenCL C 2.0 向后兼容,使其可用于使用 OpenCL 2.0 或更高版本,以及支持 SPIR-V加速器進行編程的驅動程序。可以通過OpenCL 支持頁面進行跟蹤,在 Clang 中實現。

內核語言擴展
一些擴展可用于現有已發布的內核語言標準。此類擴展有完整列表記錄。符合標準的編譯器和驅動程序,可以選擇支持擴展,因此,有一種機制可以在編譯時檢測支持。開發人員應注意,并非所有設備都支持所有擴展。
符合 OpenCL 的實現
可以查看符合 OpenCL 實施的硬件供應商列表。

參考鏈接:
https://www.khronos.org/opencl/

總結

以上是生活随笔為你收集整理的OpenCL™(开放计算语言)概述的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。