はじめに [edit]

一部のプロジェクトはGPUを用いた演算、GPGPUに対応しています。
GPGPUに対応したグラフィックカードを利用することにより対応するプロジェクトに参加することができます。
また、一部のプロジェクトはCPUを利用せず、GPUのみで演算するプロジェクトもあります。

高性能なグラフィックカードを用いて演算すると、CPUやPS3よりも遥かに高速な演算ができます。
GPUで解析を行う場合には、WU管理目的にCPUを若干のコア使用します。(0.数%を使用)※俗にいう"餌やり"

GPUに関してより詳細な情報が欲しい場合はこちら(英語)を参照してください。

GPUを使いたい! [edit]

GPUを使うにはGPGPUに対応したグラフィックカード(ビデオカード)またはCPUに内蔵されたGPU(GPGPU対応の物)、または各種GPGPU用演算カードが必要です。
以下にシステム要件を記しますが、一部のプロジェクトではこれ以上の要件が追加されている場合があります。
詳しくは各プロジェクトのウェブサイトで詳細を確認してください。

グラフィックカード [edit]

一般的なグラフィックカードの使用法ではない(常に100%の負荷をかける使用法)ので、一般的の利用法よりも早く故障する可能性があります。

Intelの一部のCPU/AMDのAPU内蔵GPU [edit]

IntelのIvy Bridge以降のCPUはOpenCLに対応しているのでBOINCで利用できるプロジェクトが存在します。AMDのAPUについても同様(AMDのAPUは初代からOpenCLに対応している)です。詳細は各プロジェクトで確認してください。

なお、モニター等をマザーボードに挿してない場合は、内蔵GPUが動作しないこともあるので、その場合はVGAダミープラグを挿して下さい。

最新のドライバーとBOINCをインストールして確認してください。グラボGPUと内蔵GPUを同時に使って計算を行うこともできます。

NVIDIAのCUDA対応のグラフィックカード [edit]

NVIDIAグラフィックカードをBOINCで利用するにはCUDAに対応している必要があります。また、256MB以上のVRAMが必要です。
CUDAに対応している製品のリスト
GeForce8000 / 9000以降が対応しています。
最新のCUDA対応のドライバをinstallします。(CUDA ToolkitやCUDA SDK code samplesは不要)
MACはこちらのドライバインストールしてください。

グラフィックカードの性能の比較は、stream processors(SP)の値を参考にすること。

一部プロジェクトでは、NVIDIAのグラボであってもOpenCLで演算を行います。

AMDのグラフィックカード [edit]

AMDグラフィックカードをBOINCで利用するにはOpenCLに対応している必要があります。

Radeon HD 4000以降のボードであれば動くと思われます。
ただし、機種によっては倍精度の浮動小数点演算が大幅に性能制限されているため、これが必要とされる一部のプロジェクト(Milkywayなど)では使いものになりません。
ドライバはCatalyst 8.12以降が対応しています。

BOINCクライアント [edit]

BOINCクライアントは、
NVIDIA系は、6.3.8以降が
ATI系は、6.10.10以降が対応しています。

超重要:Windows Vista以降ではadvancedタブの 'protected mode' (7.0.47以降は'Service Install') のチェックを外してインストールする。チェックを入れるとGPUは動かないらしい。

BOINCクライアントの設定 [edit]

BOINC6.6.20以降ではデフォルト設定でアイドリング中にのみGPUを使用するようになっています。
常時解析を行うには「高度な操作->プレファレンス」で"Use GPU while computer is in use(コンピュータの利用中にGPUを使う)"にチェックを入れてください。

GPUの性能や描画内容に左右されますが、GPU解析を行いつつの動画再生時はコマ落ちが発生する場合があります。
GPUによる動画再生支援を使用している場合は、アイドリングまでの判定時間を長くしておくと快適に動画が見られるでしょう。

GPUだけで参加したい場合 [edit]

各プロジェクトの設定(preferences)より、
「Use Graphics Processing Unit (GPU) if available(利用可能な画像処理装置(GPU)があれば使用する)」をyesに
「Use Central Processing Unit (CPU)」をnoに変更する。
対応していないプロジェクトもある。

対応するプロジェクト [edit]

