web-dev-qa-db-ja.com

clGetPlatformIDs呼び出しのエラー-1001!

OpenCLでの作業を開始しようとしています。私は2枚のNVidiaグラフィックカードを持っています。「開発者ドライバー」とNVidiaWebサイトからSDKをインストールしました。デモをコンパイルしましたが、実行すると

./oclDeviceQuery

そうですか:

OpenCL SW情報:

ClGetPlatformIDs呼び出しのエラー-1001 !!!

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

この問題はSudoでも機能しないため、ファイルのアクセス許可に関連していないと確信しています。

20
tnorgd

私の場合、ubuntu(utopic/multiverse)で利用可能なnvidia-modprobeパッケージをインストールすることで解決しました。そして、ドライバー自体(v346)はからインストールされました
https://launchpad.net/~mamarley/+archive/ubuntu/nvidia

具体的には、nvidia-opencl-icd-346、nvidia-libopencl1-346、nvidia-346-uvm、nvidia-346、libcuda1-346をインストールしました。それらがすべてOpenCLに必要かどうかはわかりません。

8
EvgenijM86

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

6
joachimd

プログラムをrootとして実行します。成功した場合:ベンダードライバーをロードするためのcl_khr_icd-拡張機能に問題があります。 X11を実行していない場合は、手動または(boot-)scriptでデバイスファイルを作成する必要があります: エラー:OpenCLコード(Linux)の実行時にclGetPlatformIDs -1001

3
Vlad

Linuxシステムでも同じ問題が発生します。解決策は、ユーザーをビデオグループに追加することです。

# Sudo usermod -aG video your-user-name
2
ther

これに数時間を費やしただけなので、共有したいと思いました。リモートデスクトップ(mstsc)ごとにマシンに接続していたため、エラーが発生しました。マシン自体では、すべてが正常に機能しました。

ちなみに、TeamViewerで動作するはずだと言われています。

1
user1165115

この問題を解決したことがあるかどうかはわかりませんが、同じ問題があり、この投稿で解決しました: エラー:OpenCLコード(Linux)の実行時にclGetPlatformIDs -1001

それが役に立てば幸い!

1

私は作成されたリンクによってIntelopenclのUbuntu13.10saucyでそれを解決しました:

Sudo ln -s /opt/intel/opencl-1.2-3.2.1.16712/etc/intel64.icd /etc/OpenCL/vendors/nvidia.icd
0
masuch

私はubuntu14.04でこの問題に遭遇しましたが、このスレッドを含むオンラインのどこにも実用的な答えは見つかりませんでした(これはグーグルに最初に現れましたが)。私のために働いたのは、以前のすべてのnvidiaソフトウェアを削除してから、nvidiaWebサイトで提供されている.runファイルを使用して再インストールすることでした。 apt-getを介したコンポーネントのインストールは、何らかの理由で失敗するようです。

1)CUDA .runファイルをダウンロードします: https://developer.nvidia.com/cuda-downloads

2)以前のすべてのnvidiaパッケージを削除します

Sudo apt-get purge nvidia-*

3)すべての実行ファイルコンポーネントをインストールします(これを実行するには、Xを停止するか、リカバリモードで再起動する必要があります)

Sudo sh cuda_X.X.XX_linux.run
0
user4706374