はじめに [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とHaswell(とそれ以降)はOpenCLに対応しているのでBOINCでも利用出来ます。
最新のドライバーとBOINCをインストールして確認してください。
なお、モニター等をマザーボードに挿してない場合はVGAダミープラグを挿して下さい。

APUでは一部が対応しているらしいです。興味が有る方はご自身でお調べ下さい。

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

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

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

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

ATI/AMDグラフィックカードをBOINCで利用するにはATI Stream及びOpen CLに対応している必要があります。

Radeon HD 2400以降のボードであれば動くと思われます。 →ATI Stream SDKの対応GPU:v1.4 beta|v2.01
ただし、機種によっては倍精度の浮動小数演算がサポートされていないため、これが必要とされる一部のプロジェクト(Milkywayなど)では使えません。
Collatz Conjecture, DNETC@homeなどのプロジェクトは単精度のみサポートしているボードでも解析可能です。

ドライバはCatalyst 8.12以降が対応しています。

注:ATIのGPGPU技術の詳細な情報が少なかったため、AMDのサイトからひっぱってきて翻訳しました。ほぼ原文ままですので宣伝臭いですがご了承ください。

  • ATI Stream テクノロジーとは何か?
    演算処理を加速させるためのGPUとCPU技術です。
    ATI Stream テクノロジーはAMD グラフィックス・プロセッサー (GPU)のハードウェアとソフトウェアの高度な技術で、
    CPUと連動して動作させることにより従来のグラフィックスや映像処理を超えて多くのアプリケーションを加速させることができます。
    より効率的に集中的な演算処理を実行できるバランスのとれたプラットフォームで、利用者により良いアプリケーション体験を提供します。
  • ATI Stream 開発キットは何ですか?
    ATI Stream 開発キット(SDK)はATI Streamテクノロジーにより加速されたアプリケーションを素早く簡単に開発できるように
    AMDによって構築された完璧な開発プラットフォームです。
    SDKで高級言語のOpenCL(オープン・コンピューティング・ランゲージ)を用いてアプリケーションを開発できます。
  • OpenCLとは何か?
    OpenCLは異なったシステムで汎用計算をするための真にロイヤリティフリーでオープンなプログラミング標準規格です。
    OpenCLはマルチコアCPUと最新のGPUの両方に容易に対応でき、プログラマーがソースコードに集中することが出来ます。 
    主要なベンダーの代表者からなる標準規格委員会で開発されました。
    
    OpenCLは次のようなユーザーの要求に応えています。
    クロスベンダーで非独占的な製品のCPUとGPUコアでユーザーのアプリケーションを加速させること。
    
    もっと詳しい情報を得たい場合はOpenCL Zone(英語)を参照してください。

ATI Stream SDK Version 2.3はOpenCL1.1のサポートを含んでおり、ソフトウェアスタックの一部としてOpenCL ICD(Installable Client Driver:インストール可能なクライアントドライバ)を使用します。Beta版のATI Stream SDK Version2.0は変更された要件と共にOpenCL ICDの要件に準拠するようにコードを書く必要があります。

SDK Version 2.3を利用するには適切にインストールする必要があります。手順に関しての重要な情報は次の技術情報をお読みください。
KB71 - OpenCLコードをOpenCL ICDが動作するように書き換えます。
KB127 - 新しいATI Stream SDKをインストールする前に以前のバージョンをインストールします。

新しいOpenCL ICDモデルはLinuxのベンダー固有ライブラリの場所が変更されました。from /usr/lib/OpenCL/vendors to /etc/OpenCL/vendors
LinuxにATI Stream SDK Version2.3をインストールする前にはこの重要な変更点について注意してください。また、実際のベンダー固有のライブラリの代わりに、ICDのファイルはベンダー固有のライブラリの名前を指定するために使用されています。詳細については、ATI Stream SDK v2.3のインストールに関する注意事項の項目を参照してください。

OpenCLのGPUサポートにつきましては、ダウンロードして先に進む前にお使いのグラフィックカードは、以下の指定されたテストドライバーをインストールします。追加情報については、また、システム要件およびドライバ互換性を参照してください。

  • ATI Stream SDK v2.3のシステム要件
    サポートするOS
    Windows7 32/64bit
    Vista SP2以降 32/64bit
    XP SP3 32bit,SP2 64bit
    Linuxopen SUSE 11.3 32/64bit
    Ubuntu 10.04,9.10 32/64bit
    Red Hat Enterprise Linux 5.5,5.4 32/64bit
    サポートするコンパイラ
    WindowsIntel C Compiler (ICC) 11.x
    Microsoft Visual Studio (MSVS) 2010 Professional Edition
    Microsoft Visual Studio (MSVS) 2008 Professional Edition
    Minimalist GNU for Windows (MinGW) [GCC 4.4]
    LinuxGNU Compiler Collection (GCC) 4.1 or later
    Intel C Compiler (ICC) 11.x
    サポートする装置
    AMD Fusion APUAMD Eシリーズ
    AMD Cシリーズ
    AMD Radeon HD6900シリーズ(6970,6950)
    6800シリーズ(6870,6850)
    ATI Radeon HD5900 シリーズ (5970注:シングルGPUモードをサポートしています),5800シリーズ (5870, 5850, 5830),5700シリーズ (5770, 5750),5600シリーズ (5670),5500シリーズ(5570),5400シリーズ(5450)
    ATI FireProV8800,V7800,V5800,V4800,V3800
    ATI Mobility Radeon HD5800シリーズ (5870, 5850, 5830),5700シリーズ (5770, 5750, 5730),5600シリーズ (5650),5400シリーズ (5470, 5450, 5430)
    ATI Mobility FireProM7820,M5800
    AMD CPUX86 CPU w/ SSE 2.x 以上
    ベータレベルでのサポートされた装置
    ATI Radeon HD4800シリーズ (4890, 4870 X2(注:シングルGPUモードをサポートしています), 4870, 4850 X2, 4850, 4830),4700シリーズ (4770),4600シリーズ (4670, 4650),4500シリーズ (4550),4300シリーズ (4350)
    ATI FireProV8750,V8700,V7750,V5700,V3750
    AMD FireStream9270, 9250
    ATI Mobility Radeon HD4800シリーズ (4870, 4860, 4850X2, 4850, 4830),4600シリーズ (4670, 4650),4500シリーズ,4300シリーズ
    ATI Mobility FireProM7740
    注:ベータレベルでのサポートはOpenCL1.0のみのサポートです。
    適合ドライバ
    ATI Stream SDK v2.3ATI Catalyst 10.12 (8.80)
    ATI Catalyst 10.11 (8.791)
    ATI Stream SDK v2.2ATI Catalyst 10.9 (8.771)
    ATI Catalyst 10.8 (8.762)
    ATI Catalyst 10.7 Update Driver for OpenCL 1.1 Support (8.753.1)
    ATI Stream SDK v2.1ATI Catalyst 10.4 (8.723)
    ATI Catalyst 10.3 (8.712)
    ATI Catalyst 10.2 (8.701)
    ATI Stream SDK v2.01ATI Catalyst 10.2 (8.701)
    ATI Catalyst 10.1 (8.69)
    ATI Catalyst 9.12 (8.682)
    ATI Stream SDK v2.0ATI Catalyst? 9.12 (8.682)
  • ATI Stream SDK v1.4betaのシステム要件
    サポートするOS
    WindowsXP SP3 32/64bit
    Vista SP1以降 32/64bit
    Linuxopen SUSE 11.0 32/64bit
    SUSE Linux Enterprise Server 10 SP2 32/64bit
    Red Hat Enterprise Linux 5.2,5.1 32/64bit
サポートするコンパイラ
WindowsMicrosoftR Visual StudioR (MSVS) 2005,2008
LinuxGNU Compiler Collection (GCC) 4.1.2
サポートする装置倍精度浮動小数点演算対応kernel scatter対応
ATI Radeon HD2350, 2400 Pro, 2400 XT, 2400 LE, 2600 Pro, 2600 XT,
2900 GT, 2900 Pro, 2900 XT, 3410, 3430, 3450, 3470
××
3690, 3830, 3850, 3870, 3870 X2
4350, 4550, 4650, 4670×
4770, 4830, 4850, 4850 X2, 4870, 4870 X2, 4890
ATI FireGLV3600, V5600, V7600××
V7700
V8600, V8650××
ATI FireMV2260××
ATI FirePro2260, 2450, V3700, V3750, V5700, V7750××
V8700
AMD FireStream9170, 9250, 9270
ATI Mobility Radeon HD3410, 3430, 3450, 3470, 3650, 3670××
3850, 3870
4300シリーズ, 4500シリーズ, 4650, 4670×
4850, 4850x2, 4870
AMD ChipsetATI Radeon HD 3000 Graphics (AMD 760G)
ATI Radeon HD 3100 Graphics (AMD 780V)
ATI Radeon HD 3200 Graphics (AMD 780G)
ATI Radeon HD 3300 Graphics (AMD 790GX)
××
ATI Radeon EmbeddedE2400 Discrete GPU
E2400 MXM-II Module
××
E4690 Discrete GPU×
ドライバ
ATI Radeon HDATI Catalyst 9.7
ATI FireProATI FirePro Unified Driver 8.603
AMD FireStreamATI Catalyst 9.7
ATI Mobility Radeon HDContact the laptop manufacturer for the appropriate driver.
AMD ChipsetATI Catalyst 9.7
ATI Radeon EmbeddedATI Catalyst 9.7

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による動画再生支援を使用している場合は、アイドリングまでの判定時間を長くしておくと快適に動画が見られるでしょう。

  • 最適なアイドリング判定等の設定を見つけた場合、BOINCスレに晒すと誰かの役に立つかもしれません。
  • 特定のドライバとFlashの相性が著しく悪い場合があるようです。スレに報告しておくといいでしょう。

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

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

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

プロジェクト名NVIDIA(CUDA)AMD(ATI Stream)備考
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世代以上なら十分な動きをします

This is performance guide of nVidia graphic cards on PS3GRID:(PS3GRID(GPUGRIDの前身)でのnVidiaグラフィックカードの性能案内)

機種処理速度
GeForce 280GTX25000 sec/WU
GeForce 260GTX28000 sec/WU
GeForce 9800GTX47000 sec/WU
GeForce 8800GTS51250000 sec/WU
GeForce 8800GT58000 sec/WU
GeForce 9600GT70000 sec/WU
GeForce 8800GS74000 sec/WU

演算処理性能表(Gflopsの高い順に並べてあるが、CUDAコアの世代が違うため必ずしもGflopsが高いと処理が速いというわけではない事に注意。)
参考

機種チップshadersGflops適合
GTX 295GT200b240x2894.2x2(1788.4)
GTX 480GF1004801344.96
GTX 470GF1004481088.64
GTX 285GT200b2401062.7
GTX 275GT200b2401010.88
GTS 450GF104256960?
GTX 280GT200240933.1
GTX 260GT200b216804.8
GTX 260GT200192715.4
GTS 250G92b128705
GTS 150G92b128705
GTS 440GF104256665.6?
GTS 240G92a/b112554.32
GTS 430GF104192518.4?
GT 240GT21596385.9
240GT24096385.9
GT 220GT21648196

GT200世代のチップはGT92世代のチップよりGFLOPS当たりの性能が約41%向上している。

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以上が必要である。

↓はBoincManagerで計算されるBoincGFLOPS値(実測値)の一覧。通常のGFLOPS値とは違うので注意。

機種チップCompute CapableBoinc GFLOPS(peak)CC1.1換算GFLOPS値
GT 220GT216CC1.2128173
GT 240GT215CC1.2257347
GTX 260-216GT200bCC1.3596834
GTX 275GT200bCC1.3674934
GTX 285GT200bCC1.3695973
GTX 295GT200bCC1.311921669
GTX 480GF100CC2.013451816
GTX 470GF100CC2.010891470
GTX 465GF100CC2.08551154
GTX 460(768MB)GF104CC2.1907
GTX 460(1GB)GF104CC2.1907

リファレンス仕様の一覧です。2枚のGTX460は推奨されているカードですが、まだ完全な最適化はなされていません。
したがって正確な補正係数はでていません。

この表の特記事項は、精度と有効期間です。
この比較は、異なったシステム(CPU)が使われているだけでなく、同じドライバが使用されているわけではありません。
また、Fermiでv6.11のアプリケーションを実行した一つのタスクのタイプだけが確認されました。
原文:
Only Reference specs listed. The two GTX 460 cards are Recommended, but are not fully optimized just yet, so no correction factors.
The limitations of this table are accuracy and lifetime; comparable but different systems (CPUs) were used, not all cards used the same drivers,
only one task type was looked at, and only the Fermi ran the v6.11 app.

SETI@home [edit]

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

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

Einstein@Home [edit]

Binary Radio Pulsar Searchが対象。

MilkyWay@home [edit]

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

参考

ATI/AMD系GPUは以下のものが対応している模様。

世代型番
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以降のものが対応していると思われます。

処理時間参考
ATI系NVIDIA系
[v2.06][v2.09?]OC不明
HD 2600 (800MHz)定格 1時間50分8800GS 51分
HD 3650 (725MHz)定格 2時間05分GTX 275 50分
HD 3650 (850MHz)OC 1時間45分GTX 285 20分
HD 4550 (620MHz)OC 2時間52分GTX 460 15分
HD 4770 (750MHz)OC 19分GTX 470 10分
HD 5850 (725MHz)定格 8分50秒
HD 5850 (850MHz)OC 7分50秒
HD 5970 (725MHz)定格 7分55秒[v2.03]
[v2.09?]OC不明GTS 250 (745MHz)定格 40分
HD 4850 12分GT 220 (625MHz)定格 2時間半
HD 5670 20分弱8600GT (540MHz)定格 4時間
HD 5770 12分Quadro FX580 定格 4時間
[v2.09]Quadro FX1700 定格 5時間
HD 6850 (850MHz) 7分50秒
HD 6870 (915MHz) 6分40秒

PrimeGrid [edit]

2014年12月現在、PPS(Sieve)、Generalized Fermat Prime Search、Generalized Fermat Prime Search World Recordにて解析可能。NVIDIA、ATI/AMDのGPUともに可能。

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

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

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

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

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

  • Windows Live Mesh
  • VNC

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

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

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

Point:まれに宿題の不具合でエラーが発生することがあります。同様のエラーが出てる人がいないか確認をしてください。
  • BOINCで計算エラーが発生する場合は、まず最初にBOINC Managerのイベントログ(Massage)をチェックしてください。
  • ここで有益な情報が得られない場合は、次にWindowsのイベントログを参照してください。
    Windows付属のイベントビューアを起動し、アプリケーションの項目から詳細をチェックしてください。
  • なにかBOINCに関するログが残っていれば、それをGoogleで検索したり、スレッドに報告してみてください。
    また、システムの項目のログも参照してください。BOINCだけでなくディスプレイドライバの不具合の可能性もあります。
    なお、"ディスプレイ ドライバ が応答を停止しましたが、正常に回復しました。"というログがある場合はディスプレイドライバの更新で直る可能性があります。
    NVIDIAのグラフィックカードをお使いの場合は"ディスプレイ ドライバ nvlddmkm が応答を停止しましたが、正常に回復しました。"というログが見つかることがあります。これは主にnvlddmkm.sysというファイルの問題です。これをGoogleで検索すると詳細が見つかるので、ファイルの更新などの対処を取ってください。
  • ここまでの対処でトラブルが改善しない場合はディスプレイドライバを更新します。
    GPUベンダーのサイトへ行き最新のドライバをダウンロードおよびインストールを行ってください。
    ドライバはWindowsの安定性に大きくかかわるソフトウェアです。万が一の事態に備えバックアップ等を取られることを強くお勧めします。
    なお、念のため既存のドライバを削除して新規クリーンインストールすることをおすすめします。
  • また、たまに再起動をされない方がいますが、再起動をしないとファイルが更新されないので指示に正しく従い再起動を行ってください。

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

  • もし、複数の旧バージョンドライバを試しても改善しない場合はWindows自体の問題かハードウェアの問題の可能性があります。

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

Windowsの問題の対処法 [edit]

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

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

  • 32bit Windowsで4GB近くメモリ積んでるけど仮想メモリ設定する必要ある?
    A.場合によっては必要。というかたいていの場合必要。
    32bit Windowsの場合、物理メモリは4GB未満しか認識できないが、仮想メモリ(ページファイル)は16TBまで設定・利用が可能。
    説明するのがめんどいから詳しくはメモリアドレス空間とかでググれ。
    Point:メモリを16GBといったような大容量のメモリ積んでいるコンピュータでも使用状況によっては32GB程度の仮想メモリが必要な場合もあります。

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

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

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

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

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

オーバークロックをしている場合はまず定格動作に戻してください。ベンチマークを完走できてもBOINCではエラーが出る場合があります。
  • まず、電源の不足が疑います。
    電源の出力が足りていても系統別の出力が足りていない可能性があります。十分な余裕を持たせたうえで系統別の負荷をできるだけ分散させて負荷テストを行ってください。
  • 次に熱暴走を疑います。
    ケースがきちんと冷却されているか、GPUのファンが正常に作動しているか、GPUの温度が正常か確認してください。
  • 次にグラフィックカードのテストを行います。
    各種ツールで負荷テストを行ってください。
    また、念のためGPU-Z等で温度も確認することをおすすめします。

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

  • 各種モニタリングをしても特に異常が見当たらない場合はドライバを更新してください。

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

  • IRQが競合していないか確認し、必要であればIRQを手動で割り当て直してください。
  • 次にグラフィックカードを別なスロットに差し替えてテストします。
  • 改善されない場合は電源ケーブルを差し替えてテストします。

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

  • 使わないデバイスを取り外してテストしてください。
  • またM/BのBIOSの更新を検討してください。
  • それでも改善されない場合はメモリモジュールのテストを行ってください。

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

  • 念入りにグラフィックカードをテストしてください。
    それでも異常が見当たらない場合はパーツの相性問題が疑われます。

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

  • 相性問題が発生した場合はM/Bかグラフィックカードを交換してください。

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

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

一部のグラフィックカードはメモリに不具合のあるものが出回っているという情報があります。また、GPUの設計に問題があってエラーが発生する場合もあります。
このような場合は別なものに交換するしか問題の解決法がありません。

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

  • 宿題が残っている状態で、アンインストールしてからprotected modeをチェックせずインストールをしても、DLL initialization errorが出て宿題を再開できません。
  • まず、参加しているプロジェクト全てに対し「タスクの新規取得禁止」を実行したあと、全ての宿題を提出、報告しましょう。
  • 「タスク」タブが空っぽになったら、参加しているプロジェクト全てに対し「プロジェクトをリセット」します。
  • そのあと、BOINCをアンインストールして、protectetd modeをチェックしないでインストールをします。
  • 「タスクの新規取得を許可」で処理を再開します。

種類の違うビデオカード(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]

  • 特定のアプリケーション同士の相性が悪い場合もある。
  • 個人的な経験だとFlashで動画再生支援が効いているときにエラーが起こりやすい気がする。
  • GPUレンダリングをするブラウザなんかも要注意かも。
  • GPUのメモリが故障していたとき、あまりメモリを使わないプロジェクト(PrimeGrid)は問題なかったのにそれなりにメモリを使うプロジェクト(GPUGRID)でエラーが出たりした。
  • app_config.xmlでマルチスレッド
    BOINCクライアントソフトウェアのバージョンが7.0.40以上ならこの方法が良い
    app_config.xmlの名前でファイルを作成
    ファイルにこれを書く
    <app_config>
    <app>
    <name>アプリ名前</name>
    <max_concurrent>4</max_concurrent>
    <gpu_versions>
    <gpu_usage>0.5</gpu_usage>
    <cpu_usage>0.5</cpu_usage>
    </gpu_versions>
    </app>
    </app_config>
    アプリの名前はマルチスレッドにしたいアプリの名前を書く
    max_concurrentで最大同時稼働タスク数を設定
    gpu_usage cpu_usageの数値を変えてのスレッド数の調整
    書き終えたらBOINCのデータフォルダにあるプロジェクトのフォルダに入れる
  • NVIDIA GPU複数枚刺しで先頭の1枚目だけBOINC以外の用途に使いたい場合
    C:\ProgramData\BOINC\cc_config.xmlに
    <cc_config>
    <options>
    <ignore_nvidia_dev>1</ignore_nvidia_dev> ←この一行を
    </options>
    </cc_config>

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

コメント [edit]

最新の20件を表示しています。 コメントページを参照

  • 全画面から普通の画面に戻るとき 動画再生支援の終了時 ウィンドウの 最小化最大化のときに勝手に終了することが多い気がします。 電源が非常に重要になってきます。点数を稼ぎたかったら、電源をよくして、安定して成績が出るようにするといいでしょう。 -- K 2012-05-09 (水) 13:06:46
  • WCGでもGPUがらみのBETA版の宿題が降りてくることがありますよ。 -- こう 2012-09-15 (土) 09:36:39
  • wcgのGPU対応について追記しました。 -- WCG週報@みさき先輩萌@one ◆MisakigHDA 2012-11-05 (月) 22:52:07
  • WCGのHCCがGPU対応しましたが、プロジェクトのバージョン(?)が上がるようなので、上記のマルチタスク化のテキストを丸写ししただけでは宿題が落ちてこないようです。どこを直せば良いのかわからないので俺には修正できません。詳しい人お願いします。ぶち込んだXMLファイルでをどかせば宿題は落ちてきます -- 名無しさん 2012-11-09 (金) 15:43:22
  • WCG GPUマルチ化のapp_info.xmlを修正しました_確認ください -- 名無しさん 2012-11-10 (土) 13:50:59
  • 推奨設定…Minimum work buffer[0.1]日
    この理由について教えてください -- TJ 2012-11-11 (日) 14:33:17
  • 宿題を消化するためですよ >推奨設定…Minimum work buffer[0.1]日 -- 名無しさん 2012-11-17 (土) 12:44:51
  • WCGの記述を修正しました。 -- WCG週報@みさき先輩萌@one ◆MisakigHDA 2012-11-17 (土) 12:46:03
  • ATI+Nvidia環境で、app_info.xml使って2枚同時にGPUマルチスレッド(Nvidiaは2T、ATIは4T)みたいにするのってどういう記述になりますかね? -- 名無しさん 2012-12-12 (水) 04:47:39
お名前:

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-05-17 (水) 17:13:48 (427d)