プロジェクト名NVIDIA(CUDA)AMD(OpenCL)備考
windowslinuxwindowslinux
32bit64bit64bit32bit64bit64bit
WCG××AMD製品はXP以下は非対応
GPUGRID×かなり硬いのでハイスペック推奨
SETI@home××
SETI@home/AstroPulse Beta××
MilkyWay@home
AQUA@home××××
Collatz Conjecture最適化パッチ
Moo! Wrapper×
Einstein@Home××
Albert@Home××
DrugDiscovery@Home××
PrimeGridPPS(Sieve)、GCW(Sieve)、Generalized Fermat Prime Searchのみ
The Lattice Project××××
DistrRTgen×××
POEM@HOME××
Donate@Home
Asteroids@home×××

○:デフォルトで対応/▽:最適化アプリの導入が必要/△:デフォルトではないが動く/×:未対応

個別のプロジェクトの説明 [edit]

WCG [edit]

※2014年12現在、GPU対応プロジェクトはありません。
GPUマルチスレッド(nスレッド/1GPU)化

※前提
 ・1CPU+1GPUの解析が異常なく行えていること。
  app_info.xmlに記載されているファイルとマッチする宿題が無いと、
   [error] App version returned from anonymous platform project; ignoring
   [error] No app version found for app ~
  というエラーがイベントログに記載される。対応方法は、注意事項の3.を参照。
 ・現状ではHCCのみ対応。
 ・AMD製GPUの場合、OSがXP以下でない事。
  ドライバーがvista以上でしか対応していないため。

※マルチスレッド化のメリット
 ・GPUの余剰時間(アイドル時間)をなくす
 ・GPUの余剰能力を使い切る(特にHD7850以上で顕著と思われる)
 これらによる時間当たりの処理数(Res/h、及びPt/day)の向上

※注意事項
 1.専用機推奨!!
  ・雑用機・ゲーミング機等、"ながら解析"では上記メリットは望めない、
  むしろ高負荷のため、"ながら"の本業の方が作業不可能になる。
  ・ただし、PC使用(解析ストップ)⇔解析実行をきっちり分けて運用でき、
  そういった運用にストレスが無ければ、問題ナシ。
  ・画面描画用と解析用のGPUが別々の場合も問題ナシ。

 2.冷却に注意!!
  ・負荷の高い3Dベンチに比べれば全然マシだが、GPU温度に余裕が無ければ止めるべき。

 3.xmlの修正について
  ・xmlの適用/変更/解除の都度、宿題を空にしてBOINC Managerを再起動すること。
   ・推奨…小まめに[タスクの新規取得禁止]をする
   ・推奨設定…Minimum work buffer[0.1]日
  設定によってはBOINC Managerを終了させても裏で走っている場合が有る。
  分かる人は設定の再確認を。分からない人はPC再起動を。
  ・もし、それでも駄目なら、一度xmlを削除してから「プロジェクトのリセット」を行って
  宿題が正常に落ちてきてから、xmlを再度適用する。

※準備
 必要な記述をした「app_info.xml」をBOINCmanagerに読み込ませることで、
 1個の宿題に対して通常「1CPU+1GPU」であるところを
 「1CPU+0.5GPU」や「1CPU+0.33GPU」に変更できる。
 1GPUに対して2個、3個~それ以上の宿題が同時進行するようになる。

 ・app_info.xmlの作成 (記述内容は後述)
  メモ帳を使うと、文字コード絡みで作成ミスが多いので
  原則として、xmlエディターを使う事を推奨
  例えば、XML Notepad 2007
  http://www.microsoft.com/en-us/download/details.aspx?id=7973

 ・app_info.xmlの保存場所
  C:\ProgramData?\BOINC\projects\www.worldcommunitygrid.org
  個別に指定している場合は、その場所

  ・BOINC Managerを終了し、app_info.xmlを所定の場所に保存してBOINC Managerを再起動する

 ・xml記述内容
  「xml適用した状態ではHCCのGPUだけもらう」
  「 [1CPU+1GPU] ⇒ [1CPU+0.5GPU] …1GPU当たり2スレッド化 」
  の場合。

  ----- app_info.xmlの内容 ATi(AMD)RADEON (Ver7.05用) -----

