GPGPU
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん
2005/10/08(土) 23:15:20GPGPUについて語りましょう
参考リンク
総本山? gpgpu.org
http://www.gpgpu.org/
GPUをCPU的に活用するGPGPUの可能性
http://pcweb.mycom.co.jp/articles/2005/09/06/siggraph2/
0944デフォルトの名無しさん
2007/08/19(日) 14:40:52moe(){←GPU側の処理
}
hoge(){←CPU側の処理
foo();
bar();
moe();
for(;;)
hoge();
}
みたいな事って無理なの?
0945デフォルトの名無しさん
2007/08/19(日) 15:08:400946デフォルトの名無しさん
2007/08/19(日) 16:02:03つまり宣言は
__global__ void moe(...);
であり、呼び出し部は
moe<<<blocks, threads>>>(...);
になるんじゃないかな。
再帰段数にも拠るけど、巧く考慮しておかないとパフォーマンスは出にくいと思われ。
0947デフォルトの名無しさん
2007/08/20(月) 19:21:46SIGGRAPH 2007 GPGPU COURSE
0948デフォルトの名無しさん
2007/08/21(火) 21:17:15一つの処理をforkしてさばく場合?
それともやたら早く数値演算が出来るの?
0949デフォルトの名無しさん
2007/08/21(火) 22:03:23強いのは並列処理。例えば行列演算とか画像処理にはかなりの威力を発揮する。
意外なところでは、超越関数だけで言えばXeonを遥かに凌ぐ速度も出る。
0950デフォルトの名無しさん
2007/08/22(水) 09:55:31数で勝負できる。ってだけ。
並列化出来なければ、何のメリットも無い罠
0951デフォルトの名無しさん
2007/08/22(水) 12:02:54#include <stdio.h>
int main (int argc, const char * argv[]) {
char string[] ="Hello,World";
char stringat[13];
copy (string,stringat);
printf("%s¥n",stringat);
return 0;
}
__global__ void
copy (char *buff,char *buffat){
int i = 0;
while(buff[i]){
buffat[i] = buff[i];
i++;
}
buffat[i] = '¥0';
}
良く分からないですけれど、こんな感じで。
0952デフォルトの名無しさん
2007/08/23(木) 01:06:13・GPU側関数はGPU側メモリしか扱えない。
・並列化しなければパフォーマンスは出ない。
結論:単なる文字列のコピーには使えない。但し、文字列操作ができないと言うことではない。
0953・∀・)っ-○◎●
2007/08/23(木) 01:55:370954デフォルトの名無しさん
2007/08/23(木) 02:03:120955デフォルトの名無しさん
2007/08/23(木) 02:53:32VMが進化してきたのでいいけど。
0956デフォルトの名無しさん
2007/08/23(木) 07:38:50Windows版はVS2005との連携になるからちと面倒。
# 尤も、どうせコマンドライン版を使うんだけど。
0957デフォルトの名無しさん
2007/08/23(木) 08:44:11ありがとうです。
GPU側からは、CPU側のメモリは弄くれないと。
つまり、参照渡しが使えない訳か。
GPU側の演算結果を得るためには、
cudaMemcpyという専用の関数を使わないと
駄目な訳ですね。
自分はMacしかもってないんですけれど、
実験でLinuxマシンかおうかなぁ。
CUDAには夢を感じるので。
0958デフォルトの名無しさん
2007/08/23(木) 10:18:030959デフォルトの名無しさん
2007/08/23(木) 22:42:23Larrabee とかにも自然に使えるとかそういう願望?
0960デフォルトの名無しさん
2007/08/24(金) 01:11:200961・∀・)っ-○◎●
2007/08/24(金) 06:23:260962デフォルトの名無しさん
2007/08/24(金) 07:11:05自分GPUの仕組みについては全くさっぱりなので。
ところでGPUをグリッド?単位で扱うみたいな事が書いてあるんだけれど、
っーことはGPUをいくつかに切り分けて、
fork-execしたプロセスに別々に渡したりできるのかしら?
0963デフォルトの名無しさん
2007/08/24(金) 07:41:43その仕組みがCUDAでいう並列化の肝だ。
例えばこんなループを
for (int i = 0; i < N; ++i) {
func(array, i);
}
こんな風に書くわけだ。
func<<<1, N>>>(array);
0964デフォルトの名無しさん
2007/08/24(金) 09:21:060965デフォルトの名無しさん
2007/08/24(金) 10:59:41別プロセスから単純に使おうとしたら待たされたっぽいけど
分割数を制御すれば共存できるかな?
確かに巧く使えば便利そうだ。ちょっと調べてみよう。
0966デフォルトの名無しさん
2007/08/24(金) 11:10:14すいません。
そういう話です。
GPUを論理分割?して別々の処理をしているプロセスに割り当てられたら
夢が広がるかなぁと思って。
0967デフォルトの名無しさん
2007/08/24(金) 14:24:47PCIeカードが出るみたいだけどx4レーンに刺すタイプみたいな。
わざわざマザー買い換えたくないし、さてどうしたものか。
0968デフォルトの名無しさん
2007/08/24(金) 14:55:05コンパイラがどんなもんかも判らんし。
0969・∀・)っ-○◎●
2007/08/24(金) 19:54:54安く済ませるにはPowerEdge SC430のx8とx4
あとはx1に刺さるビデオカードを用意して・・・
嫌だこの構成・・・
0970デフォルトの名無しさん
2007/08/28(火) 01:11:47大量のスレッドをぶん回す用途には使えないの?
0971・∀・)っ-○◎●
2007/08/28(火) 01:19:36GPUって基本的にピクセル数分並列化できるから、複数タスクを平行に動かすような用途には進化しなかった。
0972デフォルトの名無しさん
2007/08/28(火) 14:30:20には向かないと桃割れ。
ちと三宮へゲフォなグラボ見に逝って来る。
0973デフォルトの名無しさん
2007/08/28(火) 23:59:28例えばGPUにメモリが640MB搭載されてるとき、
32bitOSが使用出来るメモリ領域って
4GB-640MB分?
それとも、4GB全部?
簡単に言うと、
大容量メモリを乗っけたグラボがあった場合、
OSのメモリマップてどうなるの?
0974デフォルトの名無しさん
2007/08/29(水) 00:04:32メインメモリも侵食してくってことだから
単純にVRAM容量のデカいカードが有利ってこと。
DXのメモリサーフェスのようなものと思えば。
XPだと顕著な差は出ない。
もちろんVRAMの多いカードツンだからといって
アプリが使えるメモリが増えることはない。
0975デフォルトの名無しさん
2007/08/29(水) 00:51:54うぐぐ、いまいち分からんデス
GE80っていわゆるI/OマップドI/Oなんでしょうか?
それともメモリマップドI/Oなんでしょうか?
0976デフォルトの名無しさん
2007/08/29(水) 02:26:15質問の真意を取り違えてしまった。
メモリマップトだろうがアパーチャだろうが
疑問の通り4GBの領域を侵食するが
昨今のOSはPAE機構などによりRAM総容量4GBの壁はない。
プロセスがリニアにアクセスできる空間が4GBなのは相変わらずだが
このへんの話は話し出すとキリがなくスレ違い。
次スレ要るのか?
0977デフォルトの名無しさん
2007/08/29(水) 14:12:270978デフォルトの名無しさん
2007/08/29(水) 14:29:490979デフォルトの名無しさん
2007/08/29(水) 15:17:510980デフォルトの名無しさん
2007/08/29(水) 15:34:570981デフォルトの名無しさん
2007/08/29(水) 16:36:06Power4の1億7400万でも、出たとき「スゲー、コレ」って思ったのに。
0982デフォルトの名無しさん
2007/08/29(水) 17:11:46話題がスレ違いの方向に向かって過疎ってるし、こっちに統合しま
しょう。その他、テンプレとかフォローよろしこ。
GPGPU#2
http://pc11.2ch.net/test/read.cgi/tech/1188374938/l50
0983デフォルトの名無しさん
2007/08/29(水) 19:26:09そうかなぁ・・・
ブロック図みたり、シェーダちょっとでもいじりゃ
どんなもんか予想できるだろ
0984デフォルトの名無しさん
2007/08/29(水) 23:24:360985デフォルトの名無しさん
2007/08/30(木) 00:09:190986デフォルトの名無しさん
2007/08/30(木) 03:24:18Teslaって売れてんのか?
なんつーか、「こんな処理には向いていないと思われてたけれど、
実際にコード書いてみたら、意外と処理が爆速でした」
って言うものを見つけないと、いつまでたってもGPGPUってはやらん気がする。
0987デフォルトの名無しさん
2007/08/30(木) 04:51:36CUDAはさっぱり
Fusion?なにそれ?
GPGPUオワタ
0988デフォルトの名無しさん
2007/08/30(木) 20:17:223000人くらいかなぁ?
っーか、この分野は何に分類されるの?
CG?
0989デフォルトの名無しさん
2007/08/30(木) 20:36:35半分ギャグみたいなものだし。
0990・∀・)っ-<コ:彡-
2007/08/31(金) 02:19:180991デフォルトの名無しさん
2007/08/31(金) 10:46:330992デフォルトの名無しさん
2007/08/31(金) 12:50:29問題は、TeslaはGPUといっていいのか悪いのかw
0993デフォルトの名無しさん
2007/08/31(金) 12:52:340994デフォルトの名無しさん
2007/08/31(金) 13:25:46レス数が950を超えています。1000を超えると書き込みができなくなります。