web-dev-qa-db-ja.com

OpenCLを14.10 + Nvidia 331.89ドライバーで動作させる方法は?

独自のドライバ331.89からOpenCLが提供されません。 (テスト/更新の両方を試してみました)しばらくの間、動作するバージョン304.123がありましたが、現在のドライバーが必要でしたが、現在はダウングレードできません。

とにかく-回避策でダウングレードできますが、331.89が機能することを望みます。

テストalosがdarktableにシンボリックリンクを追加したため、「darktable -d opencl」を使用しましたが、331.89には役立ちません。

11
user105939

参加者がデバッグを行う一連の フォーラム投稿仮想ライトテーブルについて を見つけるまで、私もこの厄介な問題に戸惑いました。 NVIDIAドライバーには、nvidia-331またはopenclドライバーではデフォルトでインストールされないカスタムmodprobeルールが必要であることがわかりました。これらのルールは、nvidia-modprobeパッケージで提供されます。

以下に、NVIDIAドライバを使用してUbuntu 14.10でOpenCLを動作させるために必要なすべてのパッケージのリストを示します。

Sudo apt-get install nvidia-331 nvidia-331-uvm nvidia-opencl-dev nvidia-modprobe

編集:Ubuntu 15.04とNVIDIA 346.59ドライバで同様の問題が発生した場合、問題を修正するコマンドはほぼ同じです。

Sudo apt-get install nvidia-346 nvidia-346-uvm nvidia-opencl-dev nvidia-modprobe
11
bkloppenborg

Ubuntu 15.10

Sudo apt-get install nvidia-352 nvidia-352-dev nvidia-prime nvidia-modprobe nvidia-opencl-dev
Sudo ln -s /usr/include/nvidia-352/GL /usr/local/include
Sudo ln -s /usr/lib/x86_64-linux-gnu/libOpenCL.so.1 /usr/local/lib/libOpenCL.so

次に、次を使用してコンパイルします。

gcc -o main main.c -lOpenCL

そして、ヘッダーを次のように使用します。

#include <CL/cl.h>

ノート:

これを機能させるには、15.10にアップグレードすることをお勧めします。

テスト済み:

  • NVIDIA NVS 5400Mを搭載したLenovo ThinkPad T430
  • NVIDIA Quadro K1100Mを搭載したLenovo ThinkPad W540

Ubuntu 14.04の場合、nvidia-modprobeはシステムを台無しにしました。しかし、nvidia-331-uvmは最初からアクティブ化されていないことに気付きました(神はその理由を知っています)。それを有効にしましょう:

$ Sudo modprobe nvidia-331-uvm
$ Sudo mknod -m 666 /dev/nvidia-uvm c 249 0

その後:

$ Sudo clinfo

そうすれば、root以外のユーザーとしてもopenclを使用できます。このような理由は Virtual Lighttableメーリングリスト で説明されています。

したがって、最終的に次の行を/etc/rc.localファイルに追加しました。

# begin opencl config
modprobe nvidia-331-uvm
mknod -m 666 /dev/nvidia-uvm c 249 0
clinfo
# end opencl config 

その後、すべてがスムーズに動作します;)

0
silgon