<app_info>
<app>
<name>hcc1</name>
<user_friendly_name>Help Conquer Cancer</user_friendly_name>
</app>
<file_info>
<name>wcg_hcc1_img_7.05_windows_intelx86__ati_hcc1</name>
<executable/>
</file_info>
<file_info>
<name>hcckernel.cl.7.05</name>
<executable/>
</file_info>
<app_version>
<app_name>hcc1</app_name>
<version_num>705</version_num>
<platform>windows_intelx86</platform>
<plan_class>ati_hcc1</plan_class>
<avg_ncpus>1.0</avg_ncpus>
<max_ncpus>1.0</max_ncpus>
<coproc>
<type>ATI</type>
<count>.5</count>
</coproc>
<file_ref>
<file_name>wcg_hcc1_img_7.05_windows_intelx86__ati_hcc1</file_name>
<main_program/>
</file_ref>
<file_ref>
<file_name>hcckernel.cl.7.05</file_name>
<open_name>hcckernel.cl</open_name>
</file_ref>
</app_version>
</app_info>

  
  ----- app_info.xmlの内容 nVidia GeForce? (Ver7.05用) -----

<app_info>
<app>
<name>hcc1</name>
<user_friendly_name>Help Conquer Cancer</user_friendly_name>
</app>
<file_info>
<name>wcg_hcc1_img_7.05_windows_intelx86__nvidia_hcc1</name>
<executable/>
</file_info>
<file_info>
<name>hcckernel.cl.7.05</name>
<executable/>
</file_info>
<app_version>
<app_name>hcc1</app_name>
<version_num>705</version_num>
<platform>windows_intelx86</platform>
<plan_class>nvidia_hcc1</plan_class>
<avg_ncpus>1.0</avg_ncpus>
<max_ncpus>1.0</max_ncpus>
<coproc>
<type>CUDA</type>
<count>.5</count>
</coproc>
<file_ref>
<file_name>wcg_hcc1_img_7.05_windows_intelx86__nvidia_hcc1</file_name>
<main_program/>
</file_ref>
<file_ref>
<file_name>hcckernel.cl.7.05</file_name>
<open_name>hcckernel.cl</open_name>
</file_ref>
</app_version>
</app_info>

  以上を行い、いくつかのWUを解析し、答え合わせまで問題無ければ
  countの設定を変更&試運転しつつ、最適スレッド数を模索していく。

※GPUスレッド数の調整方法
  xml内の<count>n</count>の記述を修正する事でスレッド数を変える。
  n=.5 ⇒ [1CPU+0.5GPU]…2スレッド/GPU
  n=.33と書けば3スレッド/GPU
  n=.25と書けば4スレッド/GPU

※CPUの利用率の調整方法(物理CPU1個を1CPUと表示)
  <avg_ncpus>m</avg_ncpus>
  <max_ncpus>m</max_ncpus>
  の「m」の値を変更する。
  m=.5 ⇒半分のコアを使用。8コアCPUなら4コアを使用する
  m=.25では1/4のコアを使用する。

※参考:検証方法・考え方など
  GPU当たりの最適スレッド数は GPUを始め環境によって変わるので、
  WCGのHPにログイン、「結果状況」を見ながら
  一定時間当たりの宿題処理数(WU/h,Res/h)で最適スレッド数を見極めるのが良い。
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  また、ガンガン詰め込んでも、意外と伸びる場合もあるので、
  countを適宜設定⇒一定時間解析⇒WU/h確認  を繰り返せば、
  WU/hが最大になるcount設定値=その環境での最適スレッド数 が分かる。

  PC稼働時間がかなり必要な作業なので、程々にしつつ、
  「冷却不安だしとりあえず.33でいいや」というのもアリ。

GPUGRID [edit]

公式のGPUGRID参加手順

  1. 公式の説明を読む
  2. 推奨GPU
  3. 最新のNVIDIAドライバをダウンロード (help on installing Linux drivers )
  4. 6.10.36以上のBOINCクライアントインストール:
  5. 問題があったらhttp://www.gpugrid.netを見る
推奨GPU一覧
強く推奨
Geforce GTX690, 780Ti, Titan, 780, 770, 760Ti, 760, 680, 670, 660Ti, 660, 650Ti Boost, 650Ti, 650 (VRAM 2GB), 645
Geforce GT640 (Kepler), 630Rev.2.
推奨
Geforce GTX590, 580, 570, 480, 560 Ti (448), 470, 465, 560Ti, 460, 550Ti
Quadro6000, 5000, 4000, 2000, 2000D
TeslaC2050, C2070, M2050, M2070, S2050
あまり推奨でない
Geforce GTS450
Geforce GTX295, 280, 275, 560Ti, 260-216 (55nm), 460, 550Ti, 460SE, 480M (CC2.0)
Quadro600, 5010M, 5000M, 4000M, 3000M, 2000M
TeslaTesla10, Tesla20

注意:非推奨のカードでは時間のかかるタスクを実行すべきではありません
第6世代以上なら十分な動きをします

Forum漁ってたら面白いもの見つけた 参照
CC1.1を基準としたときのCCの違いを補正する係数

Compute Capable補正係数
CC1.11.00(基準)
CC1.21.30
CC1.31.40
CC2.01.35

ちなみにCC1.0が載ってないのはGPUGRIDではCC1.0世代への宿題の提供が終了したため。現在はCC1.3以上が必要である。

SETI@home [edit]

2011年6月12日現在、「SETI@home Enhanced」「Astropulse v5」「Astropulse v505」の3種のアプリケーションにより解析が行われているが、
SETI@home EnhancedのみがGPUに対応。2020年新規の宿題の配布が終了。

ATI GPU用のパッチ。Downloads - GPU Apps より。

Einstein@Home [edit]

Binary Radio Pulsar Searchが対象。インテル内臓GPUでも参加できる。

MilkyWay@home [edit]

NVIDIA系GPUはCompute Capability 1.3以降、190.**以降のドライバが対応している。
Compute Capability 1.3は、GeForce? GTX 200以降を示す。

参考

ATI/AMD系GPUは以下のものとHD6700シリーズ以降が対応している模様。

世代型番
3800 series3850 3870 3850x2 3870x2
4700 series4730 4770
4800 series4830 4850 4870 4890 4850X2 4870X2
5900 series59x0
5800 series58x0
Firestream 9200 series

※Radeon HD 57x0では動きません。

Ubuntu 11.10 beta 64bit で MilkyWay?@home のアプリが動作せずエラーになる場合
参考

"$ sudo ln -s /lib64/ld-linux-x86-64.so.2 /lib/ld-linux-x86-64.so.2"

で動くようになった。他のLinux 64bit ATI Stream なプロジェクトでも同様に適用できるかも。

Collatz Conjecture [edit]

GPU patchはlinuxのみに必要。
最適化パッチ

ATI系GPUはRadeon HD 2400以降のものが対応していると思われます。

PrimeGrid [edit]

2020年5月現在、PPS(Sieve)、321Sieve、Generalized Fermat Prime Search、Generalized Fermat Prime Search World Record、Arithmetic Progression of Primes 27等にて解析可能。NVIDIA、AMDのGPUともに可能だが、NVIDIAのCUDAを使うのはPPS(Sieve)だけになっており、その他はNVIDIA、AMDともにOpenCLで解析を行う。

トラブルシューティング [edit]

よくあるトラブルはFAQを参照してください。
宿題が降ってこない場合は鯖状態?を確認

リモートデスクトップでGPU解析をしているマシンに接続すると「GPUs have become unusable; disabling tasks」というログが出てGPU解析が停止する [edit]

リモートデスクトップで接続されると、実行されているプログラムからはGPUが見えなくなるために起こります。
回避方法は、リモートデスクトップを使用しない、以外今のところ有りません(見つけた人は是非下記加えてください)。どうしても遠隔操作が必要な場合、その他の遠隔操作ツールを使用しましょう。
この現象が生じた場合は、ローカルにてログインするか、その他の遠隔操作ツールを使用してログインするとGPU解析が再開されます。

リモートデスクトップ以外の遠隔操作ツール

GPUがエラーを吐きまくる [edit]

GPUをGPGPU演算に使用すると通常の利用では再現しないような問題に出くわすことがあります。
GPGPUのためにGPUはどんどん複雑になり、またGPGPUは発展途上のため不具合も数多くあります。
そのためハードウェア及びソフトウェアに非常にシビアになっています。
トラブルの解消のために下記の手順をお試しください。

エラーが発生した場合。 [edit]

Point:まれに宿題の不具合でエラーが発生することがあります。同様のエラーが出てる人がいないか確認をしてください。

最新のドライバで改善しない場合は、Beta版のドライバをインストールすることで改善することがあります。
もし、Beta版のドライバをインストールしても改善しない場合は旧バージョンの安定ドライバを使うとエラーが回避できることがあります。

次の項目ではWindowsの問題の解消を扱います。ハードウェアの問題を解決する場合にはこの項目を読み飛ばしてください。

Windowsの問題の対処法 [edit]

Windowsの問題の場合はメモリの問題、レジストリの問題、システムファイルの問題等さまざまな可能性があります。
一番手っ取り早い解決方法はWindowsの再インストールです。これで直らない場合はほぼハードウェアの問題でしょう。

Windowsではメモリの容量不足でシステムが不安定になることがあります。
物理メモリが足りない場合はもちろんですが、仮想メモリが足りなくて不具合が発生することがあります。
仮想メモリは通常物理メモリの2倍程度を目安に設定しますが、最新のコンピュータ等でメモリが4GBや8GB程度ある場合は物理メモリの1/2~物理メモリと同じ容量でも大丈夫な場合があります。
使用状況を良く見極め適切な仮想メモリ容量を設定してください。

次にレジストリの問題の解消について説明します。
一般的にレジストリに問題がある場合はWindowsのイベントログにログが残ることが多いです。
まず、レジストリの操作を行う前にレジストリの完全なバックアップを取ります。完全なバックアップを取ります。大事な事なので二回(ry
次に各種ツールでレジストリの検査を行います。なお、むやみに関係のないレジストリをいじらない方がいいでしょう。
レジストリに問題が発見されたら、それを十分に調査し、適切な対処を施します。Google先生でこまめに検索するとよいでしょう。

次にシステムファイルの問題の解消について説明します。
Windowsのファイルが存在しない場合や破損している場合はそれらのファイルを正常なファイルに置き換えます。
通常、これらの問題のあるファイルの特定や正常なファイルへの置き換えは極めて困難なので、ほとんどの場合は再インストール処置がとられます。

これらの対処を行っても改善しない場合はハードウェアの問題が疑われます。

ハードウェアの問題の対処法 [edit]

下記にハードウェアの問題の対処法を記します。

オーバークロックをしている場合はまず定格動作に戻してください。ベンチマークを完走できてもBOINCではエラーが出る場合があります。

特定のテストで画面が乱れる等の症状が発生する場合は電源がきちんと供給されているかを再度確認し、

上の項目のドライバの更新の通りにドライバを試しても改善しない場合は物理的な故障や相性問題等が疑われます。

それでも改善されない場合は相性問題やほかのデバイスの問題の可能性があります。

念入りにグラフィックカード以外のテストを行っても異常がない場合はグラフィックカードの物理的な故障または相性問題が疑われます。

最近のGPUは高度な演算を行うために構造が複雑化し、CPUにますます近づいています。
それに伴い、かなりシビアな動作を行っている場合もあるため相性問題が発生することがあります。

それでも改善しない場合は環境の問題です。
諦めてください。

グラフィックカードの問題について GPUのバグ(エラッタ)により特定の演算処理でエラーが発生することもあります。また、GPUのメモリやコントローラが故障している場合もあります。このような場合は問題の特定が非常に困難になります。

一部のグラフィックカードはメモリに不具合のあるものが出回っているという情報があります。また、GPUの設計に問題があってエラーが発生する場合もあります。
このような場合は別なものに交換するしか問題の解決法がありません。
GPUのクロックアップは推奨されていません。PrimeGridではnvidiaのグラボについては、製造メーカーによるオーバークロックモデルの製品も使用もお勧めしないと記載されています。

protected modeでインストールしてしまった! [edit]

種類の違うビデオカード(GPU)を2枚以上挿して使いたい [edit]

そのまんまインストールしただけではダメなので、 C:\ProgramData?\BOINC\cc_config.xmlに

<cc_config>

<options>

<use_all_gpus>1</use_all_gpus> ←この一行

</options>

</cc_config>

を<options>以降</options>より前に追加してください。
参考ページ
http://www.gpugrid.net/forum_thread.php?id=2123
http://www.gpugrid.net/forum_thread.php?id=2359

その他の情報 [edit]

もっと詳しいことはBOINC公式wikiで
http://boinc.berkeley.edu/wiki/Client_configuration#Application_configuration

コメント [edit]

コメントはありません。 Comments/GPU?

お名前:

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS