2016年4月8日 星期五

安裝 OpenCL 程式框架 (一):pocl

要利用 OpenCL 從事大量運算, 一定需要有支援的硬體。但是一開始學習 OpenCL,過程的初期還未能充分發揮效能,就花大錢買硬體並不划算,買便宜的硬體又不一定足夠將來的需求。最好是在不需額外購置硬體的情形下,先學好如何開發 OpenCL 程式,當真正需要開始做大量運算時,再採購適當的硬體較划算。
  許多新的 CPU 或 VGA 顯示卡,都支援 OpenCL。萬一你只有舊電腦又將如何呢?Linux 社群有人將 PoCL (Portable Computing Language) 納入套件資料庫,讓不想『太早』花錢買硬體、而又想學 OpenCL 程式的使用者可以方便學習。等學好 OpenCL 程式,而真正需要開始運算時,再採購適當的硬體較划算。

一、安裝 PoCL (Portable Computing Language)

由於 PoCL 已經收錄入 Fedora 的套件庫,只要一個命令就可安裝,
[root@Atom-N280 ~]# dnf install pocl
也會同時安裝 clang clang-libs hwloc-libs llvm ocl-icd opencl-filesystem uthash-devel 這幾個套件,若 LLVM 尚未安裝要補裝的套件更多 binutils clang clang-libs cpp gcc gcc-c++ glibc-devel glibc-headers hwloc-libs isl kernel-headers libasan libatomic libcilkrts libmpc libmpx libstdc++-devel libubsan llvm opencl-filesystem pocl uthash-devel。

三、用 CLInfo 查詢 OpenCL 參數

是否將 OpenCL 程式框架安裝妥當,最方便的方法就是用 CLInfo 來查詢。
[SiB@Atom-N280 ~]# clinfo
Number of platforms1
 Platform NamePortable Computing Language
Platform VendorThe pocl project
Platform VersionOpenCL 1.2 pocl 0.12
Platform ProfileFULL_PROFILE
Platform Extensionscl_khr_icd
Platform Extensions function suffixPOCL

Platform NamePortable Computing Language
Number of devices1
Device Namepthread-Intel(R) Atom CPU N280  @ 1.66GHz
Device VendorGenuineIntel
Device Vendor ID0x8086
Device VersionOpenCL 1.2 pocl
Driver Version0.12
Device OpenCL C VersionOpenCL C 1.2
Device TypeCPU, Default
Device ProfileFULL_PROFILE
Max compute units2
Max clock frequency1667MHz
 ·  ·  ·  ·  ·  ·
Address bits32, Little-Endian
 ·  ·  ·  ·  ·  ·
NULL platform behavior
clGetPlatformInfo(NULL,  ...)Portable Computing Language
 ·  ·  ·  ·  ·  ·
ICD loader properties
ICD loader NameOpenCL ICD Loader
ICD loader VendorOCL Icd free software
ICD loader Version2.2.7
ICD loader ProfileOpenCL 1.2
或由上面的結果可以看出,PoCL 提供的 OpencCL 程式框架在 32-bit Atom 的電腦安裝成功。

後記:


已測試版本:

  • Fedora: 22, 23

參考資料:

沒有留言:

張貼留言

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