« 衆議院3分の2の使い方 | メイン | スターオーシャン4 始めました »

2009/02/19

コメント

最近、Windows 7 64bit ベータ版のPCを組みました。CPUはAMD Phenom 9600(TLBエラッタあり)
ビデオはATI RADEON HD4670で、常時 SETI@home と Folding@home を走らせています。
Foldingの方は、RADEON GPUに広く対応(もちろんCUDAやPS3にも)しており、Team 2chに参加
しています。 SETIクライアントはCUDA対応のみで、4タスク動作中です。そのうち Open CL版が出
てくるかもしれません。
 確かにCUDAやFoldingでのGPUクライアントの処理速度はCPUのそれを凌駕していて、遊んでいた
GPUが働いてくれるのは頼もしいのですが、Windows Vista上で、GPUはGeforce 9800 GTを使い
Folding と SETI を実行したらば両方ともGPUで実行されて、Vistaの画面描画がカクカクするように
なって精神衛生上よろしくありません。アプリケーションを作る人は、GPUとCPUのバランスもとるよう
気をつけてほしいです。

Nikapyon 様、コメントありがとうございます。
いいマシンをお組みになられ、うらやましい限りです。

仰せの通り、マルチプロセス・マルチスレッド環境においては、一つのアプリケーションソフトウェアがそれを長時間占有してはならないという、当たり前の常識がありますが、GPGPU(CUDA)のそれは自アプリケーションソフトウェア内でのマルチスレッドは考慮しているものの、他アプリケーションソフトウェアとのマルチプロセスはあまりに無頓着です。

理由は、GPUリソース(演算データ及び状態)の待避が大変だということに尽きるでしょう。今のCPUのように頻繁にプロセスを切り替えることが前提となっていないGPUでは、切り替えることそのものがボトルネックです。よって、クリティカルセクション等を使ってスレッド間の同期を取るわけですが、そうすることで今度はプロセス(スレッド)間の切り替えが遅くなる(スムーズに行かない)。つまり、カクカクになってしまう。

結論としては、CPUと同じくマルチGPUにするのが一番なのですが、今度はそこまでのGPUパフォーマンスが必要なのか(Core i7が必要かというのと根は同じ)という問題が出てきて、結局は特殊な使い方は例外&高価となってしまう流れになるでしょうか。

みんなが気にしていなかったGPUをみんなが気にするようになって、新たな需要(使い道)が掘り起こされる。NVIDIAにとっては、この道に進むべくしか戦略上ないにもかかわらず、それをIntelに断たれてしまう。Nehalemアーキテクチャ云々だけではない問題だと思いますね。

コメントの確認

コメントのプレビュー

プレビュー中です。コメントはまだ投稿されていません。

処理中...
コメントを投稿できませんでした。エラー:
コメントを投稿しました。コメントは記事の投稿者が承認してから表示されます。 さらにコメントを投稿する

入力された文字と数字は画像と一致していません。再度入力してください。

最後に、下の画像の中に見える文字と数字を入力してください。これはプログラムを使ってコメントを自動的に投稿するのを防ぐために行われています。

画像を読み取れない場合は 別の画像を表示してください。

処理中...

コメントを投稿

コメントは記事の投稿者が承認してから表示されます。

アカウント情報

(名前とメールアドレスは必須です。メールアドレスは公開されません。)

2024年1 月

  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31