之前有稍微提過,Khronos 正在準備網頁版的 OpenCL(介紹),也就是 WebCL 的標準制定的工作。基本上 WebCL 就將 OpenCL 這種平行化計算的程式開發規格、移植到網頁上,透過 JavaScript 來操作的一種方法;而透過 OpenCL / WebCL,不但可以使用 CPU 來做平行計算,也可以用 GPU 來做平行處理,對於需要大量平行化計算的程式,算是相當實用的東西。
而現在 Nokia Research 已經放出 WebCL 實作的雛型了!他的網站是:http://webcl.nokiaresearch.com/index.html。以目前來說,要執行 WebCL 的網頁,應該只能用 Firefox 4(官方網站),加上「Nokia WebCL extension」(下載連結)才可以;其他的瀏覽器,應該是沒辦法使用的。下面是官方的教學影片:
而如果想要玩看看的話,也可以到他的 Kernel Toy 網頁,試試看透過 WebCL 來處理影像∼他可以去讀取 OpenCL 的 kernel 程式,也可以去讀取影像,然後再決定要透過 CPU、還是 GPU 來做計算;而預設的處理,就是單純地把彩色圖片轉換成灰階而已了∼有興趣也可以自己修改 kernel 的程式碼玩看看∼
當然,除了瀏覽器要支援 WebCL 外,電腦本身也要支援 OpenCL 才行。以目前來說,大概有幾種方案:
- GPU 計算的部分
- 使用 nVIDIA GeForce 8 以後的顯示卡,只要有最新版的驅動程式,就支援 OpenCL 1.0 的 GPU 計算了。
- CPU 計算的部分
- Intel 有提供 Intel OpenCL SDK(官網、介紹),讓支援 SSE 4.1 以上的處理器(Intel Core 2 Duo 開始的中高階處理器、支援列表可參考 release notes)可以支援 OpenCL 1.1。
- AMD 提供的 APP SDK(APP 官網、介紹)可以讓支援 SSE 2.x 以後的處理器支援 OpenCL 1.1。
也就是說,如果是 nVIDIA 的顯示卡的話,只要有安裝最新版的驅動程式,就可以直接只用 OpenCL / WebCL 的 GPU 計算的功能;而沒有的話,就是得裝 AMD 的 APP SDK 或 Intel 的 OpenCL SDK 了∼