GPGPU
..
421:デフォルトの名無しさん
07/03/23 07:20:12
URLリンク(fah-web.stanford.edu)
GPGPU遅いとかいうのはnVIDIAのG7x前提だからだったんだね・・・
ATIのR580速いや・・・
Cellの倍の実パフォーマンス・・・
1台あたりは
PS3 30GFLOPS
GPU 60GFLOPS
422:デフォルトの名無しさん
07/03/23 10:07:36
そのCellもフルパワー出てるかわからないけどね
423:デフォルトの名無しさん
07/03/23 10:43:06
>>421
俺、G7xに限らず、G80でも試したが、結果は似たようなもんだったぞ。
ぶっちゃけGPGPUは、もはや言葉だけが先行した流行りモノに過ぎない気が・・・
実際、BrookGPUとか使えばC使える人なら簡単にGPGPU出来るようになったのに
誰も使ってないし、使ってる人は割りと失望してる人が多い・・・
424:デフォルトの名無しさん
07/03/23 12:59:13
G80持ってる人ここのヤツ試してくれん
URLリンク(gpgpu.jp)
URLリンク(gpgpu.up.seesaa.net)
URLリンク(gpgpu.up.seesaa.net)
姫野ベンチ その2
URLリンク(gpgpu.jp)
brookbench ver.0.01
URLリンク(gpgpu.jp)
G80とG7xでそんなに違わないって>>423の発言が気になる。
G70とRV530で十倍近い差有るし・・
じつは、G80もG70同様遅いのかな?
425:デフォルトの名無しさん
07/03/23 13:31:21
上手く全てのコアを綺麗に動かせれば、当然差が出るけど
実際の場面で、汎用処理でそういうことをするのは難しい。
姫野ベンチのようなプログラムだと差が出るだろうけどな
426:デフォルトの名無しさん
07/03/24 22:24:06
いい加減ナントカシェーダという呼び方はやめなさい
427:デフォルトの名無しさん
07/03/25 02:00:17
既に定着してしまっているモノを変えたければ、
より多くの人に共感してもらえて説得力のある代替案を出さなきゃ。
428:デフォルトの名無しさん
07/03/25 02:08:48
David Kirk 「この命名はおかしいと自分も思う。Shader(プロセッサ)はプロセッサと呼ぶべきだと思う」
URLリンク(pc.watch.impress.co.jp)
429:デフォルトの名無しさん
07/03/25 02:46:49
nvidiaはストリームプロセッサと呼んでるじゃん
430:デフォルトの名無しさん
07/03/25 05:51:54
シェーダーって元々影処理専門だったんだっけ?
431:デフォルトの名無しさん
07/03/25 06:59:56
それはシェイドシェイダーユニットの役割ですね
432:デフォルトの名無しさん
07/03/25 14:44:57
shade (r)だから影erみたいなもんだろ。
433:デフォルトの名無しさん
07/03/25 17:09:13
元が3DCG用語だからな
それをgenericな用途に使おうとしてるんだから
呼び方に違和感が出てくるのはしかたあるまい
434:デフォルトの名無しさん
07/03/25 19:00:37
3DCGの範疇であるvertex shaderの時点でもうおかしいわけなんだが
435:デフォルトの名無しさん
07/03/25 19:44:42
ピクセル影er
頂点影er
プログラム可能な影er
436:デフォルトの名無しさん
07/03/25 22:56:05
CG用語のシェーダーっていうのは凄く広い意味を持ってるからややこしい。
基本的に与えられたデータを元にピクセル出力するためのプログラムは全てシェーダー。
頂点処理をするのもそうだし、毛を生やしたりするのもシェーダーと言ったりする。
437:デフォルトの名無しさん
07/03/25 23:08:12
「シェーダ」は元々はRenderManとかmental rayとかの用語でしょ
438:デフォルトの名無しさん
07/03/26 04:57:07
vertex shaderはピクセルの出力と全く関係ないような
439:デフォルトの名無しさん
07/03/26 09:44:43
CUDAを使ってトリップ検索させると速いですか?
440:デフォルトの名無しさん
07/03/26 09:46:56
そういうのには向いてません。
高速にcryptを実行するってのは前に試したけど
いい感じにかきなおせなかったわ。
441:440
07/03/26 09:49:34
ちなみに、cryptの能天気な話は
URLリンク(www.gpgpu.org)
ここみてちょ。
ここに載ってるパワポは見た上で試したが…。
こいつら、分かってて書いてるんだろうけどさ・・・。
442:デフォルトの名無しさん
07/03/26 10:09:49
>>439
8800GTSで試したんだけど遅くはないけど激速じゃない。(4M程度)
コストパフォーマンスではC2Dよりちょっと分が悪い。
春に廉価版が出揃って、CUDAのバージョンが上がったらモノになるかな?
整数演算のイマイチ度については各方面から突き上げが激しいので
次アーキでは劇的に改善される可能性はなきにしもあらず。
>>440
俺はLUTで試したけど、MP内にてLoadネックで
並列度が頭打ちになってる感じ。>>440が試した結果をもすこし詳しくきぼん
443:デフォルトの名無しさん
07/03/26 10:59:36
■後藤弘茂のWeekly海外ニュース■
CPUとGPUの大きな違い
●汎用コンピューティングで近づくCPUとGPU
URLリンク(pc.watch.impress.co.jp)
444:デフォルトの名無しさん
07/03/26 19:18:04
>>442
C2DでもTrip-Monaで500k程度だから4Mでも十分じゃん
445:・∀・)っ-{}@{}@{}@
07/03/26 19:38:01
やきとり屋さんだよ
446:デフォルトの名無しさん
07/03/26 20:56:14
utripperはathlon64 2GHzで動かすよりCeleron 1.3GHzの方が速かったんだけどそんなもん?
447:・∀・)っ-○◎●
07/03/26 21:06:48
アレはキャッシュのレイテンシ依存だし
PS3で10Mうめぇwwwwとか言ってるの俺だけ?
448:デフォルトの名無しさん
07/03/26 21:14:43
>>447
Cellで?
449:・∀・)っ-○◎●
07/03/26 21:48:56
RSX使わせてくれないから、まあそうなるかな
450:デフォルトの名無しさん
07/03/26 23:23:18
>>442
GTSで4Mか。
GTXのSLIだとどれぐらいになるかな…。
また、理論ピークと、トリップ検索の性質を鑑みるに、まだ性能向上の余地はかなりありそう。
今後に期待だ。
まあカネも電力もバカみたいにかかるけど。
Woodcrest@3.0GHz×2でTripcode Explorer v1.2.3を動かすと10.3Mtrips/sらしいので、
Woodcrestを二機積んだマシンでGTXのSLIを使えばチョー最強?
451:・∀・)っ-○◎●
07/03/26 23:25:58
(・∀・)
452:デフォルトの名無しさん
07/03/27 10:26:11
>>450
電源が死にそうだね。つーか、熱対策か。
453:・∀・)っ-○◎●
07/03/28 01:25:33
CPUはClovertownの50W版でよくね?
454:デフォルトの名無しさん
07/03/28 03:45:24
取り敢えず、8800GTXの動く環境はできた。
#CPUは1coreXeonだけど。
さて、来月から実験だ。
455:デフォルトの名無しさん
07/03/28 18:10:27
URLリンク(sourceforge.net)
brookgpuの更新が止まってるように見えるんだけど、
とりあえずダウンロードしてみた。
サンプルプログラムどこ?
仕様はわかったんだけど、動作イメージが掴めねえ。
456:デフォルトの名無しさん
07/03/28 22:28:46
BrookはCVSで更新は続いてるよ。
で話は変わるがPeakStream Free Trial Download
URLリンク(www.peakstreaminc.com)
GPUとしてはFireStream,R580(?)
URLリンク(www.peakstreaminc.com)
Supported GPUs
AMD Stream Processor
ATI Radeon x1950 (Supported for evaluation purposes only)
457:デフォルトの名無しさん
07/03/28 22:30:06
PeakStreamはCTMしようか
458:デフォルトの名無しさん
07/03/30 00:30:52
>>455
ヒント:brook/prog の下
あとここの解説も分かりやすい。
URLリンク(www.mi.tj.chiba-u.jp)
459:デフォルトの名無しさん
07/03/30 00:40:37
つか、外人が思い付きで作ったキモイ言語使うのはヤメロ。
nVidia様の作られた環境だけを支持したほうがいいぞ
460:デフォルトの名無しさん
07/03/30 00:46:40
実質BrookGPUは、Cで記述したソースをnVIDIA様が作られたCg言語にコンバートするシステムなわけだが…。
461:デフォルトの名無しさん
07/03/30 00:52:59
>>459はCUDAのことを言ってるのだろう。
たしかにあれはいいと思うが、世の中全てがnVIDIAチップじゃないのが問題。
家の中でnVIDAだけに絞って開発するならいいが。
462:デフォルトの名無しさん
07/03/30 01:29:54
>>460
でもFolding@homeでそれ使ったらまともに動かなかったんだろう。
そのマクロ言語が悪いんじゃなくて、ビデオカードが向いてなかったんだろうけど。
463:デフォルトの名無しさん
07/03/30 06:58:08
>>460
CVSだとCg,HLSLに加えCTMが。
464:デフォルトの名無しさん
07/03/30 10:37:08
現状だと
・キモイ新言語(CUDA,Brook,CTM?)
・ぶっちゃけ使いやすくないグラフィックス記述(グラフィックスAPI+シェーダ言語)
しか選択肢が無い件。
汎用性汎用性とか言いながらグラフィックス記述でプログラミングしてるけど、
GPUのアーキテクチャにひっついたキモイ新言語がGPUの性能を一番引き出せるんじゃね?
という不安が拭えない。
465:デフォルトの名無しさん
07/03/30 11:05:14
CUDAには数値演算ライブラリもついてきたんじゃなかったっけ?
それが使えるもんなら、自分で書いてたらバカ見るなぁ。
466:デフォルトの名無しさん
07/04/01 16:28:43
つうかCUDAでいいじゃん、あれ将来的に完全に整数演算できるぞ
今はおもちゃ用だから科学計算じゃ糞だけど。ゲームとか軽い計算ならできる。
467:デフォルトの名無しさん
07/04/01 19:04:47
BrookGPUで満足しているが、
あれを使うと、簡単だけど細かい操作が出来ないから
並列コンピューティングの技術やアルゴリズムが殆ど使えない…。
結果、リードバックの速度とか、GPUのマイナスの部分ばっかりが出てダメダメになるな・・・
468:デフォルトの名無しさん
07/04/01 19:09:44
>>467
X19XXではうまく動いているみたいだよね>Folding@home
469:・∀・)っ-○◎●
07/04/01 19:48:11
てか、「ストリームプロセッサ」として売ってるものそのまんまじゃね
AMD Fusionにもあれがほぼそのまま搭載されるとか
470:デフォルトの名無しさん
07/04/01 20:01:33
>>467
BrookGPUが細かい事出来ないのは同意だけど
元々各シェーダーユニットを管理して並列化を効率化する事は出来ないぞ。
ベクトルプロセッサだから、そういうものだ。
うん、綺麗に管理できると良いんだけどなぁ…。
471:デフォルトの名無しさん
07/04/01 22:15:30
いやだからCUDA使えってあれなら俺等が求める
世界を追求できる。とりあえず、Geforce8600買ってみろ
472:デフォルトの名無しさん
07/04/01 22:26:58
上のほうにあるbrookの姫野ベンチ(>>424)でも
X1300とX1600で結果が変わらないって出てるから
その辺はBrookで変換した後、更に手作業の最適化が必要なんじゃないかな
Folding@Homeは素直にShaderの数がパフォーマンスに出てるし。(単に演算の規模が違うだけ?)
Brookだと、変換言語(?)もGLSLからCg、最近ではCTMもあるようだし。
そういえば、Inqの記事に何でnVIDIAにはGPGPUなソフトが出ねーんだ?的な記事が出てた
PS3にさえFolding@Homeがでて、ATIはとっくにやってるしnVIDIAはなぜ?ってな感じで。
URLリンク(www.theinquirer.net)
実際にはG80とCUDAならFolding程度なら可能なんかな?
G80ないんで何ともいえないけど。
473:デフォルトの名無しさん
07/04/01 22:33:30
R580でやってるfoding程度はG71でも可能だがパフォーマンスが出なかった
G80ではどうなんだろうな
474:・∀・)っ-○◎●
07/04/01 22:36:24
CellでPCの数百倍ってちょっと信じがたいんだけど
レジスタ本数が重要とかってこたないよな?
nVIDIAのシェーダってレジスタ少ないんじゃなかったっけ
475:デフォルトの名無しさん
07/04/01 22:36:41
>>472
おれもそうだけど、まだG88を買ってるやつがほとんどいないんじゃないかな。
おもちゃとしてはちと高いし、入れるとうるさいだろうし。
>>347がOS 32bitに載せ替えてくれればいいんだけど、それまでは皆次世代廉価版
待ちなんだろう。
476:デフォルトの名無しさん
07/04/01 22:57:37
>>347
つかおまえ、金はあるが知識無さ過ぎだろ?Linux入れろベンチ取るぐらいの駄コード書くのに
何64bitとOSにこだわり持ってるんだ?お前なら、RE買うのお金がないのですがとか言いそうで恐いけどなw
477:・∀・)っ-○◎●
07/04/01 23:17:02
俺なんかXeon買う金ないからPS3買ったくらいだww
はやくRSX使いたいwww
478:デフォルトの名無しさん
07/04/01 23:30:37
おれはNXT買う金がなくてRCX買ったよ
479:デフォルトの名無しさん
07/04/01 23:30:53
>>477
そのRSXって、要はG7XXXだろ。あんまり使い途ないんじゃないかなあ。
X11周りを作り替えるってんならありがたい話だが、あんたそういうのできる人だっけ?
480:・∀・)っ-○◎●
07/04/01 23:38:23
出来ない人。
むしろ描画のHWアクセラレーションが利かないのが痛いの。
欧州ギークならなんとかしてくれる・・・と思いたい
481:デフォルトの名無しさん
07/04/02 00:12:15
>>480
Linux板で人の話を聞かずに無駄金使ったな。
482:・∀・)っ-○◎●
07/04/02 00:21:37
GPU使えないって言ってもフレームバッファは使えるし
X立ち上げて普通に使う(FireFoxでWebブラウズしたり)分には特に問題ない。
意外と使えるんでびっくり。
まあ現状でもCellマシンとしては十分元は取れてると思う。
General Processing出来る専用コプロセッサが7個
(ユーザーモードでは使えるのは6個)あるし。
今使えなくてもアップデートで使えるようになる可能性もあるし。
483:デフォルトの名無しさん
07/04/02 00:25:34
まともにニコ動が見れないWebブラウズなんかいみねーよ
484:・∀・)っ-○◎●
07/04/02 00:28:07
Flashが見れないのはPPC Linux用Flashプレイヤーが提供されてないからで
PS3のせいじゃないだろ
485:デフォルトの名無しさん
07/04/02 00:41:12
>>482
わかってないね。
Linux板で言ってたのは、鯖機のつもりで使えば、何の不満もないだろってことだよ。
コンソールはおまけ。おまけがそのうち化けるかもしらんけど。
486:デフォルトの名無しさん
07/04/02 01:25:25
取り敢えず仕事用にHPの中古EWS調達して8800GTXのボード入れているけど、五月蝿いとは思わないなぁ。
487:デフォルトの名無しさん
07/04/02 02:37:17
立ち読みしたPS3 Linux雑誌によるとnVIDIAはPS3 Linux用ドライバ作る気零らしい。
署名しかないのか。。。?
488:・∀・)っ-○◎●
07/04/02 06:50:53
GK「トップガンならやれる」
489:デフォルトの名無しさん
07/04/02 09:49:07
>>486
>HPの中古EWS
それ、Netburst Xeon機だろ。
足下に2台あるけど、(ヘッポコカードとは言え)ビデオカードの音などまったく気にならない。
でも、「五月蠅くない」ってのとは違うだろう。
こんなの自宅で使いたくない。
>>487
今のところRMSの言の通りだね。
業者の非openなドライバに依存していると、いつかテメエの首が絞まる。
490:デフォルトの名無しさん
07/04/02 12:59:20
能力の低いopenドライバと能力の高いclosedドライバの
両方があったら俺は後者を使う。
使えなくなったときに移行すれば良いだけだし。
491:デフォルトの名無しさん
07/04/02 20:01:51
URLリンク(forums.vr-zone.com)
>As the Fusion programme implies, it will come with an integrated graphics core which is a subset of the R600 VPU.
>This graphics core will share system memory with the CPU,
>but ATI claims it will be faster than the NVIDIA's new GeForce 8600 GTS, thanks to the inclusion of 16MB of really fast on-die memory.
492:デフォルトの名無しさん
07/04/02 23:18:57
ネタもとの日付が気になるが
Fusionにはたしかに、でかめのキャッシュかレジスタが必要でしょうな。
EDRAMとして使えばXbox360は軽く超えてしまうのか・・・
493:デフォルトの名無しさん
07/04/02 23:27:30
Fusionの話かと思ったが、Socket FのGPUの話け?
494:デフォルトの名無しさん
07/04/03 04:16:21
BrookGPUって、実行環境で環境変数設定しないといけないけど
あれって凄く不便なんだよなぁ・・
例えば自分の配布ソフトに組み込みたい時とか・・・
495:デフォルトの名無しさん
07/04/05 00:09:04
環境ごとにバッチファイルでも作ればよくね?
496:デフォルトの名無しさん
07/04/05 02:11:33
つかCUDA以外全部失敗とみなしてもいいほど糞だ。
オナニー言語とかマジ作るのやめてほしい見てると
イライラしてぶっ潰したくなってくるよ
497:デフォルトの名無しさん
07/04/05 13:38:48
Cgがあの有様なのに、今度はCUDAに期待しろとなw
498:デフォルトの名無しさん
07/04/05 20:22:18
8800を汎用計算で速度計測したサイトが見つからないんで、教えてほしい。
499:デフォルトの名無しさん
07/04/05 20:35:58
8800にあんまり魅力を感じないんだけど研究する価値ある?
500:デフォルトの名無しさん
07/04/05 22:25:28
>>499
CUDAが動くのが8800しかないから。
今更後戻りはしないだろうから、新世代毎にCUDAが使える
ビデオカードが増えてくるはず。
AMD X19XXはBrockGPUでも使い物になることがわかった(folding)
nVIDIAがどういう状態なのかわからないんで。
501:デフォルトの名無しさん
07/04/05 23:18:25
CUDA_SDK入れてみたけど、サンプルが動作確認的なのばかりで
パフォーマンスが目に見えるようなのが無くてちょっと寂しい。
502:デフォルトの名無しさん
07/04/06 00:06:01
ゲーム用途でなんだが
いわゆる、プロシージャル処理をGPUでやらせようっていう動きに
AMDは積極的のようですね。
GDCの内容もそれっぽい
R600のRubyのデモも雪原はプロシージャル生成らしい
URLリンク(ati.amd.com)(GDC07_AMD_Session).pdf
これの48ページ目の絵を良く覚えておいて
Ruby demoを見てみよう
URLリンク(youtube.com)
nVIDIAもトンボのデモでやってるっぽいけど
インパクトは・・
503:デフォルトの名無しさん
07/04/06 00:19:25
>>502
絵の話はよそでやってくれよ。
504:デフォルトの名無しさん
07/04/06 02:29:42
とりあえずBrookGPUがなぜユーザーに環境変数を設定させる方式にしてるのかが疑問だ
ライブラリの初期化のときにパラメータを与える方式にしない理由がわからん。
bgInit(BG_OPEGL);
みたいにさぁ
505:デフォルトの名無しさん
07/04/06 03:01:54
>498
自分でやれば、論文かけちゃうぞ。
>499
NVIDIAでは前のモデルと構造が違うから、前との比較なんぞをやってしまえばこれもまた研究になると思う。
っていうかCUDAがあるのにBrookGPUを使う意味がわからん。
特定の処理に関しては楽なのか?
506:デフォルトの名無しさん
07/04/06 03:09:09
CUDAを使うにはGF8シリーズが必要だろ
BrookGPUなら、プログラマブルシェーダーを搭載していれば、主要なGPUで動く
507:デフォルトの名無しさん
07/04/06 07:26:06
GPGPUの壁の一つにそういった汎用性の問題があるよね。
ATIのいう業界標準のAPIに期待。
508:デフォルトの名無しさん
07/04/06 16:21:22
ATIの業界標準APIってなんだよw
標準にならないと、所詮CUDAと同じ
業界標準で言うと、nVIDIAのCgの方がマシ
あれはシェーダー搭載している主要グラボにほぼ対応している。
純粋なGPGPU用の言語ではないけどな。
んで、Cg用のコードを吐き出すBrookGPUがまだマシだとあきらめて使われてる理由でもある
509:デフォルトの名無しさん
07/04/06 23:19:25
汎用演算が今後広く普及したとしても、
nVIDIAとATiでなかよく一つの業界標準言語を作るのは無理だろうね。
MS(の強要)頼みかな。
510:・∀・)っ-○◎●
07/04/06 23:27:50
SPEのISAは普及しそうにありませんか?(本音:糞食らえ
511:デフォルトの名無しさん
07/04/07 00:11:12
Cgは一応MSも噛んでるな
しかもATiでも的でも使える。
CUDAもそんな感じにするんじゃないの?
512:デフォルトの名無しさん
07/04/07 01:02:52
自作板で見たんだが、こんなもんがあるんだね。誰か使ってる?
Microsoft Research Accelerator Project
The Microsoft Research Accelerator system provides simplified programming
of graphics-processor units (GPUs) via a high-level data-parallel library.
This download includes a data-parallel library for .NET that targets GPUs,
documentation, and sample code using the library. Parties interested in inquiring
about commercial licensing of the Microsoft Research Accelerator software
should contact msrlg@microsoft.com for more information.
URLリンク(research.microsoft.com)
513:デフォルトの名無しさん
07/04/07 01:42:17
.NETかよ
514:デフォルトの名無しさん
07/04/07 10:21:45
Ge86発売日に意味もなく東京に行く出張入れることを成功したぜ。
上司になんでこんな時期に本社へ出張必要なのぉ?って怪しまれたが
気にしない。CUDAするために、2枚購入してくるぜ。
515:デフォルトの名無しさん
07/04/07 18:28:10
SLI CUDAできるのかな?
516:デフォルトの名無しさん
07/04/07 18:38:50
出張期間延長で
通販にしとけばヨカター
と嘆きつつPC一式調達してホテルでいじる>>514に乾杯!
517:デフォルトの名無しさん
07/04/07 20:41:43
URLリンク(www.kohgakusha.co.jp)
ここのソース試した人いる?
VCでまともに動かないんだけど
518:デフォルトの名無しさん
07/04/08 03:18:39
もうすぐGF8600および8500が出る。
それからが本当にGPGPUが普及するかの正念場だな。
8800はヘビーユーザーだけの代物だったが、8600や8500は十分一般ユーザーの手に入る価格帯だし。
まぁ、その分ベンチは散々だが、所詮ローエンド
519:デフォルトの名無しさん
07/04/08 04:33:46
まぁ、このスレ何気に4割が俺の書き込みなんだよなぁ・・・。
その状況から言って、やっぱり寂しいものがあるよなぁ。。。
520:デフォルトの名無しさん
07/04/08 05:52:11
おまいさん>>131か?
521:デフォルトの名無しさん
07/04/08 09:09:30
毎日スレ更新してるのでバンバン書き込んでください^−^
522:デフォルトの名無しさん
07/04/08 11:04:36
まだ手を出すのは早いからな
デフェクトスタンダートが決まりつつあり
日本語ドキュが整備されつつあるぐらいでも
十分遅くない、経験的に
523:デフォルトの名無しさん
07/04/09 04:26:21
>>514-515
CUDAのforumに、GPUが非SLIで複数ささってれば全部使うよー、って書いてあった気がするんだけど、ソースを失念。
524:デフォルトの名無しさん
07/04/09 04:38:03
そんな(消費電力とスペースの)恐ろしいことはできないw
525:デフォルトの名無しさん
07/04/09 15:21:38
最近のGPUは前世代の2倍のパフォーマンスだけど消費電力も2倍って感じだからなw
ATIの新しいのはビデオカードだけで250Wとか酷すぎる。
526:デフォルトの名無しさん
07/04/09 15:46:29
8800GTXなんて、+12V電源を30A用意しろと書いてあるよ。
単純計算するとそれだけで360Wだ。
#実際、ボード上に+12V用6pin電源コネクタが二つもある。
527:デフォルトの名無しさん
07/04/13 03:40:49
CPUのように消費電力が通常の半分で値段が通常の1.5〜2倍の
製品を出してくれれば、一般的な開発者もGPCPUの検討用に買ってみようか、
というやつが増えると思う。
次世代では両者とも検討してほしいところ。
・・・と思ったが、250Wやら300Wやらじゃ、半分でもNetbust「全盛期」かそれ以上だ。
んなもん、ゲームもしないのに買ってもアホらしいな。
528:デフォルトの名無しさん
07/04/13 11:08:03
計算終わった後に「チーン」って音しそうだな。
529:デフォルトの名無しさん
07/04/13 13:24:32
おい、CUDA SDK 0.81 あるぞ。
530:デフォルトの名無しさん
07/04/13 14:16:29
あるぞといわれても
531:時々書いてるこのスレの住人
07/04/13 14:32:29
取り敢えず拾った。
>>529
THX!
532:デフォルトの名無しさん
07/04/13 18:29:20
>>529
アリガタマキン ( ´∀`)ノ⌒ω)Д`)ブニュ
533:デフォルトの名無しさん
07/04/15 13:13:41
けっこうCUDA使い=8800使いがいるんだね。
簡単な結果でいいから、報告してくれないかな。
534:・∀・)っ-○◎●
07/04/15 13:21:27
おれCUTA使い
535:デフォルトの名無しさん
07/04/15 15:41:46
( ´д)ヒソ(´д`)ヒソ(д` )ヒソ
536:デフォルトの名無しさん
07/04/15 16:37:35
>>533
なんか適当なベンチマークないかね。
nVideaのサンプルは動作確認っぽいのばかりで動かしても面白くないのだけれど。
#つーか、私も作らないとなんだけどね(苦笑
537:デフォルトの名無しさん
07/04/15 16:44:08
SDK 0.8だと、どうしても一塊のデータをわっと処理するバッチ系の
サンプルしかなかったので、俺の場合まだまだ基本性能を評価する段階だった。
NVIDIA FORUMでは、「演算サーバみたいなもの組めねえぞゴルァ」なトピックがHotだった。
>>529は俺なんだが、今別の遊びをやってるのでCUDAしばらく棚上げだ。
他の誰かがほげってくれるのを待つ!
538:デフォルトの名無しさん
07/04/15 23:54:14
>>533同意
とりあえず>>424の姫野ベンチの結果が知りたいな
539:536
07/04/16 11:31:05
Linuxだから無理。
じゃないけどBrook入れてないからめんどい。
540:デフォルトの名無しさん
07/04/16 12:17:16
実行だけならBrook入れなくても
出来るよ。
541:デフォルトの名無しさん
07/04/16 23:48:51
>>533
つーか今CUDAって8800以外で使えるの?
542:デフォルトの名無しさん
07/04/18 18:04:18
ゲフォ廉価版出たけどあまりにも性能差が差別化されまくり。
それでも、エミュよりマシだと思えばいいのか。
543:デフォルトの名無しさん
07/04/18 20:24:05
8600が出ましたよ。
544:デフォルトの名無しさん
07/04/18 21:09:01
質問です。
ifやswitchなど条件分岐を一切使わずに汎用プログラミングを行うと言うのがかなり理解出来ないのですが
一般的にGPUでのプログラミングでは、この辺はどのようにしているのでしょうか?
例えば、GPGPUによる、動画のエンコーダーなどの分野は期待しているのですが
あの手の処理は、条件分岐の塊だと思うので、GPUではそれらが使えないとなると有効な実装方法が思いつきません。
545:デフォルトの名無しさん
07/04/18 22:05:46
>>544
分岐の分だけmain()を作る
今はもうレガシな手法になりつつあるが。
当然個々のフラグメントプログラムは
画一したフローを踏むことになる。
546:デフォルトの名無しさん
07/04/18 22:16:00
>>545
一瞬びっくり!という感じだけど、やっぱりわからない。
if文は普通にc++で書いて特定の箇所で飛ばすのに比べて、
mainたくさんというのは、どういうメリットがあるの?
547:・∀・)っ-○◎●
07/04/18 22:43:44
mainじゃなくてもサブルーチンでもいいけど、分岐の頻度を最小限に減らさないといけない
パイプラインが長いと、分岐の度に大きなペナルティ食らうわけよ
んで
for (i = 0; i < 1000; i++) {
if (a == b) {
//HogeHoge
} else {
//BokuhaKamiyamaMangetuChan
}
}
よりも
if (a == b) {
for (i = 0; i < 1000; i++) {
//HogeHoge
}
} else {
for (i = 0; i < 1000; i++) {
//BokuhaKamiyamaMangetuChan
}
}
のほうが速いよね。
パフォーマンス重視なら、分岐を繰り返し処理の外に追い出せる場合は
なるべくそうしたほうがいい。たとえ冗長になってもね。
普通のCPU向けプログラミングでも同じ
(最近は分岐予測のほうが賢くなってるから一概にはいえないけど)
548:デフォルトの名無しさん
07/04/18 23:12:58
>>547
>>545の話はそういう話なのかい?
>mainじゃなくてもサブルーチンでもいいけど
あんたのコードで//HogeHogeのところで別プロセス呼んでたりしたら、
普通は頭がおかしいコードだと思うよね。
549:・∀・)っ-○◎●
07/04/18 23:19:36
プログラムって基本的にループの塊なんで、
むしろループがプロセスの単位だと思ってくれ
550:デフォルトの名無しさん
07/04/18 23:24:46
いやさ、おれもコード書きのはしくれなんで、forkくらいは使うけど、
>>545のはGPUを使うときの独自の流儀の話をしてんじゃないの?ってこと。
551:・∀・)っ-○◎●
07/04/18 23:24:58
ちなみにGPUにプロセスの概念はない。GPU上でOSは動かないだろ。
552:・∀・)っ-○◎●
07/04/18 23:32:44
たとえばJPEGの量子化なんかだと、除算値を定数化できれば大幅に高速化できるわけで。
でもコンパイル時には不定なわけで。
でも除算値毎にEXE作ってたらアホらしいから、普通のCPUだと、動的に命令コード生成したり
する。一般人はこんな面倒なことやらないけど、トップガンの常套手段ね。
でもGPUだとそういうことできないから(CPU側でやれば可能かも)
モジュールを複数作ってパラメータにあったのをロードすると。
そんだけの話でしょう。
553:デフォルトの名無しさん
07/04/18 23:59:05
>>552
いちおう理解できたようだ。感謝。
でも>>547は関係ない話だろう。
554:デフォルトの名無しさん
07/04/19 00:13:38
スレが伸びてると思ったら糞団子かよ
555:デフォルトの名無しさん
07/04/19 00:46:37
トップガン(藁
556:デフォルトの名無しさん
07/04/19 00:50:39
分岐コストが高いなら、両方のルートを計算すればいいだけ。
そういう頭の使い方ができない香具師にはGPUを使いこなすのは難しい。
557:デフォルトの名無しさん
07/04/19 01:04:55
つまり下手鉄砲も数打ちゃ当たる?
558:・∀・)っ-○◎●
07/04/19 01:07:57
弾の数が勿体ない。
スループット落ちるじゃないか。
559:デフォルトの名無しさん
07/04/19 01:09:19
252 :Socket774 [sage] :2007/04/19(木) 00:15:30 ID:0/nRKtHL
Larrabeeはかなり本気で開発している模様
> またRattner CTOが基調講演で触れたIAコアによるテラフロップCPUに関し、
> もう少し細かい話も出てきた。デモで紹介された80コアの試作チップはIAコアでは
> なく、もっとシンプルなものだったが、IAコアを搭載するものを同社は開発中で、
> コードネームは「Larrabee」であることがGelsinger氏から明らかにされた。
>
> 実際のコア数がどのくらいになるのかは不明だが、命令セットが拡張された
> IAコアを搭載することになるようだ。これは製品化を前提にした開発のようで、
> 「来年にもデモが披露できる予定」とGelsinger氏。
そしてGPGPU終了のお知らせ
> 最後にMicrosoft ResearchのDavid Williams氏の「Intelのこのアプローチは、
> GPGPUコンピューティングに関するディベートを終わらせることになる」という
> コメントを引用し、Larrabeeに対する自信を見せた。
URLリンク(journal.mycom.co.jp)
560:・∀・)っ-○◎●
07/04/19 01:12:33
早い話がIntel版Cellだな
561:デフォルトの名無しさん
07/04/19 01:19:22
さすが団子チューさん^^
562:デフォルトの名無しさん
07/04/19 10:22:20
ダンゴの一言は重みがあるな
563:デフォルトの名無しさん
07/04/19 20:33:33
GPUで出来ることの幅が広がるのはうれしいけど
本来のGPU的の使用には向かなくなってるのかな?
例えば、これからコアもっとリッチに、粒度をもっと細かくしていくと
行き着く先はCell+だよね。で現状CellはGPUの代わりは出来ていない。
564:デフォルトの名無しさん
07/04/19 20:42:46
上の奴は何を言ってるんだ?
もっと勉強してこいと言いたい。
565:デフォルトの名無しさん
07/04/19 20:51:19
今のGPUがやっているような、パラレリズムの特徴を利用してメモリアクセスの
レイテンシーを隠ぺいできるような仕組みがないと、PUの利用効率が悪くなって
大きなファクターでの性能向上は難しいような気がする。
個人的には David Williams 氏のいうことはあまり信用できないな。
566:デフォルトの名無しさん
07/04/19 21:34:20
>>556-558
ItaniumやXbox360 GPUのプレディケーションって奴では?
XBOX360なら48 shader
分岐待ちしてるのと、演算にリソース使うの
どっちが良いんだろう?
まぁ、R520系のように分岐ユニット(?)をつければ良いのかな・
567:デフォルトの名無しさん
07/04/19 21:42:32
G70系のように比較的大きい粒度だと小さいレジスタですんでたのが
R520系では小さい粒度のためG70系に比して大きいレジスタを搭載している。
NVIDIAはどうか知らないがAMDは更に小さくするんじゃないかな?粒度
568:536
07/04/20 18:36:53
取り敢えずCUDAのサンプルと同等の処理をgccでコンパイルして較べてみた。
3.4GHzXeonで66ms掛かる処理が8800GTXで0.23ms。
#サンプルはsimpleTexture。
こういうサンプルだと確かに速いね。
#いかん、Xeonの方はsse使ってないやw
569:536
07/04/20 19:28:19
で、Xeonでsse使ったら(ベクタ化してないけど)44msにはなった。
でも、200倍近く。これなら取り敢えず、実験でお金が貰えそうだw
570:デフォルトの名無しさん
07/04/21 05:44:09
>>568
ども。
Xeon Quad DPのコア当たり性能が仮にNetburst Xeon 3.4GHzの倍だとしても、
x 2 x 4 x 2 でもまだ、10倍以上か。
double演算エミュレーションのサンプルみたいのはあるのかな?
571:デフォルトの名無しさん
07/04/21 06:18:08
コード示さんとわからん。
572:536
07/04/21 08:21:24
GPU側はCUDAのサンプル、CPU側はそれを移植したもの。
どうしても見せろってことなら後で載せるよ。
#どうせだからこのPCでもコンパイルしてタイムを計ってみるか。
573:536
07/04/23 18:28:24
あー、載せるの忘れてた。CPU版のソースはこんな感じ。これをGPUのサンプルのtransform()と入れ替えて辻褄合わせた。
#でも、CUDAではgetData()相当で単純に整数化しないでニアレストネイバーか何かでサンプリングしているのでその分更に差が開く……
static float getData(float * data, float x, float y, int width, int height)
{
int ix = static_cast<int>((x + 1) * width + 0.5f);
int iy = static_cast<int>((y + 1) * height + 0.5f);
ix %= width;
iy %= height;
return data[iy * width + ix];
}
void transform(float * rdata, float* g_odata, int width, int height, float theta)
{
for (int y = 0; y < height; ++y) {
for (int x = 0; x < width; ++x) {
float u = x / (float) width;
float v = y / (float) height;
u -= 0.5f;
v -= 0.5f;
float tu = u*cosf(theta) - v*sinf(theta) + 0.5f;
float tv = v*cosf(theta) + u*sinf(theta) + 0.5f;
rdata[y*width + x] = getData(g_odata, tu, tv, width, height);
}
}
}
このコード、Celeron1.2GHzでは109msだった。
574:デフォルトの名無しさん
07/04/23 19:42:27
>>573
おいおい、そのCPU用のコードはいくらなんでも冗談だろ?
575:536
07/04/23 19:49:31
>>574
何か問題でも?
getData()はCUDAのサンプルの出力からの類推ででっち上げたから問題があるとしたらその辺かな?
transform()に関してはCUDAのサンプルのロジックそのままだからそれについては何もコメントできないけど。
576:デフォルトの名無しさん
07/04/23 20:21:04
>>575
CUDAで実行した場合に transformKernel() 内のすべてのロジックを
各画素について糞真面目に計算してるとでも思ってるのか?
そのCPUコードじゃGPUと対等じゃないよ。
577:デフォルトの名無しさん
07/04/23 20:37:55
普通に考えて、width, height, thetaのみに依存する(入力ストリーム全体に対して不変の)
ロジックは先に計算してGPUの定数レジスタに格納する、くらいの最適化はしてるだろうね。
DirectXのHLSLシェーダをアセンブリにコンパイルしたときのpreshaderみたいに。
578:デフォルトの名無しさん
07/04/23 21:22:20
>>573
CPU側をこんな感じにすればGPUの計算量に近くなるかな
void transform(float * rdata, float* g_odata, int width, int height, float theta)
{
float inv_width = 1.0f / width;
float inv_height = 1.0f / height;
float sin_theta = sinf(theta);
float cos_theta = cosf(theta);
for (int y = 0; y < height; ++y) {
for (int x = 0; x < width; ++x) {
float u = x * inv_width;
float v = y * inv_height;
u -= 0.5f;
v -= 0.5f;
float tu = u*cos_theta - v*sin_theta + 0.5f;
float tv = v*cos_theta + u*sin_theta + 0.5f;
rdata[y*width + x] = getData(g_odata, tu, tv, width, height);
}
}
}
逆にCUDAのほうでsin, cosの中身をthetaだけじゃなくビルトイン変数blockIdxとかに依存させたら
各入力に対して毎回三角関数を計算せざるを得なくなるから劇的に遅くなるんじゃないかな
579:デフォルトの名無しさん
07/04/23 21:58:44
gcc、それくらいの最適化は任せられなかったっけ?
気持ちが悪いから、可読性が落ちないなら、速い方にするけど。
>>573にもう一度回してもらうのが一番手っ取り早いか。
580:デフォルトの名無しさん
07/04/23 22:24:02
>>579
sinf, cosfは外部のライブラリ関数で、Cコンパイラはその処理内容を知る立場にないから、
for文の中にある関数の呼び出し回数を勝手に減らすような最適化は普通しないと思うよ。
インライン関数だったらそういう最適かも可能だけど。
581:536
07/04/23 23:00:41
うい、流れは理解した。
明日にでも試してみる。
>>580
gccはsinf()はインライン展開しないようだね。
このテストじゃないけれど、iccはsincos同時に求める専用関数に置き換えるくらいのことはする。
iccの方は現在手元にないから水曜日になるけどテストしてみま。
582:デフォルトの名無しさん
07/04/23 23:33:10
>>581
投げてばっかりで悪いけど、よろしく。
8600でも買おうかと思ってたけど、unitが半分のはずが1/4しかないんでちょっと萎えてる状態。
583:デフォルトの名無しさん
07/04/24 06:46:36
CUDAって、Vistaにまだ対応してないよね?
あと、XPはx64にも対応してないけど、これってネイティブな64bitモードで動かないってだけ?
俺メインマシンがVistaとXP x64とのデュアルブートだから、CUDAの導入に踏み切れない・・・。
対応してるなら、早速グラボ買って来るんだが・・・
584:デフォルトの名無しさん
07/04/24 06:58:26
積は最近遅くない気もするがね。
void transform(float * rdata, float* g_odata, int width, int height, float theta)
{
float inv_width = 1.0f / width;
float inv_height = 1.0f / height;
float sin_theta = sinf(theta);
float cos_theta = cosf(theta);
float v = -0.5f;
for (int y = 0; y < height; ++y, v += inv_height) {
float u = -0.5f;
for (int x = 0; x < width; ++x, u += inv_width) {
float tu = u*cos_theta - v*sin_theta + 0.5f;
float tv = v*cos_theta + u*sin_theta + 0.5f;
*rdata = getData(g_odata, tu, tv, width, height);
++rdata;
}
}
}
585:536
07/04/24 17:56:14
ほい、お待たせ。
結論から言うと、10msそこそこまで速くなった。
#コンパイルオプションつけ捲くりw(-O3 -funroll-loops -msse2 -mfpmath=sse)
コードの方は>584をベースにgetData()も手動最適化したくらい。ってことで、念の為にコード。
static float getData(float * data, float x, float y, int width, int height, float wf, float hf)
{
int ix = static_cast<int>(x * width + wf);
int iy = static_cast<int>(y * height + hf);
ix %= width;
iy %= height;
return data[iy * width + ix];
}
呼び出し側は、
float width_half_up = width + 0.5f;
float height_half_up = height + 0.5f;
しておいて
*rdata = getData(g_odata, tu, tv, width, height, width_half_up, height_half_up);
ちなみにアセンブリ出力を眺めたところ、rdata[y*width+x]と*rdata, ++rdataでは一番内側のループ内のロジックは同一。
この程度の最適化はするらしい。どうやら主な違いはu, vを計算しなおすのにx, yを使う関係でcvtsi2ssが入る辺りじゃないかと。
#掛け算より遅いかどうかは知らないけれど。
ってことで、レスくれている人達THX。こちらもどうせいろいろ資料作らなければならないんで、ネタ提供してもらって助かってます。
#そう言えば、DOSPARA辺りで8800積んだBTOのPC出始めてますねぇ。
586:536
07/04/24 18:31:54
>>583
この辺は参考にならない?
URLリンク(forums.nvidia.com)
587:デフォルトの名無しさん
07/04/24 20:27:32
>>585
どうもです。10msそこそこってのはCeleron1.2GHzですか?
getData(テクスチャフェッチ)はGPUが非常に得意な部分だからそこでかなり差が付いてるかもね。
588:デフォルトの名無しさん
07/04/24 23:38:13
Celeron 1.2GHzならメモリが遅過ぎでしょう。
あとCeleronの場合、整数だけで座標を演算した方が速いと思う。
それにしても比較するのは酷な環境。
589:デフォルトの名無しさん
07/04/24 23:45:07
ところで時間計測はどのように行ってます?
590:536
07/04/24 23:49:26
いや、10msはXeon3.4GHz(>568-569参照)。
そう言えば、Celeronの速度は忘れてた。
591:588
07/04/24 23:55:05
あとこれCPUにもよるだろうけど、繰り返さなくていいなら
if ( unsigned(width-1-ix) < width && unsigned(height-1-iy) < height )
return data[iy * width + ix];
else
return 0.0f;
の方が速いよな。
本当はループの外で判定出来るからもっと速くなるけど
とりあえずこの程度は予測分岐で賄えるだろうと怠慢。
592:デフォルトの名無しさん
07/04/24 23:56:58
何言ってるか分りにくいか。
ix %= width
みたいな除算が重たいから取り除くって話ね。
593:536
07/04/25 00:41:07
>>591-592
あー、それは敢えてCUDAサンプルの出力を見て合わせた。
最初は条件分岐でやったけど、確か大して時間変わらなかったように記憶している。
>>589
CUDAのサンプルの時間測定をそのまま使ってたんで、今調べたらgettimeofday()だった。
594:588
07/04/25 03:13:43
積に比べれば遥かに重いんだけど、流石にXeonでは誤差か。
けどGPUがサイズを二の累乗に限定していたのはこういうところにもあるはずで、
例えばwidthとheightが二の累乗に限定出来れば
ix %= width;
を
ix &= (width-1);
にして除算が排除出来る。
Celeronではかなり効果あるんじゃないかなあ。
595:デフォルトの名無しさん
07/04/27 00:55:48
上の方でも条件分岐が必要な処理に関して質問があがってたのですが
イマイチ、ぴんと来ないので質問させてください。
遂に昨日8シリーズを手に入れたのですが、とりあえずは簡単に使えるBrookGPUでDCTを実装して試そうと思ったんです。
で、DCTで係数kiとして
kiの値は
ki=1/√2 (i=0)
ki=1 (i≠0)
って処理がありますが、
具体的には、こういう部分はどのように書けばいいのでしょうか?
ifが使えないとなると、せっかくforループを使わずにGPUに投げられるのに、ループ回してCPUでiの値を確認しなくてはいけなくなると思うんですが・・・
初歩的な質問で申し訳ないのですが、この辺具体的な話がイメージ出来なくて困っています。
596:デフォルトの名無しさん
07/04/27 01:01:48
つか、ゲッパチ買ってきたんだけどCUDA糞じゃん
普通の文字列処理とかできねーじゃん。汎用GPUプログラミングとかいっておいて
なーんもできねーじゃんゴミだだまされた。明日nvidiaに電凸しよう。
597:デフォルトの名無しさん
07/04/27 01:26:43
>>595のは、ちょっと例が悪かったです。
ごめんなさい(汗
ただ、他にifを使う部分は、やっぱり数式に直すしかないんですかね?
598:デフォルトの名無しさん
07/04/27 01:42:26
>>597
悪いってレベルじゃねぇぞw
で、結局そこはCPU側に出すか
もしくは数式的に直せるのであればそうするしかないな。
CUDAは知らん。
>>596
はいはい。
使いこなせないだけですね。
文字列処理って何ですか?
文字列を数値化すれば、形態素解析であろうが、文字列マッチングであろうが
置換であろうが、余裕ですよ。
599:デフォルトの名無しさん
07/04/27 06:51:15
>kiの値は
>ki=1/√2 (i=0)
>ki=1 (i≠0)
単純になら、ki=1-(1-1/√2)*(i==0)
i==0の時だけループからはずすのも手だし、
テクスチャを係数テーブルにするほうが普通じゃ。
600:デフォルトの名無しさん
07/04/27 07:50:49
>>597
効率がどうなるかは知らんが、そういう用途ならCUDAの方が楽じゃない?
601:デフォルトの名無しさん
07/04/27 09:50:02
BrookGPUで各ユニットで共通の変数を利用したい場合ってどうすればいいのでしょうか?
例えば、
for(int i=0; i<128; i++)
out[i]=i;
や
for(int i=0; i<128; i++)
out[i]=out[i]+5;
このようなパターンです。
602:デフォルトの名無しさん
07/04/27 09:55:56
>>601
まず、後者の場合、reduceを使う
void reduce sum(reduce float res<>){
res=res+5;
}
こんな感じ
前者の場合。
イテレーターを使うんだと思うんだけど、ちょっと俺にもわからん。
603:602
07/04/27 09:57:59
って、うわ・・・
後者も間違ってる。。sumの問題じゃなかったのね。
すまん。
その場合普通に
kernel void (out float o<>){
o=o+5;
}
でいいじゃん。
604:デフォルトの名無しさん
07/04/27 10:35:23
>>601
void reduce func(reduce float i<>, out float o<>){
o=i;
i=i+1.0;
}
後者は何が言いたいのかわからん。
普通で
605:デフォルトの名無しさん
07/04/29 00:19:43
お前らCUDAやりなさい。
ところで、CgがあるのにCUDAを出す意義って?
nVIDIAは言語の乱立を自重汁
606:デフォルトの名無しさん
07/04/29 00:46:51
Cgはシェーダー言語。HLSLのベースになった時点であるいていど成功。
CUDAはプログラミング言語。
607:デフォルトの名無しさん
07/04/29 00:49:41
>>606
はあプログラミング言語ねえ
608:デフォルトの名無しさん
07/05/02 03:02:44
>>595
conditional move とか select とか、そういう類の命令を持つ CPU とか GPU があるのね。
だから3項演算子とか>599のようなことで問題なし。
そんなことを気にするよりも、まずは動くものを作ってこことかどっかに投げないと、何が聞きたいのかわからんというか、何を答えても的外れになりそうな気分になって答えられない。
609:デフォルトの名無しさん
07/05/02 13:22:28
BrookGPUって、intは使えないよね?
データがint型で、ストリームに送る前にキャストしても返ってくる値がおかしいから困る・・・。
こういうのってどうすればいいんだ?
610:デフォルトの名無しさん
07/05/03 08:20:49
桁落ちが原因だろ。>値がおかしくなる。
落ちない範囲に収めるor諦める
611:デフォルトの名無しさん
07/05/03 18:01:20
コーヒーブレイク
URLリンク(www.forum-3dcenter.org)
URLリンク(www.forum-3dcenter.org)
R600のリークスライドなんですが、SuperScalar,SIMD,VLIW等
並列実行のキーワードが並んでます。
詳しい人、どうなんでしょうこのGPU。
612:デフォルトの名無しさん
07/05/04 00:36:29
電気馬鹿食いDQNカードだぞ?
613:デフォルトの名無しさん
07/05/04 13:22:12
これからGPGPUに入門しようと思って、手始めに3Kのテキストデータの文字列に+1するだけの単純コードで実験してみた。
BrookGPUが簡単だったので、こいつを使った。
kernel void func(float i<>, out float o<>){
o=i+1.0;
}
//streamRead(in1,inc1);
//func(in1,in1);
//streamWrite(in1,inc1);
for(i=0; i<2048;i++){
inc1[i]=inc1[i]+1;
}
//GPU:18秒
//CPU:9秒
…全然だめじゃん。GPGPUって
環境は、Athlon64 X2 4200+,GF8600GTS
これより式を複雑にしたら、もっとスーパースカラーなCPUがより有利になるでしょ。
GPUは、和積演算だけは、同時実行出来るんだっけ?
614:デフォルトの名無しさん
07/05/04 13:36:48
>>613
それは計算量少なすぎ。
明らか転送のネックの方が大きいだろw
615:613
07/05/04 13:40:38
>>614
CPUの時も、streamReadとstreamWriteだけやるようにしてみました。
それでもCPU:16秒でした^^;
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4961日前に更新/200 KB
担当:undef