web-dev-qa-db-ja.com

AMD A4-5300およびBOINC上のGPUコンピューティング

AMD A4-5300 AP があります。これはデュアルコアCPUとGPUです。 OpenCL対応です。

BOINCにGPUを認識させようとしていますが、認識できないようです。

ログ(省略):

[---] Starting BOINC client version 7.4.22 for x86_64-pc-linux-gnu
[---] OpenCL CPU: AMD A4-5300 APU with Radeon(tm) HD Graphics (OpenCL driver vendor: Advanced Micro Devices, Inc., driver version 1642.5 (sse2,avx,fma4), device version OpenCL 1.2 AMD-APP (1642.5))
[---] No usable GPUs found

答えを求めて2日間グーグル検索を続けてきましたが、あきらめたことを申し訳なく思っています。

AMDの最新のfglrx(Catalyst 14.12)と最新のBOINC(7.4.22)を使用していますが、両方の古いバージョンを試してみましたが、うまくいきませんでした。

CPUをOpenCLとして認識させるOpenCLおよびICDパッケージをインストールしましたが、BOINCはGPUを認識しません。 User:boincはgroup:videoの一部ですが、私は 設定を試しましたxvideo +とにかく違いはありませんでした。

BOINCフォーラム で提案されたすべてを試しましたが、どれも機能しません。 7.4.22がダウンロードされ、現在ログインしているユーザー(1001)として実行された場合は機能します(ただし、もう一度試したのですが、実行できません!)実行時にBOINCユーザーを同じユーザーに設定しません(所有権の変更後)すべてのファイルで)、その投稿で提案されています。 rootとして実行することもできませんが、実際にはこれらのいずれかを実行する必要はありません。

誰か助けてもらえますか?文字通りどこを見ればいいのかわかりません。

1
Ken Sharp

この問題は、サーバーに接続するときに、X転送(SSH -X)を使用してSSHを実行したことが原因でした。これにより、GPU検出をブロックする$DISPLAYが設定されます。

buntuの制限事項 (およびおそらく他のディストリビューション)のために、BOINCは(X経由で)ログインしたユーザーとして実行する必要があることが明らかになりました。

ユーザーがuser1であると仮定します。

  1. Sudo service boinc-client stop
  2. BOINC_USER=boincBOINC_USER=user1/etc/default/boincに変更します(initスクリプトの一部もクリーンアップできます)
  3. /etc/init.d/boinc-clientのstartup()に「sleep 10」を追加して、ユーザーがログインできるようにする(必要)
  4. Sudo chown -R user1: /etc/boinc-client/*
  5. Sudo chown -R user1: /var/lib/boinc-client
  6. Sudo service boinc-client start

BOINCはGPUを正しく検出し、それに応じてワークユニットをクランチします。

0
Ken Sharp