1 名前:デフォルトの名無しさん mailto:sage [2005/10/08(土) 23:15:20 ] いつの間にやらCPUを超える演算性能を持ってしまったGPUに計算させてみるという GPGPUについて語りましょう 参考リンク 総本山? gpgpu.org www.gpgpu.org/ GPUをCPU的に活用するGPGPUの可能性 pcweb.mycom.co.jp/articles/2005/09/06/siggraph2/
577 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 20:37:55 ] 普通に考えて、width, height, thetaのみに依存する(入力ストリーム全体に対して不変の) ロジックは先に計算してGPUの定数レジスタに格納する、くらいの最適化はしてるだろうね。 DirectXのHLSLシェーダをアセンブリにコンパイルしたときのpreshaderみたいに。
578 名前:デフォルトの名無しさん mailto:sage [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 21:58:44 ] gcc、それくらいの最適化は任せられなかったっけ? 気持ちが悪いから、可読性が落ちないなら、速い方にするけど。 >>573 にもう一度回してもらうのが一番手っ取り早いか。
580 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 22:24:02 ] >>579 sinf, cosfは外部のライブラリ関数で、Cコンパイラはその処理内容を知る立場にないから、 for文の中にある関数の呼び出し回数を勝手に減らすような最適化は普通しないと思うよ。 インライン関数だったらそういう最適かも可能だけど。
581 名前:536 mailto:sage [2007/04/23(月) 23:00:41 ] うい、流れは理解した。 明日にでも試してみる。 >>580 gccはsinf()はインライン展開しないようだね。 このテストじゃないけれど、iccはsincos同時に求める専用関数に置き換えるくらいのことはする。 iccの方は現在手元にないから水曜日になるけどテストしてみま。
582 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 23:33:10 ] >>581 投げてばっかりで悪いけど、よろしく。 8600でも買おうかと思ってたけど、unitが半分のはずが1/4しかないんでちょっと萎えてる状態。
583 名前:デフォルトの名無しさん [2007/04/24(火) 06:46:36 ] CUDAって、Vistaにまだ対応してないよね? あと、XPはx64にも対応してないけど、これってネイティブな64bitモードで動かないってだけ? 俺メインマシンがVistaとXP x64とのデュアルブートだから、CUDAの導入に踏み切れない・・・。 対応してるなら、早速グラボ買って来るんだが・・・
584 名前:デフォルトの名無しさん [2007/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 mailto:sage [2007/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 mailto:sage [2007/04/24(火) 18:31:54 ] >>583 この辺は参考にならない? forums.nvidia.com/index.php?showtopic=28716
587 名前:デフォルトの名無しさん mailto:sage [2007/04/24(火) 20:27:32 ] >>585 どうもです。10msそこそこってのはCeleron1.2GHzですか? getData(テクスチャフェッチ)はGPUが非常に得意な部分だからそこでかなり差が付いてるかもね。
588 名前:デフォルトの名無しさん mailto:sage [2007/04/24(火) 23:38:13 ] Celeron 1.2GHzならメモリが遅過ぎでしょう。 あとCeleronの場合、整数だけで座標を演算した方が速いと思う。 それにしても比較するのは酷な環境。
589 名前:デフォルトの名無しさん mailto:sage [2007/04/24(火) 23:45:07 ] ところで時間計測はどのように行ってます?
590 名前:536 mailto:sage [2007/04/24(火) 23:49:26 ] いや、10msはXeon3.4GHz(>568-569参照)。 そう言えば、Celeronの速度は忘れてた。
591 名前:588 mailto:sage [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/04/24(火) 23:56:58 ] 何言ってるか分りにくいか。 ix %= width みたいな除算が重たいから取り除くって話ね。
593 名前:536 mailto:sage [2007/04/25(水) 00:41:07 ] >>591-592 あー、それは敢えてCUDAサンプルの出力を見て合わせた。 最初は条件分岐でやったけど、確か大して時間変わらなかったように記憶している。 >>589 CUDAのサンプルの時間測定をそのまま使ってたんで、今調べたらgettimeofday()だった。
594 名前:588 mailto:sage [2007/04/25(水) 03:13:43 ] 積に比べれば遥かに重いんだけど、流石にXeonでは誤差か。 けどGPUがサイズを二の累乗に限定していたのはこういうところにもあるはずで、 例えばwidthとheightが二の累乗に限定出来れば ix %= width; を ix &= (width-1); にして除算が排除出来る。 Celeronではかなり効果あるんじゃないかなあ。
595 名前:デフォルトの名無しさん [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/04/27(金) 01:01:48 ] つか、ゲッパチ買ってきたんだけどCUDA糞じゃん 普通の文字列処理とかできねーじゃん。汎用GPUプログラミングとかいっておいて なーんもできねーじゃんゴミだだまされた。明日nvidiaに電凸しよう。
597 名前:デフォルトの名無しさん mailto:sage [2007/04/27(金) 01:26:43 ] >>595 のは、ちょっと例が悪かったです。 ごめんなさい(汗 ただ、他にifを使う部分は、やっぱり数式に直すしかないんですかね?
598 名前:デフォルトの名無しさん mailto:sage [2007/04/27(金) 01:42:26 ] >>597 悪いってレベルじゃねぇぞw で、結局そこはCPU側に出すか もしくは数式的に直せるのであればそうするしかないな。 CUDAは知らん。 >>596 はいはい。 使いこなせないだけですね。 文字列処理って何ですか? 文字列を数値化すれば、形態素解析であろうが、文字列マッチングであろうが 置換であろうが、余裕ですよ。
599 名前:デフォルトの名無しさん [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/04/27(金) 07:50:49 ] >>597 効率がどうなるかは知らんが、そういう用途ならCUDAの方が楽じゃない?
601 名前:デフォルトの名無しさん mailto:sage [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/04/27(金) 09:55:56 ] >>601 まず、後者の場合、reduceを使う void reduce sum(reduce float res<>){ res=res+5; } こんな感じ 前者の場合。 イテレーターを使うんだと思うんだけど、ちょっと俺にもわからん。
603 名前:602 mailto:sage [2007/04/27(金) 09:57:59 ] って、うわ・・・ 後者も間違ってる。。sumの問題じゃなかったのね。 すまん。 その場合普通に kernel void (out float o<>){ o=o+5; } でいいじゃん。
604 名前:デフォルトの名無しさん mailto:sage [2007/04/27(金) 10:35:23 ] >>601 void reduce func(reduce float i<>, out float o<>){ o=i; i=i+1.0; } 後者は何が言いたいのかわからん。 普通で
605 名前:デフォルトの名無しさん mailto:sage [2007/04/29(日) 00:19:43 ] お前らCUDAやりなさい。 ところで、CgがあるのにCUDAを出す意義って? nVIDIAは言語の乱立を自重汁
606 名前:デフォルトの名無しさん mailto:sage [2007/04/29(日) 00:46:51 ] Cgはシェーダー言語。HLSLのベースになった時点であるいていど成功。 CUDAはプログラミング言語。
607 名前:デフォルトの名無しさん mailto:sage [2007/04/29(日) 00:49:41 ] >>606 はあプログラミング言語ねえ
608 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 03:02:44 ] >>595 conditional move とか select とか、そういう類の命令を持つ CPU とか GPU があるのね。 だから3項演算子とか>599のようなことで問題なし。 そんなことを気にするよりも、まずは動くものを作ってこことかどっかに投げないと、何が聞きたいのかわからんというか、何を答えても的外れになりそうな気分になって答えられない。
609 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 13:22:28 ] BrookGPUって、intは使えないよね? データがint型で、ストリームに送る前にキャストしても返ってくる値がおかしいから困る・・・。 こういうのってどうすればいいんだ?
610 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 08:20:49 ] 桁落ちが原因だろ。>値がおかしくなる。 落ちない範囲に収めるor諦める
611 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 18:01:20 ] コーヒーブレイク ttp://www.forum-3dcenter.org/vbulletin/showthread.php?p=5449565#post5449565 ttp://www.forum-3dcenter.org/vbulletin/showthread.php?p=5450755#post5450755 R600のリークスライドなんですが、SuperScalar,SIMD,VLIW等 並列実行のキーワードが並んでます。 詳しい人、どうなんでしょうこのGPU。
612 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 00:36:29 ] 電気馬鹿食いDQNカードだぞ?
613 名前:デフォルトの名無しさん [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 13:36:48 ] >>613 それは計算量少なすぎ。 明らか転送のネックの方が大きいだろw
615 名前:613 mailto:sage [2007/05/04(金) 13:40:38 ] >>614 CPUの時も、streamReadとstreamWriteだけやるようにしてみました。 それでもCPU:16秒でした^^;
616 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 14:10:15 ] >>615 それはつまり、GPUの処理時間は2秒ということだね。 ……だからなに?
617 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 14:20:32 ] 転送時間を差し引いても、演算速度がCPUよりGPUの方が遅いって話だろ そんなの冷静に評価してるやつはみんな言ってるじゃん たまに『GPUはCPUの数十倍』とか夢見たいな話してる脳内お花畑さんが居るがw
618 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 14:49:27 ] BrookGPUはデバッカはついてるのかな? ブレークポイント設定してステップ実行とか出来るの? 今、主にHLSLで組んでいるんだけど GPUデバッグがやりずらくて困ってるんけど 同じかな?
619 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 15:11:56 ] >>618 BrookGPUって、単なるコンバータだよ。 結局Cgのデバッグ作業になるが・・・。 Cgは、nVIDIAがそういうツールを提供してる。
620 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 15:39:12 ] >>613 大量にデータを送り込めば数で勝るGPUは高速 しかし、BrookGPUのstreamは2048くらいしか要素を確保出来ない。 その程度では、GPUコア全てを使い切れないので、CPUの方が高速。 これの意味はもう分かるよな? さっさと、CUDAでも覚えるんだ。
621 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 15:44:08 ] BrookGPUなんて海外じゃもう糞確定してるって見方が大半だよ。GPGPUで 最先端いってるやつらに、BrookGPUwって感じで笑われるしなぁ。
622 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 15:50:31 ] BrookGPUはお遊び言語なのは知ってるけど じゃあ、何が良い言語なんだ? CUDA出る前からGPUは騒がれてたんだから、CUDA以前から扱いにくくともCPUよりちゃんと速度が出るのはあるんだろうね? SHとか使ったが、あれは、ちょっとなぁ・・・
623 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 15:58:54 ] 実際に海外の優秀なやつはら暇つぶし程度にしかいまのところやってないよ 速度云々は別にどうでもいいって感じだよ。ただできましたって感じだよね
624 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 15:59:51 ] …おい 誰も何でつっこまんの? 行列演算させずに、1次元計算させてどうするんだ。 まずは、GPUに計算させる前に、Gridにデータを落としこむべきだろ。 Gridにデータを落とし込むような価値の無い計算ならば、するな。 本当にレベル低いな、おい…
625 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 16:03:56 ] >>624 何マジレスしてるんだよw?
626 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 16:17:52 ] 行列に落とし込むくらいだったら、CPUに演算させた方が・・・w たまに出てくるGPGPUで有効な例とする for(i=0;i<SIZE_N;i++){ out[i]=in[i]+1; } こういう処理を否定してちゃあ、世間のジャーナリストは嘘つきだなw
627 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 18:55:00 ] ttp://mumei24.run.buttobi.net/cgi-bin/upload.cgi?mode=dl&file=971 DLパス:gpu トーラスをランバートのシェーディング(cg)で表示するだけのプログラムなのですが どうも動かないです。OPENGLです。 誰か助けてください。
628 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 00:11:23 ] >>611 リンク先は流し読みしただけだけど。 SuperScalarやらSIMDやらは今更な感じがする。 今までってSuperScalarじゃなかったんだっけ? 少なくともSIMDだったよな。 VLIWはちょっと気になるな。 GPUに既存のCPUのアーキテクチャでやられたヤツを色々持ち込むのはいいんだけど、 効率(性能)が向上するかは未知数だし、 GPGPU的に使いやすいかは別問題だったりするし、 どうなるんだろうね。 と、思ったことを適当に書いておく。参考にならんな。
629 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 01:27:32 ] GPUはSPMDだろ。 まぁCUDAで言えばWarpはSIMDだが、いずれにしてもGridレベルのSPMD。
630 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 18:24:24 ] 627ですが…反応ないですか
631 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 22:08:54 ] >>630 激しくスレ違い。 ここはコンピュータグラフィックス関連のスレじゃないよ。
632 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 19:04:59 ] …スレ違いなんですか 他スレの方が汎用コンピューティングとあったのでこちらで聞いたのですが
633 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 22:31:23 ] GPUスレと勘違いしてないか? GPGPUスレだぞ。汎用的にGPUを使おうってスレで、本来のグラフィックス処理がらみはスレ違い。
634 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 00:05:44 ] OpenGLスレとかその辺かな。
635 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 22:58:51 ] このスレッドの人ってあかでみっくぽすとの人が多いのかな
636 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 01:27:35 ] 中途半端に賢い人が多いんだよ
637 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:05:44 ] >>611 ttp://techreport.com/reviews/2007q2/radeon-hd-2900xt/index.x?pg=3 float MAD serial以外は、概ね速い。
638 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 02:43:02 ] 最近シェーダを学び始めた者です。 調べた結果、自分の中で結論出たようなものなのですが、 最後の確認として質問させてください。 シェーダで、32bit整数を扱うことは可能でしょうか?(ベクトル型で) もし可能であれば、シェーダモデルやベンダ拡張等問いません。 GPGPUな目的で学習していますので、このスレで質問させて頂きました。 よろしければご教授お願いします。
639 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 11:28:03 ] Cgでint4が出来れば扱えるんじゃない
640 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 22:35:37 ] CUDAは、さっさとXP x64とVistaに対応するべきだ。 俺、この2つのデュアルブートだから、せっかく8シリーズ買ったのに・・・。 これのために買ったのになぁ・・・orz
641 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 00:02:18 ] >>639 ありがとうございます。 試してみます。
642 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 21:48:38 ] ATI RADEON X800 XTで Cgの中でforやらbreakが使えないみたいなエラーが出たんだけど これってどこで確かめれるの?
643 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 23:25:09 ] >>640 ゲフォ8800なんて買う変態がXP 32bitにするわけがないからなぁ。 本当に本腰入れたいんならVista&XP×32bit&64bit全部入りだろうけど。 とりあえずコンパイルしてエミュで動かしてみたが速度とかどうってより operatorやらtemplateやらが通るのに吹いた
644 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 01:18:59 ] >>643 CUDAのこと? あれ、だってコンパイルにはgcc使ってるもの。
645 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 14:17:03 ] あーそりゃそうだな
646 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 21:56:13 ] ねねCUDAで if(input == 'a'){ ... } else if( input == 'b'){ ... } て処理書きたいんだけどどうやって書けばいいか教えてください
647 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 21:58:16 ] 無理
648 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 22:57:06 ] なんだとぉ ふざけるんじゃねーよ教えてくれよマジ切れするぞ ゆとり世代は沸点低いんだよ忘れたのか?
649 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 23:35:02 ] >ゆとり世代は沸点低いんだよ忘れたのか? ちょっと地面に穴掘って埋まってきたら? 圧力掛かると沸点高くなるっしょ。
650 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 23:56:46 ] >>649 なめてんのかコラいいかげんにさっさと教えろよ
651 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 00:00:20 ] マジレスしてやるよ CUDA SDKにはエミュついてるから、自分で試しヤガれ コンチクショー
652 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 00:23:39 ] だから無理だって言ってるだろ。 GPUには、条件分岐するキーワードは無い。 予めCで分岐してから、各処理を呼び出すしかない。
653 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 00:38:12 ] じゃあ abcdefjを128bitのhexとかに予め変換してとか小細工しても strstr()なんかを作ることは無理なのか?
654 名前:デフォルトの名無しさん [2007/05/27(日) 11:33:06 ] >>653 もちっと、じぶんのあたまでよくかんがえてからしつもんしよう。 ぺたっ (もうすこしがんばりましょう)
655 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 11:34:31 ] >>654 わかんねーからきいてるんだろうが こちとら時間ねーだんよささっと情報晒せ
656 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 12:11:24 ] 時間ないなら諦めたら?
657 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 12:12:27 ] >>656 悪かった取り乱してしまった。すまいと反省している。 ね?ね?ヒントでいいかなんか情報くださないな
658 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 12:56:58 ] なかなか釣れませんね
659 名前:デフォルトの名無しさん mailto:sage [2007/05/29(火) 01:34:39 ] あのー誰か教えてよぉもう2日もがんばってるけど できないよ
660 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 08:32:29 ] >>659 そもそもなぜGPUでstring処理を行いたいのでしょうか?? いくらCUDAでGPUを汎用プログラミング用途に使えるようになったと 言っても、やはりGPUが得意とするのは大量の単精度浮動小数点データ に対する演算だと思うのですが。
661 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 13:59:24 ] 余計なお世話だろ
662 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 14:36:51 ] すみませんでした
663 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 00:38:24 ] >>660 1024bitとかまぁもっと長いbit列の処理をさせた場合 現状どの程度優位(もしくは無意味か)データが採りたいんですよ。 だれか具体的にいくらって数値出していただけるならうれしいのですが そんなもん自分でやれっていわれるのはまちがいないのでCUDAで どうやって作ればいいのかちょっと聞いてみたかったんですよ。 未だにできないでうーむってうなってますよw
664 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 01:00:22 ] >>663 CUDA SDK付属のエミュでまずは作れ。 そしたら実機で回してみせるよ。
665 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 01:02:10 ] >>663 CUDA SDK付属のエミュでまずは作れ。 あうあう?うーんうーん?エミュってどこにあるの それいってくださいよーもー
666 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 01:08:06 ] まずはダウソしてインスコしてビルド汁 話はそれからだ developer.nvidia.com/object/cuda.html
667 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 01:22:09 ] 64bitじゃ無理じゃーん どうしろっていうんだorz
668 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 02:35:44 ] 俺もXP x64とVistaのデュアルブートだから無理だったんだよな・・・prz
669 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 07:54:50 ] >>667 欲張って64bitのマシンを買うからだ
670 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 09:40:38 ] 大丈夫、漏れは64bit機で32bitRedHat入れている。 #勿論、CUDAは問題なく動く。
671 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 23:27:42 ] grape.astron.s.u-tokyo.ac.jp/~makino/articles/future_sc/note048.html jp.arxiv.org/pdf/astro-ph/0703100 実用の計算で150Gflopsなら立派なもんだね。 負け惜しみで発熱に文句付けてるけど、 1年半すればミドルレンジ、3年後にはノースのおまけになるのがGPU。 残念ながらGrapeはお終い。
672 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 23:32:08 ] 演算アクセラレータボードを作っている会社も危ない状況ですね。 某社のボードなんか100万とかする挙句に開発環境がそれの倍以上だもんなぁ。
673 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 23:52:47 ] ねぇねぇubuntu x64環境でどうやってCUDAするの? toolとcudaいれたけどVideoのドライバがインスコできない なんで?
674 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 23:54:34 ] ERROR: this .run file is intended for the Linux-x86 platform, but you appear to be running on Linux-x86_64. Aborting installation. とか出るのですが原因が判りません。
675 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 23:59:43 ] >>674 日本語の参考書が出るまで、あんたにはCUDAは使えない。 日本語の参考書が出たらまたどうぞ。
676 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 00:26:47 ] >>671 いやさすがに3年後でmGPUにはならないでしょ…
677 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 01:30:32 ] >>674 エラーメッセージにダメな原因がはっきりと書いてあると言うのに、 これでも文章の意味が分かりませんか。はぁーーーーー。 # 日本の英語教育がよくないのか、それとも674氏特有の問題なのか。 ネイティブスピーカーが何を言っているのかなかなか分からない私で すが、文字として書かれていれば、これくらいの文章は普通に理解で きないものですかねぇ。 なんだかんだ言っても実質的に世界標準言語は英語なわけで、GPGPU とか言い出す前に、まずは中学・高校レベルの英文は読めるようになる 必要があると思います。 # それができないなら、675氏の言う通りだと思います。