2011-02-10 22 views
14

私はOpenCLで作業を始めようとしています。私は2つのNVidiaグラフィックスカードを持っています。私はNVidiaのウェブサイトから "開発者ドライバ"とSDKをインストールしました。私はデモをコンパイルしたが、私はclGetPlatformIDsでエラー-1001を呼び出す!

./oclDeviceQuery

を実行したときに、私は以下を参照してください。

OpenCLのSW情報:

エラーclGetPlatformIDsコール で-1001を!

どうすれば修正できますか?私のNVIDIAカードが検出できないということですか?私はUbuntu 10.10を実行していて、Xサーバはnvidiaドライバで正しく動作します。

は、私はそれがいずれかのsudoでは動作しないなどの問題が、ファイルのアクセス権に関連していないかなり確信しています。

答えて

5

これは、NVIDIAのOpenCLのランタイムのICD部分をインストールしないの結果です。 ICDプロファイルは、異なるベンダーの複数の実装が共存できるため、システムにインストールされているさまざまなopenCL実装のアプリケーションに指示します。あなたのアプリケーションは、エラー-1001を示すICD情報を見つけられません。

+5

あなたは私の不足している正確に何についての詳細を教えてもらえますか? libcuda.soライブラリを参照する/etc/OpenCL/vendors/nvidia.icdファイルがあります。ライブラリ自体が存在し、LD_LIBRARY_PATHにあります。 – tnorgd

1

は、私が共有するだろうと思った: 私は、リモートデスクトップ(MSTSC)あたりのマシンに接続されていたので、私はエラーを得ました。マシンそのものはすべて正常に動作しました。

私はそれが道でのTeamViewerで動作するべきであると言われています。 Linuxシステム上で私のために

2

同じ問題。あなたは今までにこの問題を解決した場合

# sudo usermod -aG video your-user-name 
+3

それは助けにはならない!少なくとも私のためではない、と私は同じ問題があります。 – einpoklum

0

私が作成したリンクにより、インテルのOpenCLのためのUbuntu 13.10生意気でそれを解決した:私の場合、私はUbuntuの(utopic /マルチバース)で利用可能なのnvidia-modprobeのパッケージをインストールすることによってそれを解決した

sudo ln -s /opt/intel/opencl-1.2-3.2.1.16712/etc/intel64.icd /etc/OpenCL/vendors/nvidia.icd 
7

。そして、ドライバ自体(v346)は
https://launchpad.net/~mamarley/+archive/ubuntu/nvidia

からインストールされた具体的には、私がインストールされているNVIDIAのOpenCL--ICD-346、NVIDIA-libopencl1-346、NVIDIA-346-UVM、NVIDIA-346およびlibcuda1-346。それらがすべてOpenCLに必要かどうかは不明です。

+0

私の場合、nvidia-modprobeが問題でした。今は古いドライバ(331)でも動作します。ありがとう! – avtomaton

+1

Ubuntu 15.10の正確なセットアップについては、http://stackoverflow.com/a/33483311/895245で説明しました。 –

0

私はUbuntuの14.04でこの問題に走ったと私はどこでもオンライン(これはグーグルに表示する最初だったが)このスレッドを含む任意の作業答えを見つけることができませんでした。私のために働いたのは、以前のすべてのnvidiaソフトウェアを削除してから、nvidiaのWebサイトにある.runファイルを使って再インストールすることでした。何らかの理由でapt-getでコンポーネントをインストールするのが失敗するようです。あなたはおそらくXを停止または回復に再起動する必要があります(https://developer.nvidia.com/cuda-downloads

2)パージ以前のすべてのNVIDIAパッケージ

sudo apt-get purge nvidia-* 
)すべての実行ファイルコンポーネントをインストールします。

1)は、CUDAの.RUNファイルをダウンロード同時にこれを実行するためのモード)

sudo sh cuda_X.X.XX_linux.run 
-1

これは、複数のスレッドによってclGetPlatformIDsを照会する原因である可能性があります

2

プログラムをrootとして実行します。成功した場合:cl_khr_icd- extensionでベンダードライバを読み込むのに問題があります。 あなたはX11を実行していない場合は、手動または(boot-)でデバイスファイルを作成する必要があり、スクリプト: ERROR: clGetPlatformIDs -1001 when running OpenCL code (Linux)

関連する問題