タグ:CUDA ( 5 ) タグの人気記事

e87.com(千趣会イイハナ) 花を贈るなら日比谷花壇

NVIDIA Quadro FX 3700 で OpenGL 描画時にノイズの嵐

最近、職場のPCのグラフィックカードを Quadro FX 4600 から Quadro FX 3700 に

交換しました。

というのも、CUDAでプログラムを作成するために、

どうしても Compute Capability 1.1 以降の機能が必要になったから。

Quadro FX 4600 は、古いため、Compute Capability が 1.0 なのでした。

必要な機能は、32bit Integer の Atomic関数。

これなくて、まともな処理出来るのか???と疑問ですが、

かなり無理矢理な方法を使えば、無くてもどうにかなるかもしれないけど、

そのためにコードがぐちゃぐちゃになるし、難しい。


とにかく、FX 3700を使っているんだけど、OpenGLで絵を描画すると、

何フレームかに1度くらいの頻度で、描画がおかしくなり、モデルの周りに

ノイズが広がった感じになってしまう。


隣の席(同じくFX 3700)で試してもらったけど、同じ症状だったから、

最初、プログラムに原因があると思い込んで、シンプルなOpenGLの

プログラムを作成してテストしてみたけど、ダメ。

GLUTのバージョンなんかが悪いのかと思ったけど、そうでもないらしい。

以前作った普通に動くはずのプログラムもノイズだらけ・・・

これはおかしい。


自宅(GeForce GTS 250)で同じプログラムを実行してみたら、全くノイズなし。

・・・

ハードの仕様か?ドライバの仕様か???

どちらにしても、私には非はない事ははっきりした・・・

今日の午後の時間を返してくれぇ~~~~~ ・・・・・・ (;_;)




ユーブック
[PR]
by isoq | 2010-11-17 00:31 | コンピュータ
e87.com(千趣会イイハナ) 花を贈るなら日比谷花壇

CUDAで粒子シミュレーション

CUDAで、シミュレーションを書いていますが、

やっとまともに動き始めました。

32x32x32要素の粒子シミュレーションですが、計算時間は、

GPUだと、5ms(干渉少)~15ms(干渉多数) ・・・ GeForce GTS 250 (128コア)

CPUだと、50ms(干渉少)~80ms(干渉多数) ・・・ Core i7 860 (2.8GHz) 1スレッド

と、CPUもかなりがんばっています。

CPUを10コア使えば、GPUの128コアとほぼ同じ以上の処理ができるということは、

とにかく、1コアあたり1/10くらいの仕事はしてくれるのかな?という感じ。

GPUのコア数を増やせば、より処理時間が減るので、480コアの

GeForce GTX 480を使用すれば、約4倍速く処理が終わり、

目標としている1msに近づきそうです。

(本当は要素数 100x100x100 でやりたかったので、かなり妥協の妥協ですが・・・ ^^;)


こうしてみると、CPUの方が、アーキテクチャやパイプライン処理の

最適化が進んでいる印象を強く受けますね。

あと、

①これを最適化して、1msオーダーで処理を行う。

②粒子同士の連結(スプリング・ダンパー)をつける。

③より多コアのGPUでやってみる。

というところが、当面の目標になります。

先は長そうですが、光は見えてきた感じです。


AMD ATI Radeon HDだと、最上位機種に3000コアとかありますが、

これって、NVIDIAと同じ性能のコアが3000個付いていると

考えて良いのかなぁ・・・???


要するに、↓ これを買わなきゃって事なんだけど。(PRですいません)

デル株式会社
[PR]
by isoq | 2010-11-13 19:29 | 3Dグラフィックス
e87.com(千趣会イイハナ) 花を贈るなら日比谷花壇

Parallel Nsight

nVidia の GPU 開発環境の一環として公開されているデバッガ、

Parallel Nsight なのですが、けっこう使用条件が厳しい・・・

・ Windows Vista / 7 限定。

・ Aeroテーマを無効にする必要あり。

・ ローカルでバッグにはGPU2個必要(?)

・ WPF(Windows Presentation Foundation)のハードウェアアクセラレーションをOFFにする必要あり


これ全部やって、まともにデバッグができるようになるのか!?

ただいま実験中です。



追記)

・・・・・

やっぱ、できませんでした。

もう1枚グラフィックカード差して、GPUを増やすしかないようです・・・

オーマイがぁーーーー!!!


デル株式会社
[PR]
by isoq | 2010-11-10 23:45 | 3Dグラフィックス
e87.com(千趣会イイハナ) 花を贈るなら日比谷花壇

CUDAでちゃんと100倍超えた!

この間、CUDAでGPGPU の記事で、

  処理を CUDA で書き直しても10倍程度しか高速化されず・・・

と書きましたが、これは書籍に掲載されていたコードが シェアードメモリ を使用していない

ちょっと中途半端な物だったのが原因でした。

シェアードメモリを使用するように書き直してみると、しっかり100倍以上!の

速度で処理してくれるではありませんか!



もし、このコードで著者の方のPC(GeForce GTX 480)において、

100倍の高速化が成されていたなら、

GeForce GTX 480 ってドンだけ速いんだ!!!!! って事になりますが、

おそらく、掲載したコードと、実際に時間を計測したコードに違いがあるのでしょう。



ちなみに、それほどたいしたことがない私の環境(Core 2 Duo 2.4GHz)でも、

CPUプログラムの実行速度を著者の環境と比べて、3倍くらい速く動いていました。

どんだけ遅いCPUに速いGPUを乗せて、「ほら、こんなに差が出るでしょ??」

っとやっているのか・・・なんだか疑惑がわきました (^ ^;)



ちなみに、




最後に、AMDのRADEONってありますが、

GeForce GTX 480 が、480コア。   ¥46,799~
GeForce GTX 580 が、512コア。 =未発売=

それに対して、

Radeon HD 5870 が、1600コア!   ¥37,970~
Radeon HD 5970 が、3200コア!!!!!    ¥65,800~

AMD(旧ATI) Radeon 恐るべし!

速いとこ、CUDAを卒業して、OpenCLへポートしなきゃ・・・




  

[PR]
by isoq | 2010-11-02 22:23 | 3Dグラフィックス
e87.com(千趣会イイハナ) 花を贈るなら日比谷花壇

CUDAでGPGPU

物理的なシミュレーションの解像度と速度を上げようと

現状のマルチコアCPUを駆使した並行処理のプログラムを

流行のメニーコアGPUによる超並列化させようとしています。

使用するのは、NVIDIA環境でToolkitはCUDAです。

(OpenCLとかでも良いのですが、わかりにくそうなので、

 とりあえずCUDAで始めることにしました。)

まず簡単なプログラムを作成してCPUとGPUでの処理の違いを

みてみたのですが、予想していたような100倍程度の高速化には

ほど遠く、10倍程度しか高速化されませんでした・・・

書籍によれば、同じプログラムで、CPUよりも約100倍高速化されているらしいのですが・・・

いろいろ調べるうちにわかったのですが、どうやら、今使っているGPUがヨワッチイのが原因のようです。

私が使用しているのは、NVIDIA Quadro FX 4600 という

プロフェッショナル向けのハイエンド ボードなのですが、

2世代前のボードなので、compute capability が 1.0 と低い。

1.0 だと、遅いグローバルメモリへのアクセス時に完全に連続した領域へ、

順序よくアクセスを集中させる必要があるらしく、それが結構難しいのと、

メモリがDDR3で、帯域幅が少ないのと、

コアが96個しかなくて、同時処理数が少ないことと・・・・

そんな違いがあり、参考にした書籍の著者の環境と10倍の差が付いてしまったらしい。

ボードの単価にしたら、こっちの方が3倍も高いのに、10倍も遅いのだ。

こりゃ何とかしにゃぁいかん。



必要条件としては、Quadro(OpenGL/QuadBufferStereo) なので、選択肢は限られ、

10万円前後で Compute Capability が2.0のボードは、Quadro 4000 。

Quadro 2000には、3pin mini-DIN が付いていない様子だが、

ここの説明によると、

3D Vision をつなげて 「(NVIDIA IR出力付の)ジェネリック・アクティブ・ステレオ」 を選択すると、

OpenGL/QuadBuffer で、3D Vision の駆動ができるらしい。

でも、Quadro 2000だと、メモリ容量が少なく帯域が狭いので、どうせなら4000が良い。



・・・QuadBufferが、GeForce でできれば、Quadro なんて馬鹿高いボードを買う必要がないのに・・・

Compute 能力的には、GeForce GTX 460 の方が、半額以下で倍くらい強いはずなのに・・・



そう考えると、GPGPU専用にGeForce GTX 460/470/480あたりを乗せて、

ステレオ出力用に Quadro FX 380 あたりを乗せて、

2枚構成にして動くだろうか???

それができたら、もはやTeslaの出番はなくなるから、

できないようになっているのかなぁ~

とりあえず、GTX 460 を買ってみて、既存の Quadro FX 4600 と

2枚差しで動くかやってみようかなぁ~♪


ちなみに、最近世界最速!を発表した中国のスーパーコンピューターも、

Tesla C2050 を 7168 枚積んでいるそうだ。

おっかないねー




参考リンク:
ELSA GLADIAC GTX 480 1.5GB  ¥52,470  パソコン工房
ELSA GLADIAC GTX 470 1.2GB  ¥34,820  パソコン工房
ELSA GLADIAC GTX460 768MB  ¥22,200  ioPLAZA

Quadro 4000  ¥99,799  ツートップインターネットショップ
Quadro FX 380  ¥16,469  ツートップインターネットショップ

NVIDIA Tesla C2070  ¥488,000  ioPLAZA
NVIDIA Tesla C2050  ¥305,000  ioPLAZA


PR:

奥様のPCにぴったり!
信頼性抜群のレノボ製ネットノートの大本命!

IdeaPad U160 (スクエア・レッド)
特別特価(税込) ¥60,590
¥3030相当のポイント還元
送料無料!(11/1正午まで)
(詳細)

IdeaPad U160 (スクエア・レッド)は、十分な性能と広い画面を持ちながら、
バッテリーの持続性に優れた省エネタイプのネットノート(ミニノート)です。

夕べのひと時を電源ケーブルを引き回すことなく、
ソファーでもベッドでもトイレでも・・・
どこへでもワイヤレスで持ち運んで使えるので、とっても便利です。

1.2GHz駆動のデュアルコア Pentium DualCore U5400 を搭載し、
3GBメモリー、500GBHDDを搭載した高性能パソコンですが、
レッドとホワイトを基調としたおしゃれな外観で、
奥様専用のパソコンとしてお勧めです ^^

重さは1.4Kgと女性でも簡単に持ち運べます!
バッテリーも5時間持ちます!
Windows 7 Home Premiumも入っています!
無線LANもついてます!(注:リンク先ページには書かれていませんが付いてます。)
130万画素のWebカメラも付いてます!(注:リンク先ページには書かれていませんが付いてます。)
カードリーダーも入っています!
16:9液晶(1366x768) も付いてます!

これだけ、全部付いていて、たったの ¥60,590 ポッキリです。

今なら、送料も無料♪

お求めは、アイ・オー・データ直販サイト のioPLAZA まで。
[PR]
by isoq | 2010-10-31 01:41 | 開発日記
e87.com(千趣会イイハナ) 花を贈るなら日比谷花壇