2018-04-09

OpenCL and Tcl

維基百科的介紹

OpenCL(Open Computing Language,開放計算語言)是一個為異構平台編寫程式的框架,此異構平台可由 CPU、GPU、DSP、FPGA 或其他類型的處理器與硬體加速器所組成。OpenCL 由一門用於編寫 kernels(在 OpenCL 裝置上執行的函式)的語言(基於C99)和一組用於定義並控制平台的API組成。OpenCL 提供了基於任務分割和資料分割的平行計算機制。


OpenCL 一開始由蘋果所開發,並且擁有商標權。目前業界類似的是 NVIDIA 的 CUDA,而且 CUDA 目前看起來較為流行。OpenCL 交給 Khronos Group 之後,採用的主力是 AMD(AMD 曾經大力主推了一 陣子,不過大家也知道 AMD 前幾年狀況有點不好,所以……)

自由軟體的實作則是 pocl (Portable Computing Language),使用者可以在一般的 CPU 上使用 OpenCL API。再來是 pocl 最新的版本已經開始嘗試加入 NVIDIA GPU devices 的支援。

我看到 pocl 的時候,才想到確實 OpenCL 並沒有一定要在 GPU 上才行(只是大多數都是使用在 GPU 或者是 FPGA 上)。我已經稍微測試一下 pocl,發現 OpenCL 2.0 是可用的。

Tcl 有關的套件則是 TclOpenCL,嘗試 VecTcl 與 OpenCL 的整合。

沒有留言: