2016年4月12日 星期二

安裝 OpenCL 程式框架 (四):Intel GPU

Intel 的系統控制晶片組提供了顯示功能,但是早期並沒有提供很完善的 OpenCL 支援,只能透過開源的 Beignet(詳情參考〝安裝 OpenCL 程式框架 (五):Intel GPU - Beignet〞)。最近幾年 Intel 才開始從硬體上直接支援 OpenCL,當然對應的 OpenCL 程式框也正式釋出。接下來的就是這個程式框架安裝過程的整理、記錄。

一、下載驅動程式及安裝準備

Intel GPU 的 OpenCL 程式框架也是需要安裝特別的套件,由官方的下載點下載,本文以『 OpenCL™ 1.2 Driver for Intel® HD, Iris™, and Iris™ Pro Graphics for Linux (64-bit)』為例,目前的最新版為 intel-opencl-1.2-1.0。
  假設下載的檔案暫存在 SiB 的家目錄下之 Temp 目錄中,將該下載檔解壓縮,可在 intel-opencl-1.2-1.0-47971 目錄下看到安裝檔,
[SiB@Core-i7 ~]$ cd Temp
[SiB@Core-i7 Temp]$ tar zxf intel-opencl-1.2-1.0-47971.tar.gz
[SiB@Core-i7 Temp]$ ls -w1 intel-opencl-1.2-1.0-47971
intel-opencl-1.2-1.0-47971.x86_64.rpm
intel-opencl-1.2-1.0-47971.x86_64.tar.gz
intel-opencl-1.2-1.0-47971.x86_64.tar.gz.sig
intel-opencl-1.2-devel-1.0-47971.x86_64.rpm
intel-opencl-1.2-devel-1.0-47971.x86_64.tar.gz
intel-opencl-1.2-devel-1.0-47971.x86_64.tar.gz.sig
intel-opencl-1.2-installation-external.pdf
intel-opencl-1.2-installation-external.txt
intel-opencl-1.2-release-notes-external.pdf
intel-opencl-1.2-release-notes-external.txt
vpg_ocl_linux_rpmdeb.public
上面檔案列表中 *.rpm 就是 Fedora 的安裝檔,名稱中有 devel 的是開發用,另一個是執行 OpenCL 程式用。

二、安裝 OpenCL 驅動程式

步驟一的檔案列表中“intel-opencl-1.2-installation-external.pdf”有詳細的安裝說明,為紀錄完整,將操作的過程截錄如下:
[root@Core-i7 ~]# dnf install libpciaccess libdrm tar
[root@Core-i7 ~]# usermod -a -G video SiB
[root@Core-i7 ~]# gpg --with-fingerprint intel-opencl-1.2-1.0-47971/vpg_ocl_linux_rpmdeb.public
gpg: `/root/.gnupg' 目錄已建立
gpg: 新的設定檔 `/root/.gnupg/gpg.conf' 被建立了
gpg: 警告: 在 `/root/.gnupg/gpg.conf' 裡的選項於這次執行期間並沒有被啟用
gpg: `/root/.gnupg/secring.gpg' 鑰匙圈已建立
gpg: `/root/.gnupg/pubring.gpg' 鑰匙圈已建立
pub  2048R/6DA77827 2015-11-12 "CN = Intel(R) VPG OpenCL GPU driver for Linux", O=Intel Corporation
        金鑰指紋 = F307 9EC1 F71E 6375 DE6A  EA5B 7B46 9B3A 6DA7 7827
[root@Core-i7 Temp]# rpm --import intel-opencl-1.2-1.0-47971/vpg_ocl_linux_rpmdeb.public
[root@Core-i7 Temp]# dnf install intel-opencl-1.2-1.0-47971/intel-opencl-1.2-1.0-47971.x86_64.rpm
上述步驟中,共有五個命令,分別說明如下:
  • 第一列命令:安裝相關的套件。
  • 第二列命令:將使用者 SiB 加入 video 群組。
  • 第三列命令:檢查 Intel OpenCL 程式框架的數位簽章。
  • 第四列命令:將 Intel OpenCL 程式框架式的數位簽章加入 Fedora 套件資料庫。
  • 第五列命令:安裝 Intel OpenCL 程式框架。

三、查詢 OpenCL

安裝後,就用 CLInfo 查詢安裝結果,
[SiB@Core-i7 ~]# clinfo
Number of platforms1
 Platform NameIntel(R) OpenCL
Platform VendorIntel(R) Corporation
Platform VersionOpenCL 1.2
Platform ProfileFULL_PROFILE
Platform Extensionscl_intel_accelerator cl_intel_advanced_motion_estimation cl_intel_motion_estimation cl_intel_subgroups cl_intel_va_api_media_sharing cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_icd cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_spir
Platform Extensions function suffixINTEL

Platform NameIntel(R) OpenCL
Number of devices1
Device NameIntel(R) HD Graphics
Device VendorIntel(R) Corporation
Device Vendor ID0x8086
Device VersionOpenCL 1.2
Driver Version1.0.47971
Device OpenCL C VersionOpenCL C 1.2
Device TypeGPU
Device ProfileFULL_PROFILE
Max compute units20
Max clock frequency1200MHz
 ·  ·  ·  ·  ·  ·
Address bits64, Little-Endian
 ·  ·  ·  ·  ·  ·
NULL platform behavior
clGetPlatformInfo(NULL, ...)No platform
 ·  ·  ·  ·  ·  ·
clCreateContextFromType( ...)No platform
由上面的查詢結果可以看到,Intel 的 HD 圖形顯示器為系統增加了 20 個運算單元。不過,這些運算單元只能透過 OpenCL 來使用它們。

後記:


已測試版本:

  • Fedora 23 + Intel® Core™ i7-4720HQ CPU @ 2.60GHz
  • Fedora 23 + Intel® Core™ i7-4770   CPU @ 3.40GHz

參考資料:

沒有留言:

張貼留言

感謝你耐心看完本文,歡迎留下任何指正、建議,筆者會儘快回應。(English is also welcome.)