GPGPUat TECH
GPGPU - 暇つぶし2ch200:デフォルトの名無しさん
06/03/21 02:28:18
>>198のは>>196の管理人が書いた物だ

201:デフォルトの名無しさん
06/03/21 13:15:32
プログラミングはどこから始めたらいいのでしょうか。
GPGPUの技術的な背景とかは解りましたが、
とりあえずプログラム組んでみてどこまで可能か調査
してみたいのですがみなさんはどこから学んだのでしょうか

202:デフォルトの名無しさん
06/03/21 22:16:46
>>201
アバウトすぎだ。
何が知りたいのかサッパリわからん。
URLリンク(www.redout.net)

nVidia のサイトでも行けば?

203:デフォルトの名無しさん
06/03/21 23:29:42
いやもうHelloWorldレベルでいいんですけど


204:デフォルトの名無しさん
06/03/21 23:55:15
・・・・。
がんがれw

205:デフォルトの名無しさん
06/03/22 01:51:25
>>203
URLリンク(msdn.microsoft.com)
これで不満なら、どこまで出来てどこで詰まってるのか説明しろ。
他の連中は知らんが、俺はエスパーじゃねぇ。

206:デフォルトの名無しさん
06/03/22 13:56:48
↑それは、GPGPUというよりDirectXのHelloWorld

要するにGPUで1+1を計算させて2という値をメインメモリに
持ってくるようなのがGPGPUのHelloWrldじゃないのかな。

207:デフォルトの名無しさん
06/03/22 17:28:42
NVIDIA、GPUによる物理シミュレーションをGDCでデモ
URLリンク(pc.watch.impress.co.jp)

208:デフォルトの名無しさん
06/03/22 23:28:39
>>206
じゃあお前が説明してやれよ。


アレやったら、描画先を変更してサーフェスをロックして持ってくるだけだろ?
演算方法なんざ、最初はレンダーステートの設定だけで十分だろ。

つーか、ナンセンスな回答だってのは承知してんだよ。
何が分からんのか分からねーんだから答えようがねーよ。
財力もプラットフォームも言語知識もハードウェア知識も分かんねーのにどんなアドバイスができるってんだ。

つーか GPGPU で Hello World つったら、Hello World って書いたテクスチャをフレームバッファにレンダリングすることじゃないか?
フレームバッファこそ、GPGPU の標準出力としては相応しいだろう。

なんでそんなに俺をイラつかせるんだ、ってスレが昔あったなあ。マ板だっけ?

209:デフォルトの名無しさん
06/03/23 02:01:06
Brookとかshとか使ってプログラム組んでみた方いますか?
今ちょっと勉強してます。

210:デフォルトの名無しさん
06/03/23 11:58:18
レンダリングするだけじゃ普通の描画じゃんか。

211:デフォルトの名無しさん
06/03/24 01:10:12
>>210
何が不満なんだ? Hello World と同じくらいには役に立つと思うが。

212:デフォルトの名無しさん
06/03/24 04:49:25
クダ巻くだけならどっかいけ。

213:デフォルトの名無しさん
06/03/24 12:58:06
>>211
>1を読めよ

>いつの間にやらCPUを超える演算性能を持ってしまったGPUに計算させてみるという
>GPGPUについて語りましょう

214:デフォルトの名無しさん
06/03/24 14:11:29
>>213
演算結果の出力がレンダリング結果じゃないか。
エッジ抽出や DCT とかしたら、フレームバッファに転送して目視確認するだろ?
何が足りないんだ? それとも何かが蛇足なのか? 「入門」がスレ違いなのか?

215:デフォルトの名無しさん
06/03/24 14:34:21
じゃあDirectXスレでいいじゃん
このスレ要らんね
終了か?

216:デフォルトの名無しさん
06/03/24 15:32:51
GPUで計算してフレームバッファに書き出して、そのフレームバッファを
メインメモリに持ってきて、それを構造体に格納していくくらいのことしないと
HelloWorldとは言えない。
そして、いまでは専用言語で簡単にできるじゃないか。

217:デフォルトの名無しさん
06/03/24 20:46:13
行列演算が簡単に出来れば応用範囲が広がりそう

218:デフォルトの名無しさん
06/03/24 21:40:10
俺もHelloWorldを欲してるクチでGPUを使う方法が分からないから何とも言えんが
行列演算はSIMD向きじゃん。文字列処理に比べれば簡単だと思う。

問題は、どれだけGPUにデータを留めたまま大量に演算出来るかじゃないか?
1演算してはCPUが使うようだと、GPU間のデータ転送に時間を食われる。

219:デフォルトの名無しさん
06/03/24 22:48:22
みんな、DSP的に使いたいのでしょ?
メディアンフィルタとかエンコーダーとかやってみたいね。
俺もやり方はよくしらんが。

220:デフォルトの名無しさん
06/03/25 01:54:11
はっきり言ってDSP的に使う以外、GPUに興味ないな
だれか教えてくれないのですか?ケチしないで教えてくださいよ

221:デフォルトの名無しさん
06/03/25 03:04:58
>つーか GPGPU で Hello World つったら、Hello World って書いたテクスチャをフレームバッファにレンダリングすることじゃないか?
ワロタ

222:デフォルトの名無しさん
06/03/25 05:02:12
>>215
> じゃあDirectXスレでいいじゃん
いいアイデアだ。入門はヨソの描画ライブラリスレに任せよう。
このスレは入門に限ったスレじゃないから、話題がある限りは不要ということも無いだろう。

>>216
ロックして持ってくるだけだろ。入力データもロックして書き込まないと認めないということか?
専用言語とやらを入門とすることについては、君が説明する分には俺に異論は無い。

>>221
楽しんでいただけたようでまことに結構。

223:デフォルトの名無しさん
06/03/25 05:44:20
定番の波動シミュレーションあたりが、Hello World的存在じゃないかな。
GPGPU的には全く面白くないネタだけど、Hello Worldってそんなもんだろう。

224:デフォルトの名無しさん
06/03/25 12:03:44
よし決めた。
最初の目標はGPUでπの計算することだ。

225:デフォルトの名無しさん
06/03/25 17:53:00
>>223
おれはそういうのは、最初の演習問題にはふさわしいけれども、Hello World 的だとは思えないのだが。
ちょっとのお約束と、なんらかの出力、という程度が Hello World 的ではあるまいか。変数や制御構文の前にやるものだし。

描画はできる、というのを前提とするのなら、プラットフォームやライブラリを越えて一般化できる具体的(ソースつき)な入門はありえない、という結論になるだろうか。それとも専門言語の人に期待するか。

226:デフォルトの名無しさん
06/03/25 21:14:14
なにこのヘタレの素靴

227:デフォルトの名無しさん
06/03/27 04:59:04
>>226
ようこそ

228:デフォルトの名無しさん
06/03/27 14:23:17
GPGPUって、
ベクトル演算器→たけーよ→グラボ使えるじゃね?→できるもんならやってみろ
の世界だろ。

229:デフォルトの名無しさん
06/03/27 23:44:08
うんそう

230:デフォルトの名無しさん
06/03/28 12:16:07
だからフレームバッファに描画さえすればhello worldとか言うのはおかしい

231:デフォルトの名無しさん
06/03/29 09:04:50
うんこう

232:デフォルトの名無しさん
06/03/29 17:33:43
>>230
あとはロックするコードだけ晒せばいい?
他には何かある?
そもそも DirectX 限定というはおかしいと思うのだが、そういう指摘は無いの?
それとも Hello World の定義が違うなら、>225 に書いた、「最初の演習問題の前」「変数や制御構文の前」とは違う定義をしてくれ。

233:デフォルトの名無しさん
06/03/29 18:23:34
1+1, 1+2+3+...+10を計算するコード

234:デフォルトの名無しさん
06/03/30 13:44:56
どちらか? それとも2つとも?

235:デフォルトの名無しさん
06/03/30 13:46:57
後者がいいな。ループも使うし。

236:デフォルトの名無しさん
06/03/30 17:44:06
トリップサーチはどう?

237:1/3
06/03/32 19:38:50
ほらよ。uudecode しな。こういう、ピクセル毎の処理量が違うのは、向いているとはあまり言えないと思うけどな。
begin 755 gpgpuhellobydx.cpp.gz
M'XL("#%7+D0"`W1E<W0P-P"M65MOV\@5?J8!_X>!@C4HFU8HV5)D.`E`290C
M6#>(E)5+`X&F1C83B61)ZN)L\[#*T^X"V\UNBWTI^@,*]&E1]*'H0X%]:("D
M_Z!HT8>BV]^P#STSPYMNL94FMB5RYLQWKG/FG,FM'NX;)D;NSQVOSY'/[:WM
MK5N&J0]&/8SN]@YZ1ZG+^PM#T\4QU^L9%AW;WG(]9Z1[J-A6U$;M3&ZI\L/M
MK4^WMQ#\*U<;DHJF`KH2T`L!.9>38W3[-E(O,?(<S73[EC/$/61;KN$9EHG@
M'7DP.<:.AZ>I.,A(0./C[:V7\'?+5Z)T4"J?E;MQSHCW!Q\^>MQZT$&_"(A@
M+CWW5FPT6B6E\EC.\.ED<GMK#H7P-W3L/GF*[H7*?+HOIK)]`?E?8DJ$SS3]
M%,-/]%(@&L95%JCL/@:ZLPXC?6,,?S'Z"'*@#Y2#N(']5$J&@W7OH'2$=M%%
MUP8+HWM(/([-E/`8C.G/0SBQ]T4J%4^]D1.0@?LKYB*),G+Z6HCDPEMCY"T2
MG='8*8SZ?>SXE&Q(N=1ZV%DD;QI3/&!3/G5LQ"<F0:Y!0*"Q9?20/L":.;)Y
M5&F;STUK8L(R`R5IG'!&'_'LC>.,_?LM#,0NYI,D=-<"T3<?(!Q<D(0@S$W.
M*;4T&QAG:8(9=FDX<LO2%/'H2OF'[L6Y->61;IFNA_1+S0%+P"!*(J))#;NN
M=H$+A$04R(3_42MT&Z<19+4E*^VJBHI2M5J0BJ>H8Y@]:])T+)U_T*F7!-2N
MU%4!=9I22ZH)J$J_?7,Y&(+&1.D`K%.I2\T*@:AIALFC!Y6ZHDKUHBS$'ZM-
M16T)R#`]'P;8%*N2HJ")?LQVR!`/7>SQ:&>B"T1\UWB!K3X_T9-4<D(RT5,#
MNV]VS!Z1%6(E$CQ.X;XH#C37K6M#$O.)"_O"'EWBP<!*$$NW\(7A>MBA-#QP
MH_8G>J/+B=F#%44':QYFV/S<>@$E$E2XU;]44!J3/*JWJU5T[Q[BHST:[`"&
M?\23Y-A52J==2()*I5$'-R9]5W*!JQ.Z9B+3`F_314A#T?[_F9E@P1-W"D>]

238:2/3
06/03/32 19:39:06
MP@%T$]PLU]4N]9ZL`@\$06?;QPCF'V/'JN&AY5R!Q>EP:''ZQHS.T><4,P4F
MME%;;3F:4"::+<.^UTE2`)9*1VK*Y;)<5+NEBE*46J6(MJ#ISUF2*,,AI/DK
MRC6UVZZ?UAN=>F2[LE2IRJ7`<OOWF<'8=J%6DTI2$Q3JEN2R!)$LD+&2?*8^
M:LK=!U)5H)X4``U=^P]6%ENRI,I=I5%6.U)+[K(SJ=EJ%&5%J=1/;@846'%G
M?G-OY%(_<0=N#9+".B?3W.<;*\XUL)B?X7F4AU.&_H*V;44ZD;NE1W6I5BD*
M@0^D?"M_DB_DZ4"ST:A&MMT)DAB-\&5UWL?9,).HKQD#W$O=5"G@7VT43^52
MMP5QA`:6_ASW6F`>0@*GX[<_???N\W^__LWL[==__^8_RU:@HN[?K\(ZLHJF
MPIT(A>Y4GT<0I&NT6D3:3!6.U%8\27EP/)%C#;[NHCQ\[>T%W"*29XSD&9`<
MPE=$`K`PCQT;X+NZYGIW1Z9K7)BP&\D!L'N?CW1+V07#<Y-/D+%[B/8`#*HI
M8/>,BO?2%VNUN=KF(#+8^^T1(]W0(NOC5<%>&*S@G^C8O"[<8@LWC;0;;*`6
M-N&P5S7G@IQ,^6`+T0V3SA72N9-TKI7.T<$:;):*(M6:5;E;;]1E&FA0JF.V
M@_SZ8(,]-,?\8UIZ7BMF[K!\N8'!_P_!V/XN2DWE".F:[9+A>?P3[+''(DSS
M.X0H>1SD6-C^AFEX:!A/L><8MA%&(]<P+_P#A*Q*Q8HY*-U<TN[<I=E-"0Y<
M_D`00WUI.05*/\ED<T^I[*[MP-8#.%I$);Q+PP5D!S8>)'#+'%PA=V3;EN,A
MF[!"+BL-/Q$/IRDH$]8)P0P3F)>6;S?PJ%\'QDH_.X)6K)&C8](\D;.=2]AN
M]Z`K0GU`WZ![XW16HF2R6=)P9#/9(S&3SA_E<D>YPTSZ3O;H()?-9`YS^2/Q
MZ`[>)U2PG.3;<-7M7#9[D$5".@)-D[XE2Y#A)\;.X(QP&?T5?;"!9=F@P\@D
MQS_,LP7ZH`O;7;<LIR=R8S$UO0JQ8"K3@RSHAO!`.>AQ#N"/294HIEY<32<^
M_!,QE0+4IVCV._J<?CI[\_7W7YY^_J?9][/_SG[X]J?97V8_S'X_^Y%"#4<#
M"D3^=#%%N'+S,&]F?YS]^)D1GCGO4!Z=0X[][!F-92[ACLXY!Q1D?P'`&-SC

239:3/3
06/03/32 19:39:25
MCH8DIS-&UIAS,I0)%34DHJ88V4#(K.I@&TP7J(IZ]B%$PD%JRF1TQ(`!ZWI,
M&W;L[.UK!71Z^]WX=1_4%EDKE$#GD$2>=P?87P^LI_YJCJ-SQXR.:``TOA72
M(16\(XHW^Q=\_-K[\A^SMU_]=O;FU<M7Q5?&JX?,-@Q#']H<59#B9`))XR!O
MOBG,_C#[,Y7R'0DJ\,@_9W\%7_PML`+#TGJ]R**90!ABS;U[*R@SC&%H6:#U
MB?;V8AK&W!S0<=1^^_L^U5";QJE"8PV,(60<2DL)(?F!EP(7T1#RI855+^(A
ME(X"Z)=6&$#IW%P`06@@SBJ*`HT>/P@\]D@DH[FI`FGK(2N>H>-SXZWRXJ0M
M.X[EU-P+-R2('P:$5G)=/#P?8)8[^*4\(KB>,\#F\D22;'.!0"@/I!*MOPOM
M$V&'"23L1+RC8R0Z1U:P7CH\0NJEJL<O=B(6]*A@:C<M2LPGDP%,G"Q^)<`M
MIMFY/$L3[;5%02RE\X@O=1JMTFZ2F6"53.SXG[M96&&<ZQ@M6^I:/0*1YO5_
M;V4PI]K&4B\`;"[R]659`9IW4]&QB?EK*Y4X[:9%2JP+7>69^)47CPYW_<XY
M?J69C#5;G59%E1OUZB-AU17JFI8K?MVT0=4X)]J&52-%/VM42I!&SOP;63]H
MYIKRN&BL/^)C-S;!72Y8@"?75KN[R9T0;D7OA58'U@HF'[`)AGBHVU<\B@DP
M#I\6!?91EYBSCH<QN:[SADV@>.")(4N907V]X,V0]US(W*CZGD/_F&T!Q"6_
M\HK_)E*1Q1]-F)*C39H..7>-,;OP::I=M561ZB=568&')BMFKY=L'ND#TL`Z
M$66S=\,T%%%NRAW*B+!N>/O%\%?E98G\MBU^W;'NKJ/>@"W74A]UV\V2I,IK
M;+<,^"$Y).JEQ,,\Z4H2].KU)E<B-[H3B5HS*%7T2X<G'9H("2?Q20]!Z[7^
MSL2]A'[MNDL3/YO0!+*>573]^C)F1?A*KHGPT+;Q&Y3W>^&#[UIB_Z5`Y_UI
-D5W;_P^%I7C`EAP`````
`
end

240:デフォルトの名無しさん
06/03/32 20:06:09
乙。アセンブリでシェーダ書いてるあたりがプロ臭い。

241:デフォルトの名無しさん
06/03/32 20:49:58
プロならコードを出すわけがない。
著作権は自分にないからな。


242:デフォルトの名無しさん
06/03/32 20:53:22
普通にアプロダにあげてくれないか?

243:デフォルトの名無しさん
06/03/32 21:08:06
おまえらuudecodeもできないの?
俺はLinuxだから標準でできるけどコンパイルはできないというふざけた奴だ。

244:デフォルトの名無しさん
06/04/02 00:48:55
乙。
D3DTSS_TEXCOORDINDEXにハマったが、ようやく2つのテクスチャを足せるようになった。
俺のグラボじゃPixelShader1.xだし8bitしか対応してない。ちっ。

245:デフォルトの名無しさん
06/04/22 04:42:08
おまえらもしかしてコレ↓で十分だったのか?
URLリンク(www.gpgpu.org)
散々叩いといてさ。

どーでもいいけど PS3 か 360 の仕事くれ。安くてもいいから。
DSはもう飽きた。仕事が来ても倍の人月でふっかける。

246:デフォルトの名無しさん
06/04/23 23:24:33
brook良さげですよ。環境構築が面倒ですが。。
URLリンク(gpgpu.jp)

247:デフォルトの名無しさん
06/04/24 01:00:04
Linuxで開発する方法教えてください。
Windowsってキモクて真で欲しいのでお願いします

248:デフォルトの名無しさん
06/04/24 01:52:02
Linuxでコンパイルする。
それだけ。OpenGL系ならそれでいいじゃん

249:デフォルトの名無しさん
06/04/24 08:47:21
>>247
glut 使ってコーディングできるなら
URLリンク(www.gpgpu.org)
へ池。

それができないなら
くだすれOpenGL(超初心者用)
スレリンク(tech板)l50
OpenGLスレ Part10
スレリンク(tech板)l50
あたりへ行け。

250:デフォルトの名無しさん
06/04/24 15:14:53
>>246
アラッ、いいページですね
参考になりました

251:デフォルトの名無しさん
06/04/25 01:44:54
brookコンパイルしたいLinuxでしたいです。
Windowsはきもくて嫌ですお願いします

252:デフォルトの名無しさん
06/04/25 22:38:48
>>251
URLリンク(www.gpgpu.org)

253:デフォルトの名無しさん
06/05/09 02:04:36
モジレツヲアツカイタイ

254:デフォルトの名無しさん
06/05/11 00:56:38
1文字1文字をfloatにするとか?
いずれにしろどう処理したいかによるか。

255:デフォルトの名無しさん
06/05/11 01:50:32
60GBのデータをソートするのに90MB/secって遅すぎだろ
大して速くないよなGPGPU

256:デフォルトの名無しさん
06/05/11 02:13:37
文字列処理ライブラリを作りたいのか?
それとも探してるのか?

257:デフォルトの名無しさん
06/05/11 02:14:21
文字列処理ライブラリを作りたい YYYYYYYYYYYY
探している NNNNNNNNNNN
という感じです。最近徹夜でテンションがAGEAGEです

258:デフォルトの名無しさん
06/05/11 12:00:41
基本的には複数の文字列に対して一斉に同じ関数を適用することしかできないがそれでいいのか?
(コマンドリストを作るとかもできなくはないが)
シェーダアレイ内で一番遅いピクセルに律速されるのでばらつきが大きいデータはパフォーマンスが出ないがいいか?
DirectX のシェーダアセンブラしか知らない俺でよければ手伝えるかもしれないが。

259:デフォルトの名無しさん
06/05/12 01:16:26
うーん、ちょっとまだ解ってないこと山積みだけど
あるデータないから、特定のデータを探すとかができればいいですよね
たとえば特定の方法で解析すると意味ができるようなものとか

ツリー構造のデータ
線形リストデータ
そんな感じのデータを検索したりすることができないかと考えていろいろ調べてはいますが結果はいまだ0


260:デフォルトの名無しさん
06/05/12 01:46:29
>>259
strchr ならできるが、フェッチ量を考えるとかなり具合が悪い気がするな。
同様に正規表現検索なんかも、DFA にしたのをシェーダ言語にコンバートできそうな気もするが、汎用 CPU みたいな気合入ったキャッシュ機構がないと具合が悪そう。
ツリーやリストはまだなんとかなりそうかな。

つーか、いろいろ調べてるなら、アセンブラしか使えない俺は用無しか。

261:デフォルトの名無しさん
06/05/12 01:56:44
アセンブラでもいいんですけど、何せ効率が悪いので
できれば、C++からインラインで留めておきたいと考えてます

262:デフォルトの名無しさん
06/06/16 08:52:22
GPUとCPUで、得意不得意な処理があると聞きます。
GPUが得意な処理はCPUの何倍も高速に処理できると聞きましたが
具体的にはGPUが得意な処理と言うのはどういったものなのでしょうか?

動画のエンコードやデコード、ファイルの圧縮・解凍や、ハッシュ生成や暗号化などが高速なのでしょうか?



263:デフォルトの名無しさん
06/06/16 11:58:05
依存性の少ないストリームデータを横に並べてベコベコ叩くような処理が得意です。

264:デフォルトの名無しさん
06/06/16 18:49:30
ぶはは、馬鹿ばっか(核爆)

265:デフォルトの名無しさん
06/06/16 19:03:32
自称研究者の単なる情報収集家とかいるしなw

266:デフォルトの名無しさん
06/06/16 21:13:46
日本の大学でgpgpu系の研究室って有りますか

267:デフォルトの名無しさん
06/06/16 21:30:24
>>266
無い。日本の研究者連中はどいつもこいつも馬鹿。
素直に欧米の大学行け。

268:デフォルトの名無しさん
06/06/16 22:10:31
別にGPGPUの研究してないから馬鹿ってわけでもないと思うが・・・
むしろ、GPGPUの研究してるようなやつの方が有る意味馬鹿に見える。
もちろんこの場合の馬鹿は、変態的な手段で目的を達する事に喜びを得る馬鹿って意味だけどな。


269:デフォルトの名無しさん
06/06/16 22:31:22
GPGPUハァハァ…

270:デフォルトの名無しさん
06/06/20 16:41:54
こと半導体に関しては、大学よりも企業の研究所のほうがレベル上なんじゃないの?

271:デフォルトの名無しさん
06/06/21 00:17:43
>>270
誤爆?

272:270
06/06/21 09:49:22
>>271
誤爆じゃねって
ぶっちゃけどーなの?

273:デフォルトの名無しさん
06/06/21 11:34:09
>>270
GPGPUは半導体プロセスよりも情報処理の方が分野が近いとおもふ


274:デフォルトの名無しさん
06/06/22 09:55:34
いいたいことはわかる。
ハードウェアアーキテクチャ屋ね


275:デフォルトの名無しさん
06/06/22 12:18:19
一時はもてはやされてたが、今どーなんだ?
どんなに素晴らしいアイディアでも普及しなきゃ意味ないからなぁ

276:デフォルトの名無しさん
06/06/22 15:49:36
誰かGPUをC++から扱う事が出来るクラスライブラリのSh使ったことある?
関連書籍も無いし、途方にくれてる・・・orz

277:デフォルトの名無しさん
06/06/22 16:02:07
ぐぷぐぷ

278:デフォルトの名無しさん
06/06/22 16:24:42
>>277
俺もスレタイ見てそう読んだ

279:デフォルトの名無しさん
06/06/23 02:33:40
>>275
普及ってお前、どのレベルで言ってんの? HPC が必要な分野なんてそうないだろ。
マジレスついでに言っておくと、ゲームでよく使われてるよ。

280:デフォルトの名無しさん
06/06/23 21:07:00
URLリンク(www.geocities.jp)
皆さんの参考になりませんか?俺が書いた訳じゃないけど。

281:デフォルトの名無しさん
06/06/24 02:40:17
>>280
続きが見たい。

282:デフォルトの名無しさん
06/06/24 13:33:19
情報処理学会あたりで検索かけると何件かネタが見つかる
URLリンク(www.bookpark.ne.jp)
著者なり研究室なりをたどれば少しは情報が出てくるんじゃなかろうか

283:デフォルトの名無しさん
06/08/03 08:48:51
あげてみる

284:デフォルトの名無しさん
06/08/03 20:15:00
GPGPUはれいめい期なの?
参考書籍はないの?

285:デフォルトの名無しさん
06/08/04 18:49:12
GPUはあと3年もすればコプロセッサという名前になります。

286:デフォルトの名無しさん
06/08/04 19:35:23
AMDにそんな業界を作り変える力は無いぞw

287:デフォルトの名無しさん
06/08/04 22:00:29
intelとnVidiaはどうするんだろう?

288:デフォルトの名無しさん
06/08/05 02:36:55
Intelは業界1位のグラフィックスチップメーカー&CPUメーカー
nVIDIAは業界1位の単体グラフィックスチップメーカー

AMDは、グラフィックスチップ部門を持たないメーカー&2位のCPUメーカー
ATiは、業界2位の単体グラフィックスチップメーカー


どう考えても、AMDとATiが組んだところでそんな業界の仕組みを変えれるとは思えない。
2位同士が組んでどうやって1位同士が確立しているシステムを潰すってんだ。

289:デフォルトの名無しさん
06/08/05 20:00:12
最終的にはIntelがそういう流れを決定付ける。

290:デフォルトの名無しさん
06/08/15 22:50:30
まあな

291:デフォルトの名無しさん
06/08/16 02:06:00
GPGPUで動画のエンコードとか聞いたけどさ
そういう前後の依存関係が関係する処理ってGPUで出来るの?
一旦、処理した内容をメインメモリに戻して、その結果を元に次の処理って事をしないといけないと思うんだけど・・・。


292:デフォルトの名無しさん
06/08/16 02:51:53
動画圧縮における「前後フレームとの依存関係」と
アルゴリズムにおける「データの依存関係」は違う。

293:デフォルトの名無しさん
06/08/27 04:43:49
GPGPU的Hello Worldとして何から手をつければいい?
ちなみに現時点でGPGPUについては概要しか知らないんだが。

294:デフォルトの名無しさん
06/08/27 07:27:52
ハロワルは視覚的にわかるものが好ましいから
適当なテクスチャデータ→GPU→ピクセルズーム→メインメモリ→BMP出力
こんな感じでどうよ?

295:デフォルトの名無しさん
06/08/27 15:29:09
>>293
URLリンク(www.gpgpu.org)
URLリンク(www.gpgpu.org)

このスレで Hello World の話題が出たことあるんだから、それを踏まえた上での質問をして欲しいものだが。

296:デフォルトの名無しさん
06/08/27 18:12:14
ATIのGPUがFolding@homeに参戦
URLリンク(slashdot.jp)

こういうのが本命かな

297:デフォルトの名無しさん
06/09/09 15:59:23
URLリンク(channel9.msdn.com)

Accelerator provides a high-level data-parallel programming model as
a library that is available for all .Net programming languages.
The library translates the data-parallel operations on-the-fly to optimized
GPU pixel shader code and API calls. Future versions will target multi-core cpus..

298:デフォルトの名無しさん
06/09/10 01:35:24
>>297
ぱっと見ではプログラム中の一部の処理をピクセルシェーダに置き換えられるようにしただけに見えるんだが
どうも要領を得ないので読み直すか

299:デフォルトの名無しさん
06/09/11 00:48:37
URLリンク(www.shader.jp)

300:デフォルトの名無しさん
06/09/20 11:11:02
URLリンク(www.gpgpu.org)
が見えないんだけど、どうしちゃったんだろ?

301:デフォルトの名無しさん
06/09/26 19:47:06
URLリンク(journal.mycom.co.jp)

DX10では今までと比べ物にならんほど汎用性が増すみたいだね。

302:デフォルトの名無しさん
06/09/28 22:51:28
浮動小数点数のバッファに1.0より大きな値を記録する事は出来ないのでしょうか。
試してみたら1.0で飽和されてしまって。

303:デフォルトの名無しさん
06/09/29 08:49:41
シェーダー言語使ってるかどうかとか、情報少なすぎ。
どっかで8bitとかのフォーマットに変換されてたりするんじゃないか?

304:302
06/09/29 12:27:41
>>237を元にしてD3DFMT_R32Fを使いテクスチャを2枚にして
ps_1_1
tex t0
tex t1
add r0, t0, t1
してます。

結果が1.0以下になる演算では小数で解が得られているので
8bitに変換されているというより1.0で飽和しているという印象を受けました。

305:302
06/09/29 16:04:33
ps_2_0
dcl t0
dcl_2d s0
dcl_2d s1
texld r0, t0, s0
texld r1, t0, s1
add r0, r0, r1
mov oC0, r0

にしたら上手くいっているようです。
2枚のテクスチャを加算するピクセルシェーダのコードはこれで間違いないでしょうか。

306:デフォルトの名無しさん
06/09/30 01:13:47
俺の持っているのは DX9 のだが、マニュアルの
[DirectX Graphics] - [リファレンス] - [シェーダ リファレンス] - [ピクセルシェーダ 1_X] - [レジスタ ps_1_X]

[DirectX Graphics] - [リファレンス] - [シェーダ リファレンス] - [ピクセルシェーダ 2_0] - [レジスタ ps_2_0]
のテンポラリレジスタのところでレジスタ精度を見てみると、ps 2.0 は浮動小数点数だが、ps 1.1 は D3D8CAPS.MaxPixelShaderValue を上限とする小数部 8bit の固定小数点数の可能性があることがわかる。

君の持っているカードもわからないのに、何故具合が悪かったかなどわかりようもないが、305 のコードは合ってる。

307:デフォルトの名無しさん
06/11/09 19:24:06
URLリンク(pc.watch.impress.co.jp)

308:デフォルトの名無しさん
06/11/11 08:31:59
>>307
これで、おれのようなへっぽこコード書きでも使えるようになった。

309:デフォルトの名無しさん
06/11/11 12:33:04
Geforce8800GTXのSLIで1TFlopsが30万円くらいだしすげーよな。
はやく開発環境ほすぃ

310:デフォルトの名無しさん
06/11/11 15:54:43
ここまでくると、もうGPGPUとは呼べないよね。

311:デフォルトの名無しさん
06/11/11 17:01:11
今までシェーダーでやってた人が馬鹿みたい
メモリー周りはどうなってるのかな?

312:デフォルトの名無しさん
06/11/11 17:11:54
そんなことよりもなぁ、演算プロセッサボードで作ってた連中が不憫で不憫でw

313:デフォルトの名無しさん
06/11/11 17:14:11
あーもう要らないね、GPU内で全部計算できるし、転送しなくてすむし。
グラフィック以外の計算にも使えそうなキガスルがどうだろう。

314:デフォルトの名無しさん
06/11/11 17:17:43
>>313
フーリエ変換に使えないか、調査予定。巧くすれば、プロセッサボード屋に払う分をこっちの仕事にできそうな希ガス。

315:デフォルトの名無しさん
06/11/11 18:13:55
GPU内でDSP的でない処理がモリモリできるのであれば、
メインメモリとの転送量も少なくできるかな。
もしそうなら、x16じゃなくてx1レーンに沢山のっけてもいいかも。
できるかどうか知らんけど妄想。

316:デフォルトの名無しさん
06/11/12 18:44:29
Cで扱えるようになるっていうのは、ハードウェア的な新機能なの?
旧型のGPUも、ドライバーで扱えるようになるのかな?


317:デフォルトの名無しさん
06/11/12 19:10:51
GPUのアーキテクチャーが大きく変わったことでCでプログラミングできるような
構造となった。だからコンパイラー付き

よって旧型チップじゃ使えないよ。

318:デフォルトの名無しさん
06/11/12 20:08:45
なるほど・・・、THX
ドライバ側っつーか、ライブラリ側でかなーり頑張れば旧GPUも対応出来そうな感じもするんだけどなぁ。
もちろんパフォーマンス的なものが変わってくるだろうけど。



319:デフォルトの名無しさん
06/11/12 20:36:07
無理。

320:デフォルトの名無しさん
06/11/12 20:54:48
これってやっぱ単精度なんだよね?


321:デフォルトの名無しさん
06/11/13 14:13:59
ちゃんと嫁よ
プロセッサ内蔵してそこが実行してるんだから旧も新もあるか。

322:デフォルトの名無しさん
06/11/14 23:08:50
>>320
(独自)Cコンパイラ使えます
けどdouble使えません

単精度浮動小数演算器に桁上げ回路?くっつけて
できないのかねぇ?
ソフト的にやったら性能ガタ落ちだろうし。

323:デフォルトの名無しさん
06/11/14 23:37:33
URLリンク(www.4gamer.net)

CUDAの詳細どぞ。

324:デフォルトの名無しさん
06/11/15 10:26:20
ほんと今までグラフィック屋さんでもないのにCgいじくってひーひー言ってたのがヴァカみたい…
まぁ、8800は素直にすげーと思うけど

325:デフォルトの名無しさん
06/11/15 11:06:38
これもGPGPUですか?
URLリンク(www.itmedia.co.jp)


326:デフォルトの名無しさん
06/11/15 19:37:40
ソフトウェアレンダとハードウェアレンダの境目が取っぱらわれるわけでもないのかな?

とりあえずこの傾向が進めば、GPUの扱いは
Cバス用のPC-9801-16に乗ったMC68kみたいになるわけだな。


327:デフォルトの名無しさん
06/11/15 20:08:42
ソフトレンダはdoubleで計算してるからねぇ。
floatでレイトレったらすごい結果になるしw

328:デフォルトの名無しさん
06/11/17 18:17:32
Mpegのエンコードにおける、動きベクトルの算出に
GPUが使えたらと考えています。
参考になるようなサイト等ありましたら教えてください。


329:デフォルトの名無しさん
06/11/28 04:54:51
GPGPUなMP3エンコーダー作ってください

330:デフォルトの名無しさん
06/11/29 08:20:07
URLリンク(www.kvraudio.com)
こんなのきたよ
GPGPUでサウンド用DSP的なことをやるみたい。
この場合はDelayだけだけどw

331:デフォルトの名無しさん
06/11/29 10:23:22
オフセットしてaddするだけやん!

332:デフォルトの名無しさん
06/11/29 13:11:45
CUDAがでてきたから来年にはGPGPUの状況も変わるかもね。

333:デフォルトの名無しさん
06/12/06 00:15:51
うちの大学で、GPUでレイトレやってる人がいる・・・・

334:デフォルトの名無しさん
06/12/06 21:37:13
レイトレなんて久しぶりに聞いた単語だ。


335:デフォルトの名無しさん
06/12/06 23:46:12
>>333
一昨年俺がやったぜ
GeForce6シリーズなら十分
SM2.0だとループができないから
6800GT初売りに予約して買った。
研究費だけどね。

今だと、海外もボコスカ論文出てるから
新規性アピールするのむずいかな。
あ、研究とは言ってないのか

336:デフォルトの名無しさん
06/12/07 13:15:17
ごめん、GPUじゃなくて、PPUっぽい・・・

337:デフォルトの名無しさん
06/12/07 14:57:30
GPUPPURか
URLリンク(d.hatena.ne.jp)
最近進捗ないけどどうなんだろうね。

338:デフォルトの名無しさん
06/12/07 23:02:24
ファミコンのPPUを演算に使うのは難しそうだけどな。

339:デフォルトの名無しさん
06/12/11 00:54:33
ソフト的に倍精度の研究やってる俺がきました
2007年後半にハード的に実装されるみたいですねー

340:デフォルトの名無しさん
06/12/11 21:46:48
>>337
レイトレーシングでStanford bunnyとかレンダリングできるけど、遅い。

341:デフォルトの名無しさん
06/12/12 00:59:27
>>339
あの,大変申しにくいのですが
今年のSIGGRAPHのポスターでドンピシャなのが…
Extended-Precision Floating-Point Numbers for GPU Computation
URLリンク(cs.allegheny.edu)

悪気はないんです,担当教官から言われるよりはよっほどマシだと思いますし.
頑張ってください

342:デフォルトの名無しさん
06/12/12 01:36:50
>>342
俺オワタ\(^o^)/

343:デフォルトの名無しさん
06/12/12 01:48:58
読んできました。
難しい内容じゃないし誰かがやっててもおかしくないですよね
近々中間発表があるのでそれまでになんとかしないと・・・
情報提供ありがとうございましたm(_ _)m

344:デフォルトの名無しさん
07/01/14 22:05:03
すみませんお聞きしたいことが
nvidiaのCg言語はATIのチップ上でも動くのでしょうか?

GPUプログラミングをやってみたいと思っているのですが
手持ちがATIしかなくて

345:デフォルトの名無しさん
07/01/15 20:05:39
>>344
ATIのチップでやったことないけど、できたと思う。
NVIDIA SDKでも落としてサンプルを走らせてみたらいいと思うよ

346:デフォルトの名無しさん
07/01/16 01:49:39
>>345
ありがとうございます。試してみますー

347:デフォルトの名無しさん
07/02/20 09:13:53
CUDA使ってる人居ません?
興味があって、GF88GTSのメモリが少ないやつを無理して買ってきたんですけど
コンパイラが手に入らない・・・orz

もしかして、ベータテスターや関係者じゃないと、まだ配ってもらえない?

348:デフォルトの名無しさん
07/02/20 09:19:58
落としてないから知らないが、CUDA Toolkit Version 0.8に
コンパイラ入ってないの?

>The Toolkit includes standard FFT and BLAS libraries, a C-compiler for the NVIDIA GPU and a runtime driver.
って書いてあるけど。

349:デフォルトの名無しさん
07/02/20 10:24:16
GPUで汎用コンピューティングを行うスレ
スレリンク(tech板:16番)

URLリンク(developer.nvidia.com)

350:デフォルトの名無しさん
07/02/20 15:34:52
>>347
お、動いたら感想よろしく。

351:デフォルトの名無しさん
07/02/20 17:10:05
昨日か一昨日くらいにCUDAコンパイラのパブリックベータが始まった。
誰でも落とせるようになったはず

352:347
07/02/21 12:08:21
情報THXです!

でも、うちx64のVistaマシンなので…orz
まだ開発環境は32bit版しか出てないみたいで、ドライバに強く依存するらしく32bitアプリ側からは64bitドライバが見えないようです。
ドライバが入ってないというメッセージが出て、インストールすら出来ない…orz

早く64bitバージョンでませんかねぇ・・・。

353:デフォルトの名無しさん
07/02/21 13:34:37
>>352
英語版のnVIDIAのサイトからGO!
日本語版のサイトのvistaドライバのページは何故かNot Fount
多分最新のドライバ入れれば、有効になると思われ。
Vistaでは試してないけど、XPのx64でCUDA SDKは使えたから・・・(ただしグラボがGF66なのでインストールしただけw)

354:デフォルトの名無しさん
07/02/21 14:51:53
Supports Linux and Windows XP operating systems

とかいてあるからVistaはまだ無理なのかも

355:デフォルトの名無しさん
07/02/21 14:54:32
NVIDIA CUDA Homepage
URLリンク(developer.nvidia.com)



356:デフォルトの名無しさん
07/02/22 11:02:37
Vistaまだっぽいな。。

357:デフォルトの名無しさん
07/02/24 22:27:08
とりあえず動かしてみたいけどG80廉価版待ち

358:デフォルトの名無しさん
07/02/25 13:00:56
初歩的な質問です。
GPGPUにチャレンジしてみようと思い、BrookGPUを使ってるんですが
ループの並列化がイマイチどのようにすればいいかがわかりません。

例えば、ループの部分で前回回した処理結果に加算を行う処理をする場合
前後関係が出てくるので、GPGPUに適した並列化は出来ないと思うのですが、こういうのは何か解決方法があるのでしょうか?


359:デフォルトの名無しさん
07/02/25 14:02:00
int i;
float x[1024];
x[0]=1;
for(i=1; i<1024;i++){
x[i]=x[i-1]*i;
}
みたいなやつの事?
そもそも、この手のはGPGPUに向かない。


360:デフォルトの名無しさん
07/02/25 14:15:44
>>358
依存関係がなくなるように計算式を変更するか、
並列させる方向を変えるような工夫が必要。

でもって、そういう工夫は実はSSEを使ったベクタ化やOpenMPによる並列化にも適しているので、
ますますGPUを使うメリットが活き難くなる罠。

361:デフォルトの名無しさん
07/02/25 18:34:02
並列計算はいいんだけど
計算の中間結果を保持する為の
テンポラリバッファが大きくなって
すぐ頭打ちになりそうなイメージ

362:デフォルトの名無しさん
07/02/25 21:41:38
演算精度が悪すぎて使い物にならない印象しかないんだが…。


363:デフォルトの名無しさん
07/02/25 22:13:06
明日G80にダイブしてみるよ!
飽きたら速攻で売り払わないと

364:デフォルトの名無しさん
07/02/25 23:03:53
>>362
URLリンク(mypage.odn.ne.jp)
もうじき倍精度サポート
現状でも型としてはサポートしてるからコーディングは可能

365:デフォルトの名無しさん
07/02/26 22:06:57
>>359-360

for( i=0; i<height; i++ ){
for( j=0; j<width; j++ ){
a=img[i][j]+img[i-1][j]+img[i+1][j];
}
}

こんな感じのもGPGPUには向かないってこと?

366:デフォルトの名無しさん
07/02/26 22:15:27
その処理は、コンパイラが優秀ならばCPUでもGPUでも
まあまあ効率よく実行されそうだが。

367:デフォルトの名無しさん
07/02/26 23:57:20
>>365
その処理は問題ない。むしろ超得意なくらい。

368:デフォルトの名無しさん
07/02/26 23:58:42
>>365
それは前後の処理結果は関係ないでしょ。
imgに代入するならともかく、imgと言うデータがあらかじめあるのなら、そのままVRAMに転送すりゃいいわけだし。

369:デフォルトの名無しさん
07/02/27 12:16:50
>>365 を Cg で書くとどんな感じ?

370:デフォルトの名無しさん
07/02/27 12:25:46
今はCgよりCUDAの方が。。。
まぁ古いGPU(俺を含めて)の人には仕方ないが。

371:デフォルトの名無しさん
07/02/27 12:48:48
>>369
kernel void func(float v1<>, float v2<>, float v3, out float o<>){
o=v1+v2+v3;
}
int main(void){
int i;
float img[height][width];float a;
float v1<width>;float v2<width>;float v3<width>; float o<1>;
for(i=0;i<height; i++){
streamRead(v1, img[i]);streamRead(v2, img[i-1]);streamRead(v1, img[i+1]);
func(v1,v2,v3,o);
streamWrite(o, &a);
}
}

BrookGPUで書くとこうかな。そのままCg用のコードを生成してくれるはず。
でも、このコード、aは上書きだし、0から始まる変数でi-1とかやっちゃってるし、色々アレだね。

そういえば、BrookGPUでループ中にstreamReadを大量にやると、VRAM食いつぶしてマシンがフリーズするな。。。
何かVRAMの内容を開放する関数は無いのかな?

372:デフォルトの名無しさん
07/02/27 14:02:44
じゃあCUDAで書くとどうなるの?

373:デフォルトの名無しさん
07/02/27 14:32:25
>>371
手抜きするなーw
外側のループもはずせるだろ。

いや、面倒だから俺はやらないけどなw
VRAMは自動開放だからな…、俺もよくフリーズさせてしまう。正確にはフリーズじゃなくて単に低速化するだけなんだろうけど
プロセスも殺せなくなるのが嫌だな

374:デフォルトの名無しさん
07/02/28 01:06:47
Brookでやるからだよ。
頑張って自分でCgとか使ってゴリゴリ動的にメモリを管理するんだ。
って言うか、あれは隠蔽されすぎてて何やってるのかわからんし、パフォーマンスが出るような組み方ができないので
遅すぎる。BrookGPU使ってCPU処理より速い処理ってかけるの?どう頑張ってもReadBackである意味速度差がつけられちゃうよ。

375:デフォルトの名無しさん
07/02/28 01:17:19
何度見てもスレタイをゲプゲップと読んでしまう

376:デフォルトの名無しさん
07/02/28 02:16:30
ぐぷぐぷってよんでる

377:デフォルトの名無しさん
07/02/28 04:54:13
intからfloatへの変換で+/-32768.0の範囲へ正常に変換できる様にGPUで計算したいのですが
CPUだと、
hoge*(1.0 / ( 1L << (8 * sizeof(int) - 16)));
一般的なWintel環境だと、hoge*(1.0 / (32768.0));
だと思うんですが、GPUだとこのままだとint型とfloat型の扱いの違いか、正常に変換出来ません。
GPUでやる場合、どういう風にすればいいのでしょうか?

378:デフォルトの名無しさん
07/02/28 05:24:56
あ、スマソ
単純ミス。。。

GPU側にfloatで値を渡してたから、2重に変換されてた・・・


379:デフォルトの名無しさん
07/02/28 14:07:17
GPUにint型をfloatで送っちゃった時点で、桁落ち発生するでしょ。

380:デフォルトの名無しさん
07/02/28 15:29:00
桁落ちするの?

381:デフォルトの名無しさん
07/02/28 21:34:28
assert((float)0x7FFFFFFF != (float)0x7FFFFFFE);

382:デフォルトの名無しさん
07/02/28 22:11:09
Brookもint型が扱えればな…。
floatとintだと、個人的にはfloatの方が高度なものだと思うんだけど
なんで、float扱えて、int型が扱えないのかなぁ・・・


383:デフォルトの名無しさん
07/02/28 22:47:15
>>377
キャストしてGPU側に送って、GPU側で更にint型にキャストじゃ駄目なん?
って、GPGPUの言語名に使ってるかわからんけど、大抵intは無理なんかな

384:デフォルトの名無しさん
07/03/01 16:20:02
ところで、おまいらAMDのフュージョンは期待してますか?


385:デフォルトの名無しさん
07/03/01 16:29:50
AMDはコンパイラが期待出来ないから駄目
ここは嫌でもIntelやnVIDIAと共同で第3機関を作り、命令セットの仕様を管理させた方が良い。

じゃなきゃ3D NOWの二の舞さ。
どうせIntelもGPUコアとの統合を考えてるんだろ?
そうなった場合、どうせどこかで命令セットが共通化するんだから(しなかったら終わってる)
最初からそういう機関を作っとけよ。

386:デフォルトの名無しさん
07/03/01 17:39:38
そうなるよりチップセットにプログラマブル演算機能があった方がいいな。
メインメモリへ近いしCPUである程度処理して
並列化できる処理ではCPUがそのメモリアドレスを投げて
結果をCPUに戻すかGPUなどのバスに転送させる。
定数時間で出来る処理ならメモリ転送の代わりにできる。

387:デフォルトの名無しさん
07/03/01 17:45:11
チップセットにCPUくっつけたらいいんじゃね?

388:デフォルトの名無しさん
07/03/01 17:51:27
>>387
すでにAMDのCPUはメモリに直接つながってるからその状態では。

389:デフォルトの名無しさん
07/03/02 00:22:20
>>385
> じゃなきゃ3D NOWの二の舞さ。

AMD64はよくがんばったと思わないか?

390:デフォルトの名無しさん
07/03/02 00:29:55
あれは先にIA64が大コケして自爆しただけ。

391:デフォルトの名無しさん
07/03/02 00:48:26
IA-64はよくガンガッテルお

Itanium2プロセッサベースのサーバ上で動作するアプリケーションの数が1万種類を超えた
URLリンク(www.itmedia.co.jp)
Itaniumベースのサーバが急成長を続けており71.5%成長で11億ドル市場
URLリンク(journal.mycom.co.jp)
Itanium搭載サーバ、売上ベースのシェアが国内RISCサーバの6割相当に拡大
URLリンク(www.rbbtoday.com)
Montecito搭載、HP Integrity SuperdomeがTPC-Cで世界記録
URLリンク(www.tpc.org)

392:デフォルトの名無しさん
07/03/02 01:12:33
>>389
あれは殆どマイクロソフト主導じゃん
MSの戦うプログラマの人がAMD64自体の開発に関わってたし

後は、あれはあくまでx86命令の拡張で、今までのCPUの延長線上のものだが
今回のフュージョンは、アーキ的には全然比べ物にならないくらいの大改造だから…


393:デフォルトの名無しさん
07/03/03 03:45:34
CPUコアに統合されれば、GPGPUの最大の問題点であるReadBackの遅さが解決するな。
そもそも、CPUの命令に自然に溶け込む形みたいなので、GPGPUとか意識せずとも、勝手にコンパイラがやってくれそうな気もする。


394:デフォルトの名無しさん
07/03/04 00:53:22
粒度はどんなのになるんだ?
現行GPUでいうところ quad とか batch とかにあたるもの。

395:デフォルトの名無しさん
07/03/04 01:06:43
自分でループ展開して並列化して、各GPUをプログラマに管理させたりしてw
まぁ、コンパイラが勝手にやってくれるんじゃないかな。
それ以外の場所は、一般的なクラスタリングシステムみたいにやってくれるって事はないと思われ
そういうことは研究されてるけど、まだまだ一般的なコンパイラ1発でやってくれる仕組みは完成しているとは言いがたい。
最適な粒度をコンパイル時に調べてくれるとかやっても、別環境で実行する場合変わるしなぁ。





396:デフォルトの名無しさん
07/03/04 12:47:40
いや、俺が知りたいのは、それぞれのユニットがプログラムカウンタを持つのか、コプロセッサ命令でシェーダアレイコントローラに命令するのか、ということなんだ。
全部のユニットにプログラムカウンタがあったら、そりゃサブプロセッサが沢山載ったマルチコアでしかないじゃん。
コプロセッサ命令になるにしても、拡張命令で1度に1つのユニットに1命令送るだけじゃ意味ないから、適当なグルーピングが必要だと思うんだけど。
x86ISAの拡張ってんだから、後者ではあるんだろう。
で、その粒度はどんなのになるんだろうな、と。
>395 の話題も面白そうだけど、他のプロセスなりスレッドとのユニットの取り合いとかも考えるとやってらんないね。

397:デフォルトの名無しさん
07/03/04 15:14:04
偉そうな口調で頓珍漢な事言ってる人は、出て行って欲しい。
んがぁ、無理なんだよね。

ひろぽんは、殺伐とした方が情報の濃度が上がるとか言うけど、
白痴や馬鹿が沢山いるのに、そりゃああり得ない話。
頓珍漢なこと言ってると理解出来るレベルの人にとっては、
その情報って情報価値を持たない情報だったりするし。

398:デフォルトの名無しさん
07/03/04 15:27:13
日本語でおk

399:デフォルトの名無しさん
07/03/04 15:28:36
ウォッカはストロワヤが一番。やっぱりウォッカはロシアだね。
スレ違いスマソ。
自分の、これはダメかもわからんねは、
バイクで50キロぐらいで2車線目を走っていた。
するといいきなり目の前に1車線目に止まっていた車が右に、
フルブレーキするまもなく追突(前輪あたり)
10m程飛ばされて頭、ほんとにてっぺんからアスファルトに直撃。
その瞬間首が変な方向に、ぐにっとなった時。

結果は頭を支点にそのまま背中をまたアスファルトに直撃。
シボンヌ・・・、と思ったら生きてる。
その瞬間、車に腹が立って立ち上がり走っていってボンネットの上に飛び乗った。
運転手ポカーン、
んで警察に行って、病院行って、CT撮って診察の時。
他に痛い所は?と先生。
タンクで金タマ打って少し痛い。と言うと
顔色を変えてそれはいかんな、チョット見せて
(看護婦ちょっとはにかんだ様な顔でカーテンを引く)
先生、漏れの金玉をうねうねコロコロして。
ん~、大丈夫でしょう。しばらくすると痛みも引きます。
と言いながらカルテにカキコしてるのを見ると
 
  睾丸hit    

これはだめかもわからんね・・・

400:デフォルトの名無しさん
07/03/04 15:58:53
朝鮮語でおk

401:デフォルトの名無しさん
07/03/04 22:07:30
>>397
流れ的に俺のことなんだろうが、フロントエンドにしか興味ないのか?

402:デフォルトの名無しさん
07/03/04 22:14:46
ネットワークのスレとかにも現れる
「おまえらバカばっかりだな」系の人だろ

もちろん具体的な議論はしません

403:デフォルトの名無しさん
07/03/05 15:18:23
>>401
何処の人か分からないけど、ごめん。
イント、フロートでごちゃごちゃ言ってた人のこと。


404:デフォルトの名無しさん
07/03/05 18:45:01
それも多すぎてわからん。

405:デフォルトの名無しさん
07/03/05 23:09:11
【キーワード抽出】
対象スレ: GPGPU
キーワード: イント


403 名前:デフォルトの名無しさん[sage] 投稿日:2007/03/05(月) 15:18:23
>>401
何処の人か分からないけど、ごめん。
イント、フロートでごちゃごちゃ言ってた人のこと。


抽出レス数:1

406:デフォルトの名無しさん
07/03/05 23:32:35
イント人もびっくり

407:未来人
07/03/07 16:29:31
GPUってCPUに取り込まれて無くなってたよ。
CPUは、FPUとSPUとGPUで構成されてたよ。



408:デフォルトの名無しさん
07/03/07 20:51:05
>>396
「何時の時代の人だ(と言ってもたかだか数年前だが・・)」的な
ことを今更「俺が知りたいのは」とか書くから荒れる。勉強しろ。

409:デフォルトの名無しさん
07/03/08 01:13:12
>>408
url か検索ワードくらい教えてくれ。
英語でなんて表現したらたどり着くのか見当も付かん。

410:デフォルトの名無しさん
07/03/08 03:00:48
【Penryn】次世代モバイルCPU雑談スレ 3【Nehalem】
スレリンク(notepc板:537番)

537 名前:[Fn]+[名無しさん][sage] 投稿日:2007/03/07(水) 17:10:43 ID:o4rB4JJN
GPUだからコプロセッサではない。
同様にデュアルコアだからデュアルCPUではない。
たしかに正しい。
でもこの視野の狭さがアホな言動につながるのです。
プログラムから見るとどう見える?
概念レベルではどう見える?
そんな視点は一切ない。

411:デフォルトの名無しさん
07/03/08 05:54:39
GPGPUの研究発表を聞いた
CPUのみに比べて若干早くなっている程度
たぶんプログラミングレベルが低いのもあるんだろう
コストパフォーマンスについて聞いたら
「将来的には」を連発してた
CPUよりコストパフォーマンスの伸びが良い予定らしい

412:デフォルトの名無しさん
07/03/08 06:29:53
だってさ、1度でもGPGPUでコーディングした人ならわかるでしょ。
GPUを活かせる箇所が少ない事に…。
GPUといえども、1つあたりのストリームプロセッサの能力はCPUに比べて鼻くそだし、ReadBackのコストも馬鹿みたいにかかるんだから
並列化できなけりゃ意味がない・・・。そんな都合の良いループ部分が現状のコードや計算式見てそんなにあるか?



413:411
07/03/08 06:57:00
早起きなのか徹夜かどうかはさておき、さっそくどうも。

うちのソースは機械系で有限要素的なので割とあるんだな。
PS2の時に1GFlops程度出たけどP4のSSEにトータルで負けた。
CellとGPGPUは期待してるけど過剰期待は禁物だと思ってる。
いちおうGeForce8800買ってみるよ。
Cellはソフト作る気にもならないのでライブラリ充実待ち。

414:デフォルトの名無しさん
07/03/08 07:33:26
私のところも並列できる応用は色々ある。
実際、ClearSpeedやXTrillionのようなアクセサレータボードで速度が出ている。
それらに較べれば、コストはGPGPUなら桁違いに掛からないわけで。
#CELLも評価対象になってるけどね。

415:デフォルトの名無しさん
07/03/08 09:02:04
ムダ毛対策にもGPUによる並列処理が効果的らしい。

416:デフォルトの名無しさん
07/03/08 11:01:34
>>415
全身大やけどしました

417:デフォルトの名無しさん
07/03/21 18:20:19
>>412
動画のエンコードだと1つのキーフレームを1つのストリームプロセッサに
担当させることによって、簡単に並列化できる。


418:デフォルトの名無しさん
07/03/22 17:50:05
標準的なグラボは
VRAM128M
ストリームプロセッサは64基

1コアあたり2Mしか使えん。(それ以前に128M丸々使えるわけが無い)
丸々割り当てるのは辛いんじゃないか?

419:デフォルトの名無しさん
07/03/23 02:50:52
メモリ容量は768MBを想定してたから確かに128Mの場合は辛いなぁ。
GPU側のメモリを使いきるごとにCPU側のメモリに渡すというやり方で
なんとかなりそうな気はするけど。


420:デフォルトの名無しさん
07/03/23 03:07:17
完全にCUDA世代のグラボ前提の話になってるな
まだ遠い話だ・・・

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はプログラミング言語。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch