既然 Blender 的 OpenCL 相關程式碼還在開發階段,所以使用它時要多一些步驟。方法有二:
一、以「文字命令列」開啟 Blender 的 OpenCL 運算
如果只是測試或生成動畫時才要用 OpenCL 加速運算,開啟「終端機」先設定環境變數『CYCLES_OPENCL_SPLIT_KERNEL_TEST=1』,接著開啟 Blender 即可,命令如下:[SiB@Core-i7 ~]$ CYCLES_OPENCL_SPLIT_KERNEL_TEST=1 blender以上述命令開啟的 Blender 就可以設定使用 OpenCL 程式碼,設定方法參考步驟三。
二、以『圖示捷徑』開啟 Blender 的 OpenCL 運算
若每次都要使用 OpenCL,用步驟一的方法開啟 Blender 太麻煩了,直接把它加入『圖示捷徑』,如下圖開啟 Blender 『圖示捷徑』的屬性,在『指令:』那一欄的 blender 前加入『env CYCLES_OPENCL_SPLIT_KERNEL_TEST=1』,修改後,每次開啟 Blender 都可以使用 OpenCL 程式碼了。
三、設定使用 OpenCL 程式碼
前兩個步驟只是讓 Blender 可以使用 OpenCL 程式碼來加速運算,要實際應用 OpenCL 平台,還需一些設定才行。設定 Blender 使用 OpenCL 程式碼以加速運算操作為:從《功能選單》的《File (檔案)》點選《User Preference (使用者偏好設定)》跳出一個『Blender User Preferences (Blender 使用者偏好設定)』視窗。在視窗中選擇《System (系統)》分頁,在右下角有個名為『Compute Device (運算裝置)』的設定項目,如下圖:
由圖中可看出『運算裝置』除了原有的『無』(即 CPU) 外,還有個 OpenCL 分項,點選下拉式選單列出可用的 OpenCL 平台,圖中有
- GeForce GTX 950M
- Intel HD Graphics
- Intel Core i7-4720HQ CPU @ 2.60GHz
- GeForce GTX 950M + Intel Core i7-4720HQ CPU @ 2.60GHz + Intel HD Graphics
四、經驗分享
幾個使用經驗,敘述如下:- 使用 GPU 的 OpenCL 平台時,最好不要與目前使用的顯示卡相同;否則,在 OpenCL 的大量運算下,螢幕顯示的的反應會降低,甚至停滯。
- 使用 CPU 的 OpenCL 平台時,運算效能與使用 CPU (非 OpenCL) 相當,除非要同時使用其它 OpenCL 平台,否則不必這麼麻煩。
- 要暫時停止某單一 OpenCL 平台,而使用其它所有 OpenCL 時,可移除 /etc/OpenCL/vendors 目錄下對應的 ICD 檔。如:上例中不使用 Intel HD Graphics 的 OpenCL 平台,而同時使用另兩個平台。則移除內容為 /opt/intel/opencl/libIntelOpenCL.so 的 ICD 檔。
已測試版本:
- Blender 2.77a
- Fedora 24 + MATE Desktop 1.14.1
參考資料:
- blender.org, "GPU Rendering," [Sep. 10, 2016].
- Naveen, "How to enable openCL rendering in Blender 2.75 rc2," May. 9, 2016 [Sep. 10, 2016].
- Anteru, "Running OpenCL Cycles using Blender 2.71 & AMD GPUs," Aug. 24, 2014 [Sep. 10, 2016].
- Stack Exchange Inc., "How to enable GPU rendering with my Radeon card?," Aug. 18, 2015 [Sep. 10, 2016].
沒有留言:
張貼留言
感謝你耐心看完本文,歡迎留下任何指正、建議,筆者會儘快回應。(English is also welcome.)