OpenCL 標準提供一個框架,使得程式可以在 CPU (Central Processing Unit)、GPU (Graphics Processing Unit)、DSP (Digital Signal Processor)、FPGA (Field-Programmable Gate Arrays) 及其它以硬體加速的處理器執行,無論是『異質 (不同種類)』或『跨平台』。
目前試裝過的平台、程式框架整理如下:
程式框架 | 晶片 | 最 低 要 求 | 安 裝 說 明 |
---|---|---|---|
nvidia | NVIDIA GPU | 自 Windows 的 190.89 版和 Linux 的 190.29 版起之驅動程式皆支援 (即:顯卡可安裝就支援)。(①) | 安裝 OpenCL (二): NVIDIA GPU |
Intel OpenCL™ Runtime | Intel CPU | Intel® Core™, Intel® Xeon® 處理器或 Intel® Xeon Phi™ 協同處理器。(CPU family 6, model 14 以上) (②: install.sh) | 安裝 OpenCL (三): Intel CPU |
AMD CPU | 待測 | ||
intel-opencl-1.2 | Intel CPU | 第 4、5 代 Intel® Core™, Intel® Xeon® v3 或 Intel® Xeon® v4 處理器。(②: intel-opencl-1.2-installation-external.pdf) | 安裝 OpenCL (四): Intel GPU |
AMD CPU | 待測 | ||
Beignet | Intel CPU | 第 3、4、5 代 Intel® Core™ 及處理器或 Intel "Bay Trail" 內建 HD 繪圖之平台。(③, ④) | 安裝 OpenCL (?): Intel GPU - Beignet |
AMD CPU | 待測 | ||
AMD APP SDK 3.0 | AMD CPU | 任何支援 SSE3 (或 SSE2.x 以上) 之 x86 CPU。(⑤) | 安裝 OpenCL (五):AMD CPU |
AMD APU | CPU 同 AMD CPU。 GPU 同 AMD GPU。 | ||
Intel CPU | 任何支援 SSE3 (或 SSE2.x 以上)、AVX 之 x86 CPU。(⑤) | ||
Catalyst | AMD GPU | 待測 | |
AMD APU | GPU 待測 | ||
Mesa-libOpenCL | AMD GPU | 待測 | 安裝 OpenCL (七): AMD GPU - Mesa |
AMD APU | CPU 同 AMD CPU。 GPU 目前僅測過 A10 (R7) | ||
pocl | CPU | 透過 LLVM 支援,在 x86_64, MIPS32, ARM v7, AMD HSA APU 的 Linux 系統及多 VLIW 型式之 TTA 處理器 (⑥) | 安裝 OpenCL (一): pocl |
註一:上表尚未完整、正確,將持續補充、修正。
註二:pocl 在 32-bit 電腦以 CLInfo 測試時,有錯誤訊息出現,尚有部份功能未完整。
一、安裝 CLInfo
CLInfo 這個程式可提供有關 OpenCL 程式框架的平台和裝置之所有訊息,供使用者瞭解電腦系統所提供的 OpenCL 框架的各項參數。除了驗證 OpenCL 程式框架安裝之成功與否的判斷外,也方便查詢相關的 OpenCL 訊息,供開發 OpenCL 之用。安裝 CLInfo 很簡單,只要安裝命令即可,
[root@Core-i7 ~]# dnf install clinfo若尚未安裝過 ocl-icd 套件,也會一併安裝。
二、查詢 OpenCL 平台、裝置之參數
安裝妥後,就執行看看,一開始還沒安裝任何 OpenCL 程式框架,當然查詢不到任何 OpenCL 平台。若有安裝過任何 OpenCL 程式框架,結果將如下圖所示。
[SiB@Core-i7 ~]# clinfo Number of platforms 0
[SiB@Core-i7 ~]# clinfo Number of platforms 1 Platform Name Portable Computing Language Platform Vendor The pocl project Platform Version OpenCL 1.2 pocl 0.10 Platform Profile FULL_PROFILE Platform Extensions cl_khr_icd Platform Extensions function suffix POCL Platform Name Portable Computing Language Number of devices 1 Device Name pthread-Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz Device Vendor pocl Device Vendor ID 0x0 Device Version OpenCL 1.2 pocl Driver Version 0.10 Device OpenCL C Version OpenCL C 1.2 Device Type OpenCL 1.2 pocl · · · · · · NULL platform behavior clGetPlatformInfo(NULL, ...) Portable Computing Language · · · · · · ICD loader properties ICD loader Name OpenCL ICD Loader ICD loader Vendor OCL Icd free software ICD loader Version 2.2.3 ICD loader Profile OpenCL 1.2
後記:
- 2017-1-14:由於新測 AMD A10-7890K APU,加入 OpenCL 測試列表。
已測試版本:
- Fedora: 23, 22, 21
- Intel CPU, GPU
- AMD CPU
參考資料:
- NVIDIA, "CUDA 下載與安裝提示," [Feb. 21, 2016].
- Intel, "OpenCL™ Drivers and Runtimes for Intel® Architecture," [Feb. 24, 2016].
- Fedora Project, "Changes/OpenCL," Jan. 25, 2014 [Aug. 12, 2015].
- OpenCLHowTo, "How to set up OpenCL in Linux," Apr. 4, 2015 [Se. 3, 2015].
- Advanced Micro Devices, Inc., "AMD APP SDK 3.0 FAQ," Aug. 4, 2015 [Apr. 6, 2016].
- pocl developers, "Portable Computing Language," [Apr. 6, 2016].
- Advanced Micro Devices, Inc., "System Requirements," [Apr. 9, 2016].
- StreamComputing BV, "Do your (X86) CPU and GPU support OpenCL?," Dec. 29, 2011 [Sep 3, 2015].
- Phoronix Media., "The Current Open-Source OpenCL Experience On Fedora," May 15, 2015 [Aug. 12, 2015].
沒有留言:
張貼留言
感謝你耐心看完本文,歡迎留下任何指正、建議,筆者會儘快回應。(English is also welcome.)