4

LinuxにOpenCL(AMD)をインストールしようとしていますが、最後のステップ(ICDのインストール)でスタックしています

ICDは/etc/ OpenCL / vendorにインストールされているようですが、コンピューターへのrootアクセス権がありません。

ICDをインストールせずにOpenCLを機能させる方法はありますか?(または、環境変数を使用してICDファイルの検索パスを追加しますか?)

ICDファイルパスがハードコーディングされている場合、私たちのような人々にとっては本当に不便に思えます。

4

3 に答える 3

4

ICD ファイルを /some/path/icd に置き、次のようにパスをエクスポートします。

export OPENCL_VENDOR_PATH=/some/path/icd

少なくとも以前のバージョンでは機能していました。彼らがそれを変えたら、私は驚くだろう。

于 2012-05-27T21:53:27.813 に答える
2

以下は、管理者権限なしで AMD OpenCL SDK を「ユーザー」または「ローカル」にインストールする方法のスケッチです。手順 9 では、AMD OpenCL プラットフォームを、システム全体にインストールされた選択したプラットフォームと共に使用する方法も提供します。

インストール ディレクトリ/local/install/pathと現在の SDK バージョンを適切に変更するだけです。

  1. AMD OpenCL SDK 64 ビットをダウンロードします。

  2. $ tar -xvzf AMD-APP-SDK-v2.8-RC-lnx64.tgz

  3. $ tar -xvzf icd-registration.tgz

  4. $ cd AMD-APP-SDK-v2.8-RC-lnx64

  5. $ mkdir /local/install/path

  6. $ cp -r lib /local/install/path

  7. $ cp -r include /local/install/path

  8. $ cp -r ../etc /local/install/path

  9. オプション: 目的のシステムにインストールされたプラットフォームのシンボリック リンクを作成します。 $ ln -s /etc/OpenCL/vendors/nvidia.icd /local/install/path/etc/vendors/nvidia.icd

  10. $ export OPENCL_VENDOR_PATH=/local/install/path/etc/vendors

  11. $ export LD_LIBRARY_PATH=/local/install/path/lib/x86_64:$LD_LIBRARY_PATH

  12. $ cc -I/local/install/path/include -L/local/install/path/lib/x86_64 -lOpenCL demo.c

  13. $ ./a.out

于 2014-01-07T01:19:46.853 に答える
1

私は突然同じ問題を抱えていることに気付いたので、これに関する最新情報です(再び)。非ルート実行で明らかにクラッシュしているバグのある Mesa icd を無効にする必要がありました。アクセス許可や clinfo に関するエラーよりも、各プラットフォームを一覧表示する際の API 処理エラーに問題があるため、イライラします。各プラットフォームの icd を無効にして、問題が発生しているプラ​​ットフォームを特定してください。これが後で誰かに役立つことを願っています。

于 2016-12-07T18:52:44.303 に答える