OpenCL周りで、ちょっとハマったので書いておきます。
インストールするパッケージ
- nvidia-opencl-icd-XXX (NVIDIA GPU)
- beignet-opencl-icd (Intel統合GPU)
NVIDIAのプロプラドライバを使用している環境で、後者のパッケージを入れていると、OpenCLを使うときに「dri2 connection failed!」という警告が出ます。これはNVIDIAのプロプラドライバがdri2を使用しないためとのこと。警告が出る場合でも、Intel統合GPU側のOpenCLも特に問題無く動作するように見えます。
アンインストールするパッケージ
- mesa-opencl-icd (AMD GPU)
これが入っていると、「RuntimeError: clGetDeviceIDs」というエラーが出て、LuxRenderが動かなくなります。対応するデバイスが無いのが原因な気がします。
mesa-opencl-icdは、まだllvmpipeに対応していないため、AMDのGPUが入ってない場合はこれをアンインストールしましょう。
環境検証用
- clinfo
- python-pyopencl
入れておくと環境検証に便利でしょう。