【GPGPU】くだすれCUDAスレ【NVIDIA】

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
CUDA使いが優しくコメントを返しますが、
お礼はCUDAの布教と初心者の救済をお願いします。

CUDA・HomePage
http://www.nvidia.com/cuda

関連スレ
【GPGPU】NVIDIA CUDA質問スレッド
http://pc11.2ch.net/test/read.cgi/tech/1190008468/
GPUで汎用コンピューティングを行うスレ
http://pc11.2ch.net/test/read.cgi/tech/1167989627/
GPGPU#2
http://pc11.2ch.net/test/read.cgi/tech/1188374938/

2デフォルトの名無しさん:2008/03/22(土) 11:34:17
関連サイト

CUDAに触れてみる
http://chihara.naist.jp/people/STAFF/imura/computer/OpenGL/cuda1/disp_content

cudaさわってみた
http://gpgpu.jp/article/61432191.html

CUDA のインストール
http://blog.goo.ne.jp/sdpaninf/e/9533f75438b670a174af345f4a33bd51

NVIDIAの「GeForce 8800 GT(G92)」と次に控える64-bit GPUアーキテクチャ
http://pc.watch.impress.co.jp/docs/2007/1031/kaigai398.htm

CUDAを使う
http://tech.ckme.co.jp/cuda.shtml

NVIDIA CUDAを弄ってみた その2
http://dvd-r.sblo.jp/article/10422960.html

CUDAベンチ
http://wataco.air-nifty.com/syacho/2008/02/cuda_2044.html

KNOPPIX for CUDA Tutorials
http://www.yasuoka.mech.keio.ac.jp/cuda/

3デフォルトの名無しさん:2008/03/22(土) 16:56:39
>>2
もうちょっとましなサイトはないの?
ブログってチラシの裏と大して変わらないのが多いのだが
41:2008/03/22(土) 17:21:30
>>3
すみません、ぐぐって適当に載せたのですが、良いサイトがあれば教えてください。
5デフォルトの名無しさん:2008/03/23(日) 17:13:40
みんなGPGPUでどんなプログラム書いてる?
6デフォルトの名無しさん:2008/03/24(月) 10:38:43
>>1
スレを分ける訳は? あっちのCUDAスレだけでいい希ガス。
7デフォルトの名無しさん:2008/03/24(月) 14:45:08
teslaってどうなの?使ってる人いる?
8デフォルトの名無しさん:2008/03/24(月) 14:51:29
TeslaC870はQuadroFX5600からアナログ回路周辺を取り除いた代物と思っていい。
性能的には、VRAMは広くて使い出があるけどそれ以外は8800GTXと大差ない。
副作用として、8800GTXなどだとオンボードGPUを切り離してしまうタイプのPCでは、
GraphicChipと認識されないC870は便利と言えば便利。
9デフォルトの名無しさん:2008/03/25(火) 01:28:36
このスレの住人なら知っていますね、あの糞開発ツールのことを

・自分のプログラムのバグなのかコンパイラのバグなのかわからない
・他の仕事に応用できない糞開発ツールの独自世界を必死に学習している
・テキストエディタで書いたほうが効率的なのに糞UIツールを懸命に使っている
・糞開発ツールを批判すると「性格が悪いから糞ツールを批判するんだ」と言われる

糞だけど、政治的な理由で無理やり使わされているんですよね。
もう、あんな厨の作った糞ツールを我慢して使うのはやめましょう。

・糞開発ツールを部下に押し付ける上司の命令は無視しましょう。
 上司は糞開発ツールが使われる実績を作ることであの会社のごきげんをとっているのです。
・糞開発ツールを使わせる上司の下では働けません、と上司の上司に直訴しましょう。
・あの糞開発ツール提供会社には「おたくの糞開発ツールは話にならない」と突き放しましょう。
 バグレポートなどしてはいけません。改善要求などもってのほかです。
 あの会社はあなたたちのことをテスター/モルモットとしか思っていません。
・あの会議で「糞開発ツールを使ったら生産性がxx%アップしました」
 なんて話が出たら力強く机を叩き、会議室を出ましょう。
 あの人たちは糞開発ツールをマンセーすることで立場を確保しているのです。

糞な開発ツールを糞だと言える、そんな当たり前の環境をみんなの力で取り戻しましょう。
10デフォルトの名無しさん:2008/03/25(火) 01:55:19
11デフォルトの名無しさん:2008/03/25(火) 07:56:36
nVIDIAといいATiといい、Vistaの開発者をバカにしてるのか
12デフォルトの名無しさん:2008/03/26(水) 08:33:46
1次元テクスチャって通常のfloatの1次元配列のように扱えるの?
13デフォルトの名無しさん:2008/03/31(月) 13:04:11
sharedメモリはカードによって使える容量は違うのですか?
14デフォルトの名無しさん:2008/03/31(月) 13:12:12
>>13
1block辺りの容量が決まっているから、結果的にGPUによって違う場合があることになりますな。
15デフォルトの名無しさん:2008/04/01(火) 08:47:11
CUDAでトリップ検索したら早いの
128あれば128倍早そうな気がするんだけど
すぐもれちゃいそうで怖いんだけど
16デフォルトの名無しさん:2008/04/01(火) 08:48:12
↑早いの?です
17デフォルトの名無しさん:2008/04/01(火) 09:57:13
>>15
(比較的)単機能の(必ずしも)早くない演算器が(現在の最上位機種でも)256個あるだけなので、
単純に256倍速くなるわけではありません。
実際、4コアXeonよりも速いプログラムを作るのに苦労しているくらいですから。
18デフォルトの名無しさん:2008/04/03(木) 16:05:16
AIも256倍賢くなるのかな?
19デフォルトの名無しさん:2008/04/04(金) 15:15:42
コンパイルすると
Parsing error near '[': syntax error
というエラーが出ます。何がいけないのでしょうか?
20デフォルトの名無しさん:2008/04/04(金) 15:28:37
[の近くの構文がいけないのでしょう
21デフォルトの名無しさん:2008/04/04(金) 17:26:04
>>17
なるほど夢見すぎでしたd
22デフォルトの名無しさん:2008/04/06(日) 09:35:45
CUDAのプログラムを配布する場合、何を含めればよいのですか?
23デフォルトの名無しさん:2008/04/06(日) 09:52:28
>>22
NVIDIAの対応ドライバとCUDAToolKitをインストールしてもらう前提で、実行モジュールだけ。
ToolKitのDLLが同梱できるかは不明。
24デフォルトの名無しさん:2008/04/06(日) 12:39:02
nvccの-Oオプションて数字はいくつまであるの?gccと同じ-O3まで?
25デフォルトの名無しさん:2008/04/06(日) 15:28:30
gccにそのまま渡すだけだと思うから、きっと3。
26デフォルトの名無しさん:2008/04/06(日) 16:11:04
CUDAコードは最適化されないのですか?
27デフォルトの名無しさん:2008/04/06(日) 16:14:09
されますよ。もう、徹底的に。
# まぁ、それほどドラスティックではないけれど。
28デフォルトの名無しさん:2008/04/07(月) 15:26:08
cudaの実行速度を最適化したい場合、Oオプション以外にどのようなオプションがありますか?
29デフォルトの名無しさん:2008/04/07(月) 16:20:09
頑張って自分で最適化してください。
30デフォルトの名無しさん:2008/04/07(月) 16:22:20
-O3 -use_fast_math くらいかな。私が使っているのは。
GPU側のロジックは、実は-Oの有無では変わらないかも知れないと思う。
31デフォルトの名無しさん:2008/04/09(水) 07:43:09
nvccのオプションで-O3を指定した場合、-Xcompilerで改めて指定する必要はないのですか?
32デフォルトの名無しさん:2008/04/09(水) 16:50:10
ブロック数はどのように決めればよいのですか?
できるだけ多くするのがよいのでしょうか?
33デフォルトの名無しさん:2008/04/09(水) 22:01:54
>>32
多くすれば良いと言う物でもないみたい
分割数を多くすることによるオーバーヘッドの方が大きくなるのか
良く分からないんだけど
34デフォルトの名無しさん:2008/04/10(木) 17:46:35
いくつぐらいが適当ですか?
35デフォルトの名無しさん:2008/04/11(金) 01:13:42
もう一つのCUDAスレにヒントがあるので参考にどうぞ。
36デフォルトの名無しさん:2008/04/15(火) 06:31:17
単精度を2つ使って倍精度の計算をする様なことはできませんか?
37デフォルトの名無しさん:2008/04/15(火) 08:45:23
実は現行CUDAにも一部倍精度演算があります。
が、まともに使うにはCUDAv2を待ちましょう。
38デフォルトの名無しさん:2008/04/16(水) 00:59:13
今日やっと、CUDA_Profiler_1.1.txtの存在に気付いてProfilerをまともに使えるようになった。
環境変数で設定ファイル名を指定して、設定ファイルで出力項目を指定するなんてややこし過ぎる……
しかも、timestamp以外に4つまでの制限なんて、なんて半端な。
つーことで、こんな感じ。
-- cuda_profile.setting
export CUDA_PROFILE=1
export CUDA_PROFILE_LOG=cuda_profile.csv
export CUDA_PROFILE_CSV=1
export CUDA_PROFILE_CONFIG=cuda_profile.config
-- cuda_profile.config
timestamp
gld_incoherent
gld_coherent
# gst_incoherent
# gst_coherent

# local_load
# local_store
# branch
# divergent_branch

instructinos
warp_serialize
# cta_launched
--
# もうCUDAスレのどっちがどっちだか判らなくなっているのは内緒。
39デフォルトの名無しさん:2008/04/16(水) 19:29:17
CUDAと心中しても大丈夫でしょうか?
40デフォルトの名無しさん:2008/04/17(木) 00:46:36
心中する覚悟をするのは勝手ですが、実際に心中されたら大迷惑です。
41デフォルトの名無しさん:2008/04/17(木) 14:43:17
42デフォルトの名無しさん:2008/04/19(土) 13:25:57
OpenGL系がダメダメだね。Vista。
ただ、nbody.exeはなぜか動いている。
43デフォルトの名無しさん:2008/04/19(土) 15:53:33
> OpenGL系がダメダメだね。
付属のバイナリはダメだが。

ソースからビルドし直せば、動くぞ。
44デフォルトの名無しさん:2008/04/22(火) 00:19:42
GPGPU#2
http://pc11.2ch.net/test/read.cgi/tech/1188374938/

188 名前:デフォルトの名無しさん[sage] 投稿日:2008/04/21(月) 19:17:35
Linuxはここだ
http://forums.nvidia.com/index.php?showtopic=65067

どうでもいいけど明後日の仕事が増えた(謎
45デフォルトの名無しさん:2008/04/23(水) 23:13:45
質問スレッドっていきてるの?
46デフォルトの名無しさん:2008/04/23(水) 23:17:54
たった今回答して来ましたが何か。
47デフォルトの名無しさん:2008/04/29(火) 19:05:47
Visual C++のバージョンはチェックしているみたいで、合っていないとコンパイルできませんが、
gccはバージョンが合ってないとコンパイルできないのでしょうか?
gccの最新版を入れても大丈夫なのでしょうか?
48デフォルトの名無しさん:2008/04/29(火) 19:26:11
49デフォルトの名無しさん:2008/05/04(日) 01:23:12
ローカル変数は、どのメモリに格納されるのでしょうか?
sharedメモリでしょうか?
50デフォルトの名無しさん:2008/05/04(日) 08:40:58
レジスター
51デフォルトの名無しさん:2008/05/09(金) 16:59:41
2つのGPUを同時に使いたい場合、
for (int i=0;i<2;i++)
{
    CUDA_SAFE_CALL(cudaSetDevice(i));
    somekernel<<< 64, 512>>>( );
}
のような形で書けばよいのでしょうか?
それともこれだと、一つ目のカーネルが終わらないと2つめのカーネルの実行が開始されないのでしょうか?

上記のように書いているのですが、実行速度が2倍になりません。

52デフォルトの名無しさん:2008/05/09(金) 23:36:57
>>51
スレッドを分けるか、CUDA1.1で追加されたストリーム機能を使う必要がありそうです。
後者の場合、こんな流れでしょうかね。
--
for (int ic = 0; ic < 2; ++ic) {
cudaStreamCreate(& stream[ic]);
cudaSetDeviece(ic);
kernel<<<64, 512, 0, stream[ic]>>>();
}
for (int ic = 0; ic < 2; ++ic) {
cudaStreamSynchronize(stream[ic]);
postProcess(ic);
}
cudaThreadSynchronize();
5351:2008/05/10(土) 08:54:52
>>52
ありがとうございます。
上記のようにやったのですが、
for (int ic = 0; ic < 2; ++ic) {
の部分を
for (int ic = 0; ic < 1; ++ic) {
に書き換えると、実行時間がちょうど半分になるので
やはり並列で実行されていないようです。
上記コード以外になにか付け加える必要があるのでしょうか。
54デフォルトの名無しさん:2008/05/10(土) 09:22:20
>>53
CUDA_SAFE_CALLマクロは毎回cudaThreadSynchronize()を呼ぶから要注意。
5551:2008/05/10(土) 09:29:14
>>52さんの書かれたとおり、

for (int ic = 0; ic < 2; ++ic) {
cudaStreamCreate(& stream[ic]);
cudaSetDevice(ic);
kernel<<<64, 512, 0, stream[ic]>>>();
}
for (int ic = 0; ic < 2; ++ic) {
cudaStreamSynchronize(stream[ic]);
}
cudaThreadSynchronize();

のようにしているのですが、逐次実行になってしまいます。
5651:2008/05/10(土) 09:30:35
どこかにサンプルコードとかはないでしょうか?
57デフォルトの名無しさん:2008/05/10(土) 11:34:03
cudaSetDevice()するとそのCPUスレッドで使うGPUデバイスが決定されるので、
それ以降の変更はできない模様。cudaSetDevice()しないでAPIを使うと、
無条件にDevice0を使うことにされてしまう模様。

CPUスレッドを分けるしかなさそうね。

NVIDIAのForumに行けばサンプルも転がっていそうだけれど……
5857:2008/05/10(土) 11:35:55
あー、書くの忘れた。CudaProgramingGuide(1.1)の4.5.2.2参照で。
5951:2008/05/10(土) 12:35:11
ストリームだけではなんともならないということでしょうか?
6057:2008/05/10(土) 13:12:58
ならないっぽいですよ。ドキュメントを読む限り。
2.0betaのドキュメントも書き換わってないからそのままの悪寒。
61デフォルトの名無しさん:2008/05/10(土) 18:52:45
geforce9以降もCUDA対応してるんでしょうか?
62デフォルトの名無しさん:2008/05/10(土) 20:00:46
>>61
勿論。
6351:2008/05/11(日) 19:48:55
>>60
そうですか、そうなると結構面倒ですね。
ところで、スレッド分けで2つのGPUを使う場合、pthreadなどでも良いのでしょうか?
それとも、サンプルにあるような方法のみが認められているのでしょうか?
64デフォルトの名無しさん:2008/05/11(日) 20:10:22
>>63
ちっとはcutilの中身も見ようよ。cutStartThread()は、Linux版ではpthread_create()を呼んでいる。
65デフォルトの名無しさん:2008/06/17(火) 19:19:34
GeForce GTX 280で倍精度を使うと、処理速度はどの程度落ちますか?
66デフォルトの名無しさん:2008/06/17(火) 22:48:50
単精度の半分ぐらいでしょ。JK
67デフォルトの名無しさん:2008/06/18(水) 00:54:10
いいえ、12分の1です。
68デフォルトの名無しさん:2008/06/18(水) 05:03:23
GTX280 78GFLOPS
GTX260 62GFLOPS
69デフォルトの名無しさん:2008/06/20(金) 13:29:07
うーむ。GPU2枚使うのって実はコツとかいる?
ホスト側でOpenMP使って2スレッド走らせて、それぞれのスレッドに別のGPUを割り当てて
るんだが、答えとしては正しいものが返ってくるんだが速くならない。
むしろ、ホスト1スレッドで1つのGPUで計算させたほうがいくらか速いくらい。
きちんとGPU2枚使ってそうだというのは確認できたんだが速くならない理由がわからない。
なんだかGPU0の処理が終わってからGPU1の処理が始まるとかやってそうな予感がしている。
GPUの切り替えの分だけちょっとだけ遅くなるというオチじゃないかと。。。
サンプルのmultigpuとか読むとホスト側のスレッド生成法は違うけど同じようなことやって
るんだよなー。
2枚使って速くなったって人いたらどういう風にやったか教えてくれませんか?
かれこれ2週間くらい悩み中だ。
70デフォルトの名無しさん:2008/06/20(金) 15:38:55
>>69
pthreadでは速くなった?
開発環境は?
7169:2008/06/20(金) 17:34:03
pthreadって要するにホスト側スレッド生成にcutStartThread()を使うってことだよね?
それは実はまだやっていないんだ。これからやってみようと思う。
とりあえずスレッド走らせればいいんだと思っていたから、使用経験のあるOpenMPを使った。
もしかして、cutStartThread()で生成したスレッドを使用して各GPUを使うっていうことが
暗黙の条件だったりしないよね。
cutStartThread()で速くなった人いますかね?
開発環境はVisualStudio2005。
72デフォルトの名無しさん:2008/06/20(金) 17:40:20
うちでは速くなってるけど・・・
こちらはLinuxだけど、もしソースが載せられるならうpしてみて。

7369:2008/06/20(金) 18:41:08
>>72
ソースは諸事情のため色々と削ったりしたもの。
ちなみにCore2Duo+GPU×2なのでホスト側スレッド数=GPU数な環境。

float *h_data = 0;
h_data = (float*)malloc(mem_size);
(h_dataの中身をこしらえる)
cudaGetDeviceCount(&num_gpus);
int num_cpus = omp_get_num_procs();
omp_set_num_threads(num_cpus);
#pragma omp parallel
{
unsigned int cpu_thread_id = omp_get_thread_num();
unsigned int num_cpu_threads = omp_get_num_threads();
unsigned int element_per_kernel = element / num_cpu_threads;
float *sub_h_data = h_data + cpu_thread_id * element_per_kernel;
int gpu_id = 0;
CUDA_SAFE_CALL(cudaSetDevice(cpu_thread_id % num_gpus));
CUDA_SAFE_CALL(cudaGetDevice(&gpu_id));
printf("CPU thread %d (of %d) uses CUDA device %d\n", cpu_thread_id, num_cpu_threads, gpu_id);
7469:2008/06/20(金) 18:42:06
unsigned int mem_per_kernel = mem_size / num_cpu_threads;
float *d_data = 0;
CUDA_SAFE_CALL(cudaMalloc((void**) &d_data, mem_per_kernel));

dim3 dimBlock(num_thread);
dim3 dimGrid(num_block/num_cpu_threads);

for(i=0; i<T; i++){
#pragma omp single
{
total = 0;
for (j=0; j<element; j++) total += h_data[j];
(h_dataの値を色々いじる)
}
CUDA_SAFE_CALL(cudaMemcpy(d_data, sub_h_data, mem_per_kernel, cudaMemcpyHostToDevice));
calculate<<< dimGrid, dimBlock >>>(d_data, total);
CUDA_SAFE_CALL(cudaMemcpy(sub_h_data, d_data, mem_per_kernel, cudaMemcpyDeviceToHost));
}
}

諸事情によりomp singleを使っている場所があるんだがこいつが悪さをしているとかあるのかな。
75デフォルトの名無しさん:2008/06/27(金) 02:51:33
質問です(全く素人です)

OpenGLを使えばGPGPUのプログラミングが出来ると聞いたのですが、
かたやCUDAなどの専用の言語が出てきているのはどうしてでしょうか?
76デフォルトの名無しさん:2008/06/27(金) 03:13:39
だったらcとか使わずfortran66でも塚っテロ
77デフォルトの名無しさん:2008/06/27(金) 12:11:54
>>76
いえ、ですから、OpenGLではGPUの使えない機能もあるのかなぁ、と思いまして。
78デフォルトの名無しさん:2008/06/27(金) 16:55:21
GPUで計算中でも画面は通常通り表示されますか?
79デフォルトの名無しさん:2008/06/27(金) 22:56:10
>>78
ハードについて勉強するよろし
80デフォルトの名無しさん:2008/06/28(土) 00:16:42
CUDA実行中に、時たま怪しげな影が飛んだりフリーズしたりします。
81デフォルトの名無しさん:2008/06/29(日) 11:59:05
Folding@HomeのGPU版をしている人居ます?
PS3の280GTXは6倍以上をこなしているようですが。

ベータ版が公開されているが時間がなくてまだ何もしていない(困った。)
82デフォルトの名無しさん:2008/06/29(日) 12:04:52
>>81
マルチすんな。つーか、PS3の280GTXってなんだよpgr
83デフォルトの名無しさん:2008/06/30(月) 07:04:03
>>69
OpenMPの使い方が根本的に間違っていると思う
8469:2008/07/01(火) 22:08:51
>>83
サンプルのcudaOpenMPを参考にしてやったんだけどなぁ。
これじゃどうだめなのかぜひとも教えてくれ。
ちなみにOpenMPの使い方はサンプルにあわせている。
ただsingle構文はサンプルでは使っていないがな。
85デフォルトの名無しさん:2008/07/02(水) 04:05:38
VisualStudio2005はExpress?だったらOpenMPディレクティブは機能しないよ
86デフォルトの名無しさん:2008/07/02(水) 15:57:17
nvidiaドライバを削除する方法ってどこかにのってないか@CentOS5

新しいグラボ買ったんだけどドライバの削除がわからないウンコー
87デフォルトの名無しさん:2008/07/02(水) 16:15:29
grid, threadの意味がわからない
アニメに例えて教えろ
88デフォルトの名無しさん:2008/07/02(水) 21:30:09
今amazonみたらGPUGems3の日本語版の予約を受け付けてるじゃn
89デフォルトの名無しさん:2008/07/03(木) 01:44:22
ノート(OS:Vista)で動かそうとしても動きません
CUDAに対応したGPUを搭載しておりますし(8700M GT)
VC2005Expressをインストールしたのですが、コンパイルすると
nvcc fatal: nvcc cannot find a supported cl version.
Only MSVC 7.1 or 8.0.
と表示してしまいます。まったくわからなくて困ってます。
よろしければお教えください
90デフォルトの名無しさん:2008/07/03(木) 01:47:35
2005以外のバージョンのVCも入れてる?
nvccが参照しているVCが2005じゃないように見える。
91デフォルトの名無しさん:2008/07/03(木) 10:56:29
いれておりません。
インストールしたのは
VC2005EXとVC2005SP、VC2005SP Update for Vista
だけなのですが。
9269:2008/07/03(木) 13:12:53
>>85
VisualStudio2005Professionalを使っています。
とりあえずcuda使わないで純粋にCでOpenMP使ったら高速化されているのでOpenMP自体は動いている模様。
93デフォルトの名無しさん:2008/07/04(金) 21:25:01
94デフォルトの名無しさん:2008/07/08(火) 02:11:24
>>93
なにこの糞サイト
95デフォルトの名無しさん:2008/07/08(火) 02:42:51
質問です

PhysXがGeforceでも使えるということを聞いたのですが、
PhysX SDKとCUDAやOpenCLというのは同じレイヤーでの話なのでしょうか?
96デフォルトの名無しさん:2008/07/08(火) 05:08:31
>>84
pthreadでは高速化された?
97デフォルトの名無しさん:2008/07/08(火) 09:16:41
>>88
アノ値段じゃ学生はp-子するから売れん罠
98デフォルトの名無しさん:2008/07/08(火) 11:01:42
Gem3はGPGPUに限って言うならあんまり役に立たなかった
99デフォルトの名無しさん:2008/07/08(火) 19:02:12
>>86
--uninstall
10086:2008/07/09(水) 13:42:42
>>99
ありがトマト
ところでSobelFilter見ててShareMemの使い方がわからないんだが
フォーラムに質問と返答あったが内容わからん+英語で全然わからん
誰か全訳してくれ
10186:2008/07/09(水) 13:44:25
102デフォルトの名無しさん:2008/07/10(木) 12:22:28
>>86
訳すのはめんどいからパスだけど、ポイント絞って質問してくれたら回答するよ。
103デフォルトの名無しさん:2008/07/10(木) 12:28:53
>>86
C:\WINDOWS\system32\drivers
から目的のドライバを手で削除すればよい。
104デフォルトの名無しさん:2008/07/13(日) 21:12:38
>>102
神ktkr
ポイント絞るからちっと待ってて…
105102:2008/07/14(月) 11:56:25
問題は、自宅が規制に巻き込まれていてなかなか書き込めない辺り。
取り敢えず、注意点を列挙しておく。
・共有メモリを確保するのはglobalFunc<<<blocks, threads, sharedMemorySize, streamNo>>>(parameters)の
 三番目のパラメータでサイズが指定されたときだけ。
・共有メモリは一回の<<<>>>の呼び出しの間だけしか有効じゃない。
# つまり、次の回には残っていない。
・共有メモリをハンドリングするには、extern __shared__ anyType * nameで宣言するだけ。
# つまり、コンパイラは型のマッチングやサイズのチェックをしないので自分で管理しないといけない。
・共有メモリはblock間で独立、block内ではthread数に関わらず共有。
# つまり、実際のデバイスにそぐわないthread数を指定した場合はCUDA側で同期処理が入るのか、遅くなってしまう。
・あるthreadが共有メモリに書いた後、別threadが読む前には__syncthreads()で同期を取らないといけない。
# ある意味当然なんだけど、その所為で遅くなるのも事実。

あー、ついでにメモリの違いを簡単に。
※グローバルメモリ
・読み書きできる。coalescedにアクセスできれば結構速い。消えない。広い。
・ホスト側スレッドごとに独立している。ホスト側から見ると、毎回同じアドレスになるのでどのくらい使えるか判りにくい。
※共有メモリ
・読み書きできる。遅くない。
・呼び出しごとに消えてしまう。余り広く取れない。事実上同期を取る必要があって使い難い。
※定数メモリ
・速い。消えない。そこそこ広い。
・例えばfloat2を読み込むインストラクションがないので実はグローバルメモリからfloat2を読むより遅くなる場合もある。
・デバイス側から書き込めない。ホスト側スレッドごとに独立している。複数スレッドからCUDAを使うと毎回転送しなおすのか?
※レジスタ
・読み書きできる。速い。厳密に型チェックされる。つーか、型ごとに違うインストラクションが使われるからptxファイルで追える。
・呼び出しごとに消える。他のメモリに較べれば狭い。
# ローカルな配列は宣言したことないからよく判らん。
106デフォルトの名無しさん:2008/07/14(月) 19:10:53
NVIDIAの仕様書見てもcoalescedの意味がいまいちわからないのだけど、どういうこと?
どこかわかりやすく解説しているサイトない?
107デフォルトの名無しさん:2008/07/14(月) 19:12:13
カーネル内で__shared__つけて配列を宣言するのと、つけないで配列を宣言するのでは何が違うの?
108デフォルトの名無しさん:2008/07/14(月) 19:24:11
>>106
GPUはWarp単位で同じインストラクションが走るから、要は16人17脚みたいに考えればいい。
メモリアクセスを16人17脚によるパン喰い競争みたいに考えると、自分のパンが目の前にある状態がcoalesced。
そのとき、2,3人パンを喰う必要がなくてもスルーするだけだから問題ない。
処が、二人のパンが入れ違っていたらそこで入れ替える間、みんなが待たされることになるって感じ。
# 判っている人には判るけど、判っていない人には判らない説明だなw

>>107
共有メモリを使うかどうか違うだけだと思うけど。ptx出力させて較べてみたら?
109デフォルトの名無しさん:2008/07/15(火) 00:26:16
>>108
その説明、いただいてもいいですか?
110デフォルトの名無しさん:2008/07/15(火) 01:56:27
>>109
本にするならもっと書かせてくれw
Vipのwikiに載せるなら是非やってくれ
金取って講習するのに使うのなら分け前よこせw
111デフォルトの名無しさん:2008/07/15(火) 07:52:19
>>105
その通りですシェアードメモリとブロック数が理解できない

1. プロック数
dim3 blocks = dim3(iw/(4*BlockWidth)+(0!=iw%(4*BlockWidth)),

ih/threads.y+(0!=ih%threads.y));

なぜblocks.xはiw/threads.x+(0!=iw%threads.x)じゃなくて
上の式になるのか。

2. シェアードメモリ
int SharedPitch = ~0x3f&(4*(BlockWidth+2*Radius)+0x3f);

int sharedMem = SharedPitch*(threads.y+2*Radius);

SharedPitchはなぜ上の計算になるのか。
0x03fの意味、4*の意味、BlockWidth+2*Radiusの意味が理解できない

とりあえずSharedメモリの使い方はどこを調べればわかるんだ!ウンコ!
112デフォルトの名無しさん:2008/07/15(火) 08:45:54
>>111
どんな数字を入れるとどんな結果になるか、Excelでも使って計算してみたら?
0x3f使うのは64の倍数にするためでしょ。
113デフォルトの名無しさん:2008/07/15(火) 16:57:48
>>112
うーんそのなんで64にするのかがわからないのよ

関係ないかもしれんがシェアードメモリを使ってないSobelFIilterも
SobelTex<<ih, 384>>>でなぜ384かわからないお
こっちは1行1グリッドにして、1スレッド1ピクセルなんだと思うが
なんでスレッド数を画像の横幅iwにしないで384にするんだぁ
スレッド数が384だと計算が速い理由でもあるのかお!
114デフォルトの名無しさん:2008/07/16(水) 00:40:50
単純に、warp数の適当な倍数になるからってだけじゃなかろか。
115デフォルトの名無しさん:2008/07/16(水) 18:09:02
GPUコードではmemcpyは使えないの?
116デフォルトの名無しさん:2008/07/16(水) 21:23:53
>>115
デバイス側で、デバイス間のコピーをしたいってことなら、自前で書くしかないんじゃないかな。
でも多分、そこがボトルネックになると思う。
117デフォルトの名無しさん:2008/07/16(水) 21:43:54
global memoryからshared memoryへのコピーの時間と
shared memoryからglobal memoryへのコピーの時間が
異なるのは何でなんだぜ?
よく分からない…
118デフォルトの名無しさん:2008/07/16(水) 21:47:14
>>117
グローバルメモリへの書き込みはcoalscedでも遅いと思う。
そうでないなら、ptxファイル見てみないとなんとも。
プロファイラを使うともう少し様子が掴めるかも知れない。

そだ、プロファイラの使い方って、日本語で書かれたものがWeb上で見つからないんだよね。
誰か、まとめてない?
119デフォルトの名無しさん:2008/07/16(水) 23:29:54
>>113
指定できるスレッド数の上限は合計512までだからだろ
もしくは、スレッド数を多くすると使用するレジスタ数がパンクするから
120デフォルトの名無しさん:2008/07/17(木) 00:02:48
>>115
自前で作成したmemcpy関数(サンプル付き)
記憶で書いているのでデバッグは自分でよろしく
注意:sizeは4の倍数のみ

__device__ void memcpy1D(long* p_dst , const long* p_src , unsigned int size)
{
const long* p_end = p_src + (size >> 2);

p_src += threadIdx.x;
p_dst += threadIdx.x;

while (p_src < p_end)
{
*p_dst = *p_src;

p_src += blockDim.x;
p_dst += blockDim.x;
}
}

__device__ structHogeHoge g_data;

__global__ void sample(void)
{
__shared__ structHogeHoge s_data;

memcpy1D((long*)&s_data , (long*)&g_data , sizeof(s_data));
__syncthreads();
}
121デフォルトの名無しさん:2008/07/17(木) 15:32:10
NVIDIAのサイトから、lameをCUDA化したサンプルコードをダウンロードして、コンパイルしてみたのだけど、
かえって遅くなるのだけど、速くなった人いる?
CPUはAthlon2.0GHzでGPUは8800GTXです。
コンパイルはサイトの指示通り、USE_GPU_HPFを有効にしてかつ、そのCPUパートはコメントアウトして実行しないようにしています。
122デフォルトの名無しさん:2008/07/17(木) 15:37:52
>>121
nVidia「全然速くならないから誰か代わりにやってくれ。速くても賞金出すのは北米在住者のみな^^」
というコンテストだから当然

来週締切なのに今のところまともに投稿してるのが1チームという惨状
123121:2008/07/17(木) 16:05:38
賞金はともかく、NVIDIAの書いたコードだから、勉強になると思ったのですが
124デフォルトの名無しさん:2008/07/17(木) 16:14:53
>>123
甘いな。ハードの設計している連中とドライバを作っている連中と
CUDAを作っている連中とそれの応用を作っている連中が勝手にやっているのがNVIDIAだ。
125デフォルトの名無しさん:2008/07/22(火) 17:35:55
http://3.14.by/en/md5
http://forum.insidepro.com/viewtopic.php?t=2051

ttp://www.insidepro.com/eng/egb.shtml

MD5 Crack on CUDA で腕試しが流行っているみたいだよ。
日本も頑張らなきゃ。



126デフォルトの名無しさん:2008/07/23(水) 00:13:58
だれかフォートラン仕様にしてくれ
127デフォルトの名無しさん:2008/07/23(水) 13:37:55
>>122
2チーム目が来たね
2倍ちょっとって、これならquad core使った方がよくね?
128デフォルトの名無しさん:2008/07/23(水) 16:41:58
GTX280でCUDAすると素人考えで単純にSP数増えてる分だけ
速くなりそうな気がしてしまうんだが実際はどーなの?
Warpとかいろいろ考えることもありそうなんだけど。。。
129125:2008/07/23(水) 19:13:07
>>127

英語読めていないよ。こんな簡単な読みも出来ないとなると
本当に困る。

Teamの人数が2人だよ。
登録が200を超え、提出者が20組 トップは6回目のUploadだ。
提出者が20組だから結構な盛況だと考えるよ。
130デフォルトの名無しさん:2008/07/24(木) 00:13:47
NVIDIA、GPGPUに関する説明会を開催 - 今年中のFortranのサポートを計画 (2) CUDA2.0正式版は近日中にリリース予定
http://journal.mycom.co.jp/articles/2008/07/23/gpgpu/001.html

2.0とマルチCPUサポートはそろそろ、マルチGPU・多言語・デバッガ・プロファイラサポートは多分おそらくきっとそのうちだってさ

131デフォルトの名無しさん:2008/07/24(木) 02:24:04
cudaを覚えはじめるのにぴったりな本ないかなぁ?
132デフォルトの名無しさん:2008/07/24(木) 11:03:32
CUDAに特化した本は未だないだろ。
133デフォルトの名無しさん:2008/07/24(木) 12:24:23
>>131
本家プログラミングガイド
変な日本語訳のプログラミングガイドもある。
134デフォルトの名無しさん:2008/07/24(木) 16:45:20
>>132
出たら買うから 出してw
135デフォルトの名無しさん:2008/07/24(木) 17:17:55
じゃ、書くからNVIDIAと出版社相手の交渉は任せた。
136デフォルトの名無しさん:2008/07/24(木) 22:53:31
何か並列処理の本のおまけみたいな形じゃないと
正直売れないだろうなぁ
137デフォルトの名無しさん:2008/07/26(土) 17:15:12
>>135
たぶん、猫でもできる・・・・とかと同じように、HPたててそこで解説したら出版社から来ると思う。
わざわざHPスペース借りてーとかでなくても、WIKIでもいいと思われ。
交渉とかは向こうが書いてくれっていうだけだと思う基本的に。
んで、ワードなり、一太郎なりで原稿書けばOKじゃね?
画面キャプチャなどの画像は、まとめて管理したほうがいいぽいよ。
なんか、ワードとかで埋め込んじゃったりすると、逆に手間かかるらしい。
138デフォルトの名無しさん:2008/07/28(月) 09:38:41
NVIDIAの日本語サイトがようやく
更新されたw
139デフォルトの名無しさん:2008/07/28(月) 11:32:06
gpuはcpuより劇早なんだから
使いたいよねえ

パスワード解析とかにも使えそう
140,,・´∀`・,,)っ:2008/07/28(月) 11:37:29
速くねーよ。

CPUをセダンに例えるならGPUは貨物車だな。
荷物を大量に扱う場合だけは効率がいい。
141,,・´∀`・,,)っ:2008/07/28(月) 11:49:02
それはそうとパスワードクラックなんて浮動小数演算能力が全く役に立たないものの代表格だな。
142デフォルトの名無しさん:2008/07/28(月) 12:08:10
そうだね
並列処理すればいいじゃない?
143デフォルトの名無しさん:2008/07/28(月) 17:46:54
そういや去年CUDA使ってそんなソフトが出てたな
144デフォルトの名無しさん:2008/07/28(月) 19:41:23
>>141
MD5はやっていますが?
他に現在手に入るクラック専用マシンでCUDA以上のC/P
があればお話が成り立ちますがね。
145,,・´∀`・,,)っ:2008/07/28(月) 20:22:47
>>144
それやってるのは整数論理算術演算じゃん
乗算すら浮動小数じゃないよ。


つーかMD5なんてすでにハッシュアルゴリズムとしては死んでるんだが。
ワンタイムパスワードとしてならまだまだ現役でやれるだろうけど
性質上瞬時にクラックできないとクラックの意味もなくなる。


ああFPGA焼いた方がいいんじゃない?

今各社が力入れてるのはAESなどの128ビットブロック暗号だな。
146,,・´∀`・,,)っ:2008/07/28(月) 20:35:07
つーか個人でGPUで遊ぶ分にはアリかもしれんけど
でかいシステム組めるTeslaになると別に高CPでもなんでもないんだよね。
特に整数性能に関してはPS3でクラスタくんだ方がまだ良いくらい。

GTX280含め現行GPUの整数性能はまだまだ残念な印象。
147デフォルトの名無しさん:2008/07/28(月) 20:44:09
パスワードクラックほどの極小のプログラムでも
Xeon>PS3だって自分のページで言ってなかったっけ?
148,,・´∀`・,,)っ:2008/07/28(月) 21:02:00
暗号関連ならCellはAESみたいなブロック暗号はそれなりに速いよ。
例のvpermもどき命令で1コア16並列でエンコード/デコードできるからね。
ただAESアクセラレーションはWestmereでの強化点にもなるのでこの先はわからん。


まあいずれにしてもCUDAはいろいろ残念だな。
ATiとのGPUシェア争い無視してでも汎用性能をとるか来たるLarrabeeとガチるかの瀬戸際だし。
149デフォルトの名無しさん:2008/07/29(火) 09:58:39
>性質上瞬時にクラックできないとクラックの意味もなくなる。
笑った。連れの言い分と全く一緒だからな。
流れているデータをリアルタイムで解読できなければ暗号解読ではない
というような考え。ある意味では正しいが、ネットのデータは記録可能
という点を考慮していないし大穴になる。

AESアクセラレーションハもう6年も前にある技術だし今さら。

しかし認証段階で破られたらAESは即死に体だよ。実際解読ソフト
使っているのでww
150デフォルトの名無しさん:2008/07/29(火) 12:28:50
別にCUDAは整数性能ウリにしてないし
このスレってムチャを前提にケチつけてるだけで結局何も出来ない無能者の集いだな・・・
151デフォルトの名無しさん:2008/07/29(火) 12:59:27
並列演算の応用として暗号解読の話題を語ってるだけだと思うんだが・・・
152デフォルトの名無しさん:2008/07/29(火) 13:50:22
>>151
それがわかってないといわれてる原因なんでしょ…
153デフォルトの名無しさん:2008/07/30(水) 12:07:16
そうなんだ
154デフォルトの名無しさん:2008/08/04(月) 01:58:13
 弱点だった倍精度もGTX280で改良された。しかし何かイマイチなんだよなぁ。
消費電力あたりの性能がたいした事ないからかなぁ
155通りすがり:2008/08/07(木) 11:07:41
CUDAでレイトレーシングがいました。 CPUの15倍パフォーマンスが出ているようです。
http://noridon.seesaa.net/
156デフォルトの名無しさん:2008/08/07(木) 13:30:10
SSEも使ってない2コアの速度と比べて15倍じゃ今一かも
157デフォルトの名無しさん:2008/08/07(木) 16:48:46
158デフォルトの名無しさん:2008/08/07(木) 20:25:59
>>154
このスレ的には正常進化じゃね?
159デフォルトの名無しさん:2008/08/08(金) 01:46:07
だれか4850にCUDA載せてくれ
160デフォルトの名無しさん:2008/08/08(金) 14:04:29
Core2Duo(3GHz)×2 = 最大 1.89FPS
CUDA(GTX 280) = 最大52.48FPS

27.7倍高速出ているようです。

http://noridon.seesaa.net/
161デフォルトの名無しさん:2008/08/08(金) 14:36:26
それatiのgpuじゃ実行できないよね?
162デフォルトの名無しさん:2008/08/08(金) 18:06:10
CUDAですから

OpenCLはCUDAを採用したと聞いたが…本当なん?
163デフォルトの名無しさん:2008/08/08(金) 18:18:50
OpenCommonLisp
164デフォルトの名無しさん:2008/08/08(金) 20:41:23
4 x 2.5 GHz の 3 fps と比べても 17倍
これは大したものだ
165デフォルトの名無しさん:2008/08/09(土) 00:50:56
IntelC++ と比べてどうなんかな?
166デフォルトの名無しさん:2008/08/09(土) 07:05:08
うごかねえw
167デフォルトの名無しさん:2008/08/09(土) 16:57:34
>>162
んなわけない
既にMacOSXにもCUDAがあるのにわざわざ10.6でOpenCL採用を謳うかよw
168デフォルトの名無しさん:2008/08/09(土) 22:58:33
インテルは0からスタートするわけだからどのぐらいの速度でIntel製GPU普及するのかは見ものだね。 NVDIAのGPUはすでにゲームやCAD、3Dグラフィックの用途にすでにかなり普及しているからね。今後はAMDやIntelのQuadcore CPUでCUDAが使えるようになるしね。
169デフォルトの名無しさん:2008/08/09(土) 23:11:40
SPがPentium-Mベースだから割と簡単に追いつけるんじゃない?
170デフォルトの名無しさん:2008/08/11(月) 09:30:11
>>168
そのとおりだけど、intelには事実上CPUと抱き合わせ、という裏技があるからなあ。
今回はかなり本気っぽいし、微妙かも。
171デフォルトの名無しさん:2008/08/11(月) 13:44:37
質問です。

libshをコンパイルしようとしたら以下のようなエラーが出ました。
何が足りないのでしょうか?

ShSwizzleImpl.hpp: In member function 'void SH::ShSwizzle::copy(const SH::ShSwizzle&, bool)':
ShSwizzleImpl.hpp:191: error: 'memcpy' was not declared in this scope
ShSwizzleImpl.hpp: In member function 'bool SH::ShSwizzle::operator==(const SH::ShSwizzle&) const':
ShSwizzleImpl.hpp:251: error: 'memcmp' was not declared in this scope
172デフォルトの名無しさん:2008/08/11(月) 14:36:44
アハハ
173デフォルトの名無しさん:2008/08/11(月) 17:33:27
夏だな
174デフォルトの名無しさん:2008/08/11(月) 18:07:18
俺は夏かどうか確認するために書き込んだわけではありません。
馬鹿正直にくだらない質問に答えてくれる人を待っているだけですよ。
質問に答える気がない人間は不要。
スレ違いだと言わざるを得ませんね。
175デフォルトの名無しさん:2008/08/11(月) 20:14:53
夏だね
176デフォルトの名無しさん:2008/08/11(月) 21:15:36
そんな失礼な態度のヤシに親切に答えてくれる人がどれだけいるか
待ってるより自分の頭で英語の意味を理解した方がずっと早いと思うがw


>error: 'memcpy' was not declared in this scope
>error: 'memcmp' was not declared in this scope
普通の頭の持ち主なら必要なincludeファイルがincludeされてないと解釈するだろうな
177デフォルトの名無しさん:2008/08/11(月) 21:22:37
>>176
一つ言わせてもらう。

お前らに 「聞いてやってる」 んだよ。

聞いてほしくてたまらないんだろ?ニートで暇だから。
お前らが答えないなら別のやつに聞くだけ。
聞く相手はいくらでもいるんだよ。
178デフォルトの名無しさん:2008/08/11(月) 21:35:15
>>176
ああ、ちなみにもう解決したから。自力で。
お前らみたいに大した知識もないくせにもったいぶった無能に聞いたのが間違いだったな。

ちなみに、ソースに手を加えずに解決した。
解決方法なんて書かないよ。
同じ問題に出会ったやつは ググレカスw
179デフォルトの名無しさん:2008/08/11(月) 23:04:59
>>178
で、どこがCUDAに関係してたの?
180デフォルトの名無しさん:2008/08/11(月) 23:42:51
凄いのが来たなぁ
釣りであると信じたいが天然厨房っぽいな
181デフォルトの名無しさん:2008/08/12(火) 02:26:14
いや、質問主はまだ困ったままだろw
質問横取り煽り厨だろ
182デフォルトの名無しさん:2008/08/12(火) 05:57:35
>>160
俺もやってみた
4コアCPUが必死に動いても8800GTに25倍くらいの差付けられた
レンダリングの革命やでぇ〜
183デフォルトの名無しさん:2008/08/12(火) 06:15:06
GPGPUレンダはまだ無いから実用性のあるの早く作って売れば金になるんじゃね
今の外部レンダは綺麗だけど時間かかって静止画までしか実用性無いからな
お前らちゃんすだぞ
絶対金になるだろうから、多分作ってるところはもう取り組んでると思うけどね
ていうか俺が早く出してほしいんだよ
184デフォルトの名無しさん:2008/08/12(火) 22:18:14
gemsもそうだが、なんでOpenGLやGPU関連の書籍というのべらぼうに高いんだ?
185デフォルトの名無しさん:2008/08/13(水) 17:25:11
>>184
需要がない割りに書くのが大変だから。
186デフォルトの名無しさん:2008/08/13(水) 17:32:40
OpenGLは需要あると思うが。
187デフォルトの名無しさん:2008/08/13(水) 21:20:05
>>184
訳してる会社が(ry
「誰が買うんだこれ!?」って思う値段の本は大抵原著は安かったりする
酷いのは原著の2倍以上
188デフォルトの名無しさん:2008/08/14(木) 00:20:49
OpenCLはIntel製GPUでも使えるのだろうか。
189デフォルトの名無しさん:2008/08/14(木) 01:38:59
>>188
Larrabeeのこと?
190デフォルトの名無しさん:2008/08/14(木) 02:57:25
>>188
使えるでしょ
自社が参加してるワーキンググループが発表するんだから
191デフォルトの名無しさん:2008/08/14(木) 13:46:01
192デフォルトの名無しさん:2008/08/18(月) 09:18:31
http://jp.youtube.com/watch?v=AgoEri9UX7o
GeForceでスパコン終了
一時間が30秒に
193デフォルトの名無しさん:2008/08/18(月) 10:23:41
ゲームをやってた助手が「あ、どうも」、わざとらしくてワラタw
194デフォルトの名無しさん:2008/08/19(火) 14:09:07
こんちにわ。LinuxでCUDAのプログラムを作成している者です。
早速質問ですがMPIを用いて、複数のクラスタ(PC5台、そのうち1台が親機で4台が子機)で
CUDAプログラムの動作できた方はいませんでしょうか?
プログラムの内容として、子機で演算させ、親機では適当なメッセージを出すのみという、
並列演算とか関係なく、単にMPIでCUDAを動かすテストプログラムです。

下記のようなMakefileでコンパイルを行っています。
ROOTBINDIR = ./
ROOTDIR = /home/usr1/NFS/NVIDIA_CUDA_SDK/
# Add source files here
EXECUTABLE := mpicuda_matrixMul
# Cuda source files (compiled with cudacc)
CUFILES := mpicuda_matrixMul.cu
# C/C++ source files (compiled with gcc / c++)
CCFILES := \
matrixMul_gold.cpp

SMVERSIONFLAGS := -arch sm_11
############################################################
# Rules and targets
INCLUDES = -I/home/usr1/mpich-1.2.7p1/include -I/home/usr1/NFS/NVIDIA_CUDA_SDK/common/inc
USRLIB = -L/home/usr1/mpich-1.2.7p1/lib -L/home/usr1/NFS/NVIDIA_CUDA_SDK/lib -lmpich -lcutil
include ../../common/common.mk
195194:2008/08/19(火) 14:09:55
続きです。
上記のようなMakefileをNVIDIAのCUDA関連のBBSで見つけたので参考に作成しました。
しかしコンパイル時に下記のようなエラーが出てきます、、

/usr/bin/ld: cannot find -lcutil
collect2: ldはステータス1で終了しました
make: ***[linux/release/mpicuda_matrixMul] エラー1

上記のエラー内容を調べたところ、libcutil.aというライブラリがリンクされていない、
という内容と思われるのですが、Makefileには正しい場所にリンクさせてあると考えています。
開発環境として、OSがはCentOS5、親機のGPUがGeForce7900、子機が8600です。
(親機でCUDAの演算は行わないので7900)

それでは、どなたかよろしくお願いします。
196デフォルトの名無しさん:2008/08/19(火) 20:40:53
>>195
cutilはmakeした?
した積もりなら、ちゃんとライブラリファイルはできている?
OpenGLがインストールされていない環境だと、恐らく失敗している筈。
その場合、OpenGLをインストールするかOpenGL絡みのエラー修理辺りをコメントアウトすればmakeできるはず。
197デフォルトの名無しさん:2008/08/19(火) 23:40:11
MPIでCUDAを試したことは無いけどGLUT,GREWがインストールしてないと
>>195のようなエラーが出たことがある
198デフォルトの名無しさん:2008/08/20(水) 00:48:28
なあ、あのへんてこ日本語プログラミングガイドのリンクが消えているような気がするんだけど、
前からこんなんだっけ?
199デフォルトの名無しさん:2008/08/20(水) 00:50:02
いいことだw
200デフォルトの名無しさん:2008/08/20(水) 20:57:08
http://jp.youtube.com/watch?v=AgoEri9UX7o
530万ドルのスーパーコンピュータ「CalcUA」で一時間
一台デスクトップPCで30秒

http://www.atmarkit.co.jp/news/200807/23/nv.html
ベルギーのアントワープ大学では、それまで使っていたAMDベースの256ノードのクラスタサーバ「CalcUA」の性能を、8GPUを使ったデスクトップPCシステム「FASTRA」が上回った。「CalcUAは530万ドルのスーパーコンピュータ、FASTRAは7000ドルのデスクトップだ」(グプタ氏)。
NVIDIAによればGPUを使った同様のクラスタサーバは、NCSA、イリノイ大学、ノースカロライナ大学、マックスプランク研究所など、すでに十数の組織で使われているという。
201194:2008/08/21(木) 15:43:36
>>196 さん 、>>197 さん
お返事ありがとうございます。
cutilのライブラリは確認済みです。CUDAインストール時に作成される、
〜/NVIDIA_CUDA_SDK/lib の中にlibcutil.aがありました。

OpenGLは前からインストールしており、またそのプログラムは動くので、
GLUT等はインストールされているはずなのですが。。
202デフォルトの名無しさん:2008/08/22(金) 00:33:34
/home/usr1/NFS/NVIDIA_CUDA_SDK/と〜/NVIDIA_CUDA_SDK/libが違うって落ちじゃないよな。
203デフォルトの名無しさん:2008/08/22(金) 01:02:50
自分からテスト専門です、って宣言してる派遣テスターって何なの?

将来プログラマとかSEになりたい、とかならわかるけど。
向上心ないよね、頑固だし。
そういう派遣テスターって、仕様書は読めない、
テスト仕様書も作れない、テストプログラムも作れない
やれることは「テキトーにプログラムを触る」ことだけ。

俺は派遣プだけどさ、こういう派遣テスターがいると
派遣全体がバカにされるんだよ。
テスト専門派遣なんて氏んで欲しいよ、まったく。

今日も正社員の人が派遣テスターに仕様書を読んで
テスト仕様書を作ってください、って説教してたよ。
その派遣は頑固に「何故、仕様書が必要なんですか?」って
反論してたから、きっとテスト専門派遣テスターだな。
仕様書も読まず、テスト仕様書も作らず、ただテキトーに
プログラム触るだけで給料もらおうなんて頭おかしいんじゃねーの?

あ〜あ、あの派遣テスターが3ヵ月後に切られるまで、
仕様書も読まねーでテキトーにテストしたバグ票がまわってくんのかよ。
そんな糞なもん、読んで処理する派遣プの身にもなってくれよ。
うわ〜、しかもそいつが切られる3ヵ月以内に中間納品あるじゃねーか!
テスト仕様書もなしにテキトーにテストして納品か。
中間納品後にソッコウクレームでデスマ必至だな。俺の休みも返上かよ。

派遣専門テスターさんよ、少しは向上心持てよ!
頑固な性格直して仕様書読めよ!テスト仕様書作れよ!
204デフォルトの名無しさん:2008/08/23(土) 14:37:16
うちの客先はテスト専門部署があるけど
環境構築とかテストプログラム作ったり
海外のテスト専門会社へ行って研究したりしてるぞ
205デフォルトの名無しさん:2008/08/23(土) 18:12:10
バカの作ったものをテストするなんて最悪な仕事の1つなんだぜ
206デフォルトの名無しさん:2008/08/23(土) 18:24:28
以前入社してすぐやめた会社でテスターをやらされたが、
そこの会社、3Dの知識ないやつが、OpenGLで懸命に2Dの描画プログラム作ってた

まさにバカの作ったものでテストするのがバカらしくなって会社を辞めた
207デフォルトの名無しさん:2008/08/23(土) 19:33:34
判ったからマ痛に行け。
208デフォルトの名無しさん:2008/08/23(土) 19:54:30
>そこの会社、3Dの知識ないやつが、OpenGLで懸命に2Dの描画プログラム作ってた
こういうバカ、たまにいるよな
2Dだけ描画すればいい仕様なのにOpenGLしか知らないからとりあえずOpenGLで書いちゃうという
すぐに辞めさせないとプロジェクトが悲惨な結果になる
209デフォルトの名無しさん:2008/08/24(日) 01:26:41
>>208
AutoCADは2DもOpenGLで描画していますが。
210デフォルトの名無しさん:2008/08/24(日) 07:16:25
>>209
>207
211デフォルトの名無しさん:2008/08/24(日) 10:49:13
3Dも描画するならいいだろ
2Dしか描画しないのにOpenGLはバカ
212デフォルトの名無しさん:2008/08/24(日) 12:06:13
GDIで描画したらLinuxでWineが必要になっちゃうじゃん
213デフォルトの名無しさん:2008/08/24(日) 12:27:07
いや、2Dだけ描くのにOpenGL使うようなバカはWindowsだけだろ
214デフォルトの名無しさん:2008/08/24(日) 17:34:26
このスレでうだうだ3D話を続ける奴って頭弱いの?
それとも只の構ってちゃん?
しかも切っ掛けはコピペだって辺りが痛過ぎるよね。
215デフォルトの名無しさん:2008/08/24(日) 17:41:37
きっかけはコピペでのバカの作ったものをバカにされるべき
GPU使っているはずなのにBITBLTしかしてないとかー
もーバカ杉
216デフォルトの名無しさん:2008/08/24(日) 21:55:53
BITBLTの後ろ三つはベーコン・レタス・トマトの略だが、前のBITは何の略なんだ?
217デフォルトの名無しさん:2008/08/24(日) 22:58:34
マルチプラットフォームで2Dを描くのに仕事で使えるレベルの表現力と速度を兼ね備えたライブラリって存在するの?
あればどんなものか教えてください。有償無償問わず。
218デフォルトの名無しさん:2008/08/24(日) 23:02:35
>>217
OpenGL
219デフォルトの名無しさん:2008/08/24(日) 23:23:16
マルチプラットフォームの仕事なんて普通ないだろ

プロならプラットフォームに最適化されたライブラリを選択しろよ
220デフォルトの名無しさん:2008/08/24(日) 23:34:53
OpenGL専門学校の学生さんにマジレスするなよ
221デフォルトの名無しさん:2008/08/25(月) 00:54:10
>>219
>マルチプラットフォームの仕事なんて普通ないだろ
222デフォルトの名無しさん:2008/08/25(月) 00:56:55
223デフォルトの名無しさん:2008/08/25(月) 01:00:30
>>221
これから増えるだろう
お前は近視か?
224デフォルトの名無しさん:2008/08/25(月) 01:01:51
間違った。>>219だ。
225デフォルトの名無しさん:2008/08/25(月) 01:06:43
>>219
openofficeはいったい何なんだ?マルチプラットフォームのソフトウェアじゃないのか?
226デフォルトの名無しさん:2008/08/25(月) 02:40:58
お前は仕事でopenofficeにかかわったのか?
違うだろ
派遣先のプラットフォームだろ

お前の会社がマルチプラットフォームの製品を開発してんのか?
違うだろ
派遣先のプラットフォームだろ

現実見ようぜ
227デフォルトの名無しさん:2008/08/25(月) 02:51:05
>>226
まず、仮定からおかしい。
・マルチプラットフォームのソフトウェアはopenofficeだけではない。
>>225の仕事の内容を断定する根拠が見当たらない。
・なぜ無数にある可能性から>>226の仮定を導き出したのか不明。

説明をお願いします。
228デフォルトの名無しさん:2008/08/25(月) 02:56:05
>>227
>・マルチプラットフォームのソフトウェアはopenofficeだけではない。
まず仮定からおかしい。
実際に仕事でマルチプラットフォームを開発しているのかを問題にしている。
>>225がopenofficeを開発したというのなら謝る。おみそれした。

>・>>225の仕事の内容を断定する根拠が見当たらない。
まず自分で開発してそうにないopenofficeを出してくるあたり、
ただのバカ=派遣ってこと

>・なぜ無数にある可能性から>>226の仮定を導き出したのか不明。
派遣に可能性なんてない
229デフォルトの名無しさん:2008/08/25(月) 03:04:17
荒らしは放置の方向で。
230あぼーん:2008/08/25(月) 08:29:00
219のほうがバカだと思います。
マルチぷラットフォームの仕事はあると思います。
231デフォルトの名無しさん:2008/08/25(月) 09:16:36
だからお前はマルチプラットフォームの仕事をしたことあるのかと
232デフォルトの名無しさん:2008/08/25(月) 11:23:15
サターンとプレステで同じゲームを同時に作ったぞ
同時に作っただけだけど
233デフォルトの名無しさん:2008/08/25(月) 12:41:48
>>231
Firefoxはマルチプラットフォームじゃないのかね。
234デフォルトの名無しさん:2008/08/25(月) 12:43:22
マルチプラットフォームの要件はオープンソースではかなり多い。
オープンソース系の企業ならそういう仕事していてもおかしくないね。
235デフォルトの名無しさん:2008/08/25(月) 12:48:10
日本語読めないの?
聞かれてるのは「お前は仕事でマルチプラットフォームをやったことがあるのか?」だぞ
236デフォルトの名無しさん:2008/08/25(月) 12:51:51
>>235
話のすりかえ。
俺自身は学生時代にFirefoxの開発に携わったが、
今の話題は「マルチプラットフォームの仕事があるかないか」。
お前が間違っていることに気づけ。
237デフォルトの名無しさん:2008/08/25(月) 12:53:16
そもそも、ここの住人が開発に携わったことがあるかどうかなんて誰も興味を持っていないし、
信憑性もない。
もっと有益は議論をすべきだと思うけどね。
238デフォルトの名無しさん:2008/08/25(月) 12:54:24
スレ違い お前らネットイナゴは佃煮にされて死んでしまえ
239デフォルトの名無しさん:2008/08/25(月) 12:58:38
派遣先企業で派遣先企業のプラットフォームに合わせたものを実装するのがおまえら派遣プログラマの仕事だろ
派遣先正社員からマルチプラットフォーム対応なんて指示されてないだろ
くだらないこと考えて余計な工数使うなよ
240デフォルトの名無しさん:2008/08/25(月) 13:13:32
>派遣先企業で派遣先企業のプラットフォームに合わせたものを実装するのがおまえら派遣プログラマの仕事だろ
派遣先がパッケージベンダってこともあるだろう
なにムキになってるの?
241デフォルトの名無しさん:2008/08/25(月) 13:23:54
>>239
何故派遣にこだわる?
242デフォルトの名無しさん:2008/08/25(月) 13:49:24
ID出すとしょうもない素人以下の奴がいろんなスレに粘着してた
243デフォルトの名無しさん:2008/08/25(月) 14:17:22
>>242
この板はID出ないじゃん
244デフォルトの名無しさん:2008/08/25(月) 14:18:21
なんだみんな派遣だったのか
245デフォルトの名無しさん:2008/08/25(月) 15:59:39
派遣に異常なコンプレックスを持っている人がいるようですが、
池沼の方なので基本放置でおねがいします。
246デフォルトの名無しさん:2008/08/25(月) 16:06:10
夏の間だけ2chもアカウント認証式にすればいいと思う。
247デフォルトの名無しさん:2008/08/25(月) 21:59:49
正社員にコンプレックスでしょ?
派遣のどこにコンプレックスをもてと
248デフォルトの名無しさん:2008/08/25(月) 23:45:38
ひどい脱線ぶりだな。
249デフォルトの名無しさん:2008/08/25(月) 23:49:36
派遣野郎はスレ違い
250デフォルトの名無しさん:2008/08/26(火) 00:13:24
>>232
それありそう。PS3 と Xbox360 とか。どう似せるかに力が注がれる・・・
251デフォルトの名無しさん:2008/08/26(火) 00:59:55
ここはなんのスレなんだ
252デフォルトの名無しさん:2008/08/26(火) 04:09:43
くだすれ
253デフォルトの名無しさん:2008/08/26(火) 06:23:56
CUDAはマルチプラットフォーム。
254デフォルトの名無しさん:2008/08/26(火) 07:35:34
アホかい。
255デフォルトの名無しさん:2008/09/25(木) 14:29:37
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 今週の名言
──────────────────────────────────────
         「HPCは“ハイ・プロダクティビティ・コンピューティング”」
      日本SGIのHPC・サービス事業本部で本部長を務める田坂隆明執行役員)
256デフォルトの名無しさん:2008/09/28(日) 22:50:51
CUDAってSIMD並列といいうことは、過去のスパコン用のコード
移植したら激速ってことでOK?
257デフォルトの名無しさん:2008/09/29(月) 11:43:54
>>256
SIMDじゃないよ。仮にそうだとしても、そんなに単純な話じゃない。
258デフォルトの名無しさん:2008/09/30(火) 05:16:33
SIMDだよw
259デフォルトの名無しさん:2008/09/30(火) 16:35:15
SIMDじゃないなら、何なのか問いたい。
260デフォルトの名無しさん:2008/09/30(火) 17:38:27
SIMDだったりMIMDだったり
261デフォルトの名無しさん:2008/09/30(火) 21:12:21
実行はSIMDだけど
コードはスカラだから面倒臭いよ
262デフォルトの名無しさん:2008/10/01(水) 10:37:52
NVIDIAはSIMTと言っているね。SIMD+αくらい。
オンボメモリはSX8i並だからやっぱ速いんじゃねーの。
263デフォルトの名無しさん:2008/10/01(水) 13:58:23
理屈はいいからなんか作れよ
>>過去のスパコン用のコード移植したら激速ってことでOK?
OKの一言で終わることをなにぐだぐだやってんだか
264デフォルトの名無しさん:2008/10/01(水) 18:46:54
要するに、「移植できるもんならしてみろ」ってことだろw
265デフォルトの名無しさん:2008/10/01(水) 23:50:07
だね。単純に移植できるとは思わない方がいい。
266デフォルトの名無しさん:2008/10/02(木) 00:27:50
たしかにブロック切り分けの所もう少しスマートにならないのかと思うのだが
あんなもんデバイスの種類で最適化した組み合わせを自動算出すりゃいいだろ
267デフォルトの名無しさん:2008/10/02(木) 00:29:52
>>266
CUDA2でストリームプロセッサ数なんかも取得できるようになったから、
是非とも自動算出関数を作ってみてくれ。
268デフォルトの名無しさん:2008/10/02(木) 01:08:48
いや作るのは簡単なんだけどCUDAってクラスも使えないしラップ出来ないからだめじゃん
269デフォルトの名無しさん:2008/10/02(木) 01:11:17
あいや出来るのか
使うのなら作るぞ
270デフォルトの名無しさん:2008/10/06(月) 20:37:38
CUDAに興味があっていろいろ調べてるんだけど
http://slashdot.jp/hardware/comments.pl?sid=421471&cid=1432609
こんなにメモリアクセスがきついのか…
へたれの俺はCPUで頑張ろうって気になってきた
このあたりの条件が和らぐのはどれくらい後だろう?
271デフォルトの名無しさん:2008/10/06(月) 21:10:43
それでもビデオカードは一世代速いメモリを積んでいるから、レイテンシを誤魔化せれば、CPUより多少はいいんじゃないかな。
CPUもGPUも、演算能力よりメモリのスピードがネックなんだよねえ。
272デフォルトの名無しさん:2008/10/06(月) 22:18:57
>>270
そうそう、グローバルメモリはコヒーレントな読み出しなら4クロックなのに
ランダムアクセスすると100倍のクロックを喰ってしまう。
スラッシュドットの記事の書き方はちょっと言葉が足りてなくて、
実際にはいかにメモリをコヒーレントな読み書きで済ませるかが鍵ということになる。

例えば、CUFFTの2Dを1000回回すのと1Dバッチと自前の転置を2回ずつ動かすのとでは、
64x64辺りだと余り変わらないのに128x128になると途端に2Dの方が速くなる。
プロファイラで調べると、CUFFTの内部で用意されている転置関数はコヒーレントな読み書きしかしていない。
一方、自前の転置はコヒーレントな読み出しとインコヒーレントな書き出しになっている。
つまり、1000回呼び出すコストをインコヒーレントな書き出しコストが上回ってしまうということだ。
273デフォルトの名無しさん:2008/10/07(火) 01:53:43
CPUより遅くなるということはない
電気代の割りに効果が少ないというのはあるw
274デフォルトの名無しさん:2008/10/11(土) 06:33:45
TMPGEncで軽い処理はCPUより遅い。
VRAMとのメモリ転送あるし。
275デフォルトの名無しさん:2008/10/15(水) 22:02:44
メインメモリと共有するタイプのGPUで処理した方が速い事も状況によってはあるのかな
276デフォルトの名無しさん:2008/10/15(水) 22:26:03
CUDAでは有り得ないからスレ違い。GPGPUスレにでもどうぞ。
277デフォルトの名無しさん:2008/10/26(日) 18:43:49
すいません、超低級な質問です。

dim3 threads(128, 1, 1);
dim3 grid(128, 1, 1);

hoge_kernel <<< grid, threads >>> (d_ptr, 128);

とかで関数を呼び出したんですが、ホスト側のスレッド数が128個生成
されるみたいです。これって、GPU内にスレッドが出来るんだと思って
たんですが、違うんでしょうか?

ちなみに、-deviceemu はつけてません。コンソールに以下のように
出るので、GPUにはいってると思います。

Using device 0: GeForce 8600 GT
278デフォルトの名無しさん:2008/10/26(日) 20:58:06
>>277
>ホスト側のスレッド数が128個生成されるみたいです。
そう判断した根拠は?

それとは別になるが、128x128が妥当かどうかは検証が必要だと思う。
279デフォルトの名無しさん:2008/10/27(月) 17:11:09

質問です。

__device__ void hoge_kernel(void)
{
}


extern "C" __global__ void hoge(void)
{
dim3 threads(16, 1, 1);
dim3 grid(16, 1, 1);

hoge_kernel <<< grid, threads >>> ();
}


上をコンパイルすると、
「error: call can not be configured」
となるんですが、これはどういうことなんでしょうか。
280デフォルトの名無しさん:2008/10/27(月) 17:47:00
__global__な関数から__device__の関数を<<<>>>で呼ぶことはできない。
281デフォルトの名無しさん:2008/11/01(土) 09:40:52
ちょっと質問させてくらさい。。

8ストリーミングプロセッサ(SE)単位で構成されている
ストリーミングマルチプロセッサ(SM)でのことなのですが、
グローバル(ローカル)メモリ上へのデータのロード、
ストア命令は100サイクル以上かかってしまいますよね。

その間、8つのストリーミングプロセッサはおお休みしている
のでしょうか?

それとも、他のWarpのインストラクションが割り当てられたり
するのでしょうか。そうであるといいのですが、
そうするとSharedメモリがあとからのWARPにのっとられてしまって
まずそうですよね???

レジスタ的には32bit×2048本あるようなので(280の場合)
OKそうですが、Sharedメモリは16KBytesしかないし。

実際LD、STに160サイクルぐらいくったら、
160命令ぐらい無駄にしちゃって効率をかなり落としてる気がするので、
なんかやです。

24WARPぐらい、バッファリングしていて、割り当てられるWARPを
out of oderで実行するという記事も、どっかで見たような
気がするのですがSharedメモリがじゃまして無理があるような・・・

なんか良い方法があるのかな???

っていうか、なにか根本的な部分で俺の勘違い?


282デフォルトの名無しさん:2008/11/01(土) 10:12:52
・グローバルメモリアクセスは、最大400(?)クロック掛かるが、最短では4クロックで済む。
# そのためには、coalescedにアクセスできるように工夫する必要がある。
・各ストリーミングプロセッサは、独立して動作する。Sharedメモリも同様。

例えば、行列の転置のような処理の場合、普通に書くとcoalescedに読んでincoherentに書かざるを得ない。
# 或いはその逆か。
そこで、CUFFT内で行なっている転置処理では、(プロファイルで見る限り)一旦共有メモリにおいて同期を取ることで、
読み書き共にcoalescedアクセスを維持しているようだ。
283デフォルトの名無しさん:2008/11/01(土) 18:40:52
>>282
早速のレス、さんくす。

なるほど、最短4クロックですか。coalescedにしてもレイテンシー
だからだめかなって思ったけど、よくよく考えると、DRAMへの直接
アクセスに数百クロックってのはおかしいことに気づいた。

各ストリーミングプロセッサは、独立だけど1インストラクション単位で
同期してるんじゃないんかな(んなことぁない?)

・・・っておもったけどブランチがあるから、TPXレベルから見ると独立か???

最初見たときSharedメモリも他のSPのregも0レイテンシで使える
ようだったんで、演算と独立にグローバルメモリとのロード、ストアができん
16K程度のSharedメモリ、あまり意味ないじゃんとかおもったけど、
そんなことなさそだね。

なかなか面白そうなチップだ。
分岐粒度が32って実際、汎用でどうなんだろ。
ベクトルつかったことないんでわからんが、
適当にセルオートマタでも乗っけて遊んでみまつ。


284デフォルトの名無しさん:2008/11/12(水) 22:42:34
CUDA-Zなんて便利なものがありました。
forum.nvidia.co.jp
285デフォルトの名無しさん:2008/11/12(水) 22:55:32
>>284
kwsk
286デフォルトの名無しさん:2008/11/12(水) 23:19:24
287デフォルトの名無しさん:2008/11/14(金) 19:39:30
あげてすまん。

CUDAのためにGTX280つきのPCかったのだが
ほかにもう一枚グラボ買わないといけんのかな?

あとPCIバスしか残ってないのだが・・・
LINUXで使う予定。

288デフォルトの名無しさん:2008/11/14(金) 22:57:10
>>287
別に一枚でも大丈夫。二枚挿しても(開発には)却って面倒だったり。
まぁ、二枚あれば表示に足引っ張られる心配なくなるから安定はするけどね。
289デフォルトの名無しさん:2008/11/15(土) 00:41:03
>>288
そうなのか、安心した。

ありがd
290デフォルトの名無しさん:2008/11/15(土) 17:39:36
質問です。

float にてゴリゴリ計算して、結果を返すプログラムを書いてみたのですが、
普通のアルゴリズム、CUDA+GPU、CUDA+CPU(deviceemu) の2つで比較して
みたところ、思ったより差が大きいのですが、こんなもんですか?

もしくは、機種依存があったりするんでしょうか?
291290:2008/11/15(土) 17:40:23
>>290

すいません、間違えました。
「2つで比較して」->「3つで比較して」
292デフォルトの名無しさん:2008/11/15(土) 19:43:01
何の差?
演算精度なら、そりゃぁあるさ、floatなんだもの。
293デフォルトの名無しさん:2008/11/15(土) 20:51:43
ホストは、デフォルトではfloatをfloatで計算してくれないからな。

SSEを使うなりで、ホストがちゃんとfloatで計算すれば、結果は一致するんジャマイカ?
294デフォルトの名無しさん:2008/11/15(土) 20:57:47
>>293
一致する保証はないよ。CUDAのドキュメントにもあるけれど、超越関数はGPU内部の組み込み版を使うと若干誤差が残る。
いずれにしてもfloatの想定の範囲内だから、実用上は問題にならないけどね。
295,,・´∀`・,,)っ-●◎○:2008/11/15(土) 22:26:10
x87 SSE CellB.E. CUDA の浮動小数サポートの対比表みたいなのがCUDAのマニュアルにあったな。
確かに完全じゃない。
糞まじめに準拠してるのはx87くらいだ
296290:2008/11/16(日) 02:56:28
>>292-295
なるほど。出てきた結果が、CPU上の double で計算した結果と、
GPUの float で計算した結果が、最大1%程度違ったから、正直
驚きました。普段doubleしか使って無くて、誤差なんかほとんど
気にしなくてよかったので。

誤差が蓄積してくようなタイプのアルゴリズムではないと思っていた
だけに、少し驚きました。
297デフォルトの名無しさん:2008/11/20(木) 18:53:51
Cで使っていた自作ライブラリは、
nvccでコンパイルし直さなきゃダメなの?
298,,・´∀`・,,)っ-○◎-:2008/11/20(木) 18:58:40
食べてみたけどおいしかったよ。
一つどうぞ、あーんして
299,,・´∀`・,,)っ-●◎○:2008/11/20(木) 19:44:47
飾りだ、食うなボケ。
300,,・´∀`・,,)っ----:2008/11/20(木) 21:36:00
僕のもうないです
>>299から貰ってね
301デフォルトの名無しさん:2008/11/20(木) 23:10:32
>>297
ホスト(CPU)上で実行させるものならVC++と一緒にリンクできる。
(cppIntegrationサンプル参照)

GPU上で実行させたいならそれなりにいじくらないと無理。
302デフォルトの名無しさん:2008/12/01(月) 15:16:29
-deviceemuでは動くプログラムが、GPUを使うと誤動作します。
__device__関数に引数が一部しか渡らなくなります(float4のz成分だけしか渡せない)
ループ回数を極端に減らすと改善されるのですが、これはregisterメモリがパンクしてしまったということでしょうか?
303デフォルトの名無しさん:2008/12/01(月) 17:15:56
ソースを見ないとなんとも言えませんが、ループ回数とregisterは依存関係にはありません。
nvcc -ptxでptxファイルを出力して眺めてみては如何でしょう。
304デフォルトの名無しさん:2008/12/01(月) 23:02:30
ptxファイルですか。。。
正直どこをどう見たらいいのかわからないので敬遠していましたが、
遂に避けられないとこまで来てしまいましたかねえ。

見るべきポイントとかありましたら、よろしければ教えてください。
305,,・´∀`・,,)っ-●◎○:2008/12/01(月) 23:09:56
ptxもネイティブコードじゃなしに中間コードの断片だからな。
レジスタが何本割り当てられるかとかそういった情報すら持ってないから困る。

その点Larrabeeは16本+16本+αとかレジスタ本数が決まってて
コード生成時点で割り当てが決まってしまう。
結果的に静的な最適化がしやすい。

良し悪し。
306デフォルトの名無しさん:2008/12/02(火) 13:02:50
リョウテニ●ヽ( ・∀・)ノ● CUDA!
307デフォルトの名無しさん:2008/12/03(水) 17:58:11
.oとかにしてgccでリンクすることってできますか?
308デフォルトの名無しさん:2008/12/04(木) 00:09:51
>>307
何を? どこで? なんで質問もろくにできないの?
ちなみに、エスパー募集ならお門違い。
309デフォルトの名無しさん:2008/12/04(木) 00:52:30
>>307

普通にできますよ。
-l/usr/local/cuda/lib -lcudart
等のオプションは当然自分で追加する必要があります。
310デフォルトの名無しさん:2008/12/04(木) 06:13:34
Windowsで、とかいう話だったりしてね。
311デフォルトの名無しさん:2008/12/04(木) 10:05:39
.objじゃなくて.oって書いてあるんだからそれはないんじゃない?
312デフォルトの名無しさん:2008/12/04(木) 22:31:14
それだったらわざわざ聞くかねぇ。まぁいいか。
313デフォルトの名無しさん:2008/12/12(金) 18:47:36

【GPGPU】CUDA/ATI STREAM 速度・画質検証スレ
http://pc11.2ch.net/test/read.cgi/jisaku/1228764782/
 
314デフォルトの名無しさん:2008/12/14(日) 19:30:29
これからCUDAを始めようといろいろサイトを巡回しているのですが、
グリッドサイズとブロックサイズはどのようにして決めたらいいのでしょうか?
同期をとるかとらないかで変わると思いますが、とりあえずとらない場合でお願いします。
315デフォルトの名無しさん:2008/12/14(日) 20:41:30
>>314
BlockSize(スレッド数)は32の倍数で余り大きくない辺り。GridSize(ブロック数)は充分大きく。
316デフォルトの名無しさん:2008/12/14(日) 21:31:49
>>315
ありがとうございます。
もう一つ質問させていただきたいのですが、たとえば、512x512のようにブロックサイズ、グリッドサイズ
ともに最大値未満の場合、<16, 32, 1>のように複数の次元に分けるのと、<512, 1, 1>のように1つの次元
にまとめるのとどちらがいいのでしょうか?
多分通常はブロックサイズは各次元の最大値<512, 512, 64>をオーバーすることが多いと思うので、こちらは
分けることになると思いますが、グリッドサイズの最大値は<65536, 65536, 1>もあるので、
次元を分けなくてもいいときは分けない方がいいのでしょうか?
317デフォルトの名無しさん:2008/12/14(日) 22:01:51
threadサイズが実際の分散処理の単位になる
つまりthread数だけ並列演算が行われる
例えばthread(1)にしてblock(10)とかだと順次処理と変わらない
ただしthreadは256までしか出来ないのでblockという単位が容易されてる
blockは単にプログラムがやりやすいように用意されただけのもので
実際に分散処理には影響しない
318デフォルトの名無しさん:2008/12/14(日) 22:15:42
>>316
言いたいことがよく判らんが、演算量が512x512ならブロックを8x8にしてグリッドを64x64でいいんでない?
或いはxyの区別が重要でないならブロックを64、グリッドを4096とか。
私は後者の方針でptxファイルの出力とプロファイルの結果を睨みながら決定することが多いけど。
# 横着するときは前者だなぁw
319デフォルトの名無しさん:2008/12/14(日) 22:17:30
>>316
単に内部ループが
for(x=0;x<?;x++){}
_global_

for(x=0;x<?;x++){
for(y=0;y<?;y++){
_global_
}
}
になるかの違い
320デフォルトの名無しさん:2008/12/14(日) 22:24:34
元の位置を特定する為にglobal関数でインデックスを計算することになるから
もしxやyのどちらかで収まるなら1つだけ使うのが良い
global関数内部の計算コストが一番ネックになる部分だからね
インデックスの計算部分が一番邪魔で削れるだけ削った方が良い
321デフォルトの名無しさん:2008/12/14(日) 22:35:25
>>317,319
ありがとうございます。ようやく喉のつっかえが取れました。

>>318
試しに昔書いた画像処理のコードを移植しようとしていたのですが、入力によって
いろいろサイズが変わるので、512x512で固定するのはちょっとやりづらいかなと…
ただ、ここまでの話からするとchannel(RGB)*height*widthの三次元配列に画像をつっこんで、
grid = <height, channel, 1>
block = <32, width / 32, 1>
で処理を回せそうですね。画像の幅をを32の倍数に合わせる必要はありそうですが。

>>320
ありがとうございます。実際に使うときは上のような感じにブロックとグリッドの数を決めようかなと
思いますが、どうでしょうか?
322デフォルトの名無しさん:2008/12/14(日) 22:59:47
heightは超えてもいいの?
範囲は内部でインデックスが範囲かどうか判定するよりは
端数を含めたメモリを確保して必要無い部分も計算させてしまった方が速いよ
323デフォルトの名無しさん:2008/12/14(日) 23:22:38
>>322
そこまで大きな画像を入れるかどうかは分かりませんが、確かに高さが65536を
超える場合は分割してやる必要がありますね。

>端数を含めたメモリを確保して必要無い部分も計算させてしまった方が速いよ
ということは、配列にコピーするときに幅を合わせてコピーするのではなく、後ろに空白部分を
まとめた方がいいということでしょうか?

#これって多次元配列を引数に渡すのってどうするんだろう…
324デフォルトの名無しさん:2008/12/15(月) 00:01:31
いや、最終的には全て一次元の配列でそれが適切な間隔でアクセスされるように並んでいるのが一番いいことになる。
だから、画像なんかの場合だと座標値に意味がないなら詰め込んで構わない。
実際には、コンボリューションフィルターなどで隣の画素を参照しないといけないことが多いだろうけど、
その場合はどうせ共有メモリを使ってアクセスを減らすなどの工夫が必要だからどの途32の倍数に拘る必要はない気がする。
325デフォルトの名無しさん:2008/12/15(月) 00:50:40
論文用のならともかく普通の画像処理で画像サイズが固定されてることはまずないし
サイズも共有メモリじゃとても足りない
共有メモリを使うならCPUサイドであらかじめ画像を分割して渡すという方法しかないけど効率悪いよ
毎回隣接した画素情報も含めないといけないから
326デフォルトの名無しさん:2008/12/15(月) 01:06:12
>>324
カーネルサイズにもよりますが、sharedメモリはちょっとサイズ的にきつそうですね…
constantメモリならブロックサイズを調整すれば何とかなるかも?

>>325
単なる趣味グラムなので、ぶっちゃけ全部globalメモリからとってきてもいいような気がしたのですが、
逆にそれだとCPUで処理するよりも遅くなりそうですね
327デフォルトの名無しさん:2008/12/16(火) 01:54:49
遅くなりそうというかどんだけがんばっても最終的にはglobalメモリを使うのが一番早いという結論になるよ
まあそれがGPGPUの一番のネックなんだけどね
CPUサイドのメモリを共用するようにいずれはなるんだろうけど今の限界はそこ
328デフォルトの名無しさん:2008/12/16(火) 06:11:12
一番(手っ取り)早いのは同意するが、一番速いとは限らない。
それこそ、思考放棄じゃないかな?
329デフォルトの名無しさん:2008/12/19(金) 00:31:55
詰まってます、助けて・・・
私はVS2005で開発しようとカスタムウィザードを入れ、ツールキットとSDKをインスコし
パスも通したのにLNK1181エラーでるんです・・・存在しないオブジェクトファイルを指定するのはなぜでしょう?
ライブラリパスがみつからないってどういうことなんでしょうか?
330デフォルトの名無しさん:2008/12/20(土) 01:37:50
"Program" "Files"と認識してるとか
331デフォルトの名無しさん:2008/12/20(土) 02:38:31
Windowsってなんで重要なディレクトリ名にスペースなんか入れるんだろう。
MSって頭悪いの?
332デフォルトの名無しさん:2008/12/20(土) 04:16:06
低脳を排除するためかもねw
333デフォルトの名無しさん:2008/12/20(土) 05:06:25
プログラマお断り。ずっと消費者で居てくだちい。
334デフォルトの名無しさん:2008/12/20(土) 06:27:59
デスクトップやマイドキュメントのスペースや半角カナフォルダはなくなったが、Program Filesはそのままだな。
335デフォルトの名無しさん:2008/12/20(土) 09:43:22
>>331
その昔16ビットOSが主流だったころM$は8文字ファイル名しか扱えなかった
そしてUnix系OSは既にロングファイルネームに対応していた
そこで登場したのが32bit Window 95だった
長いファイル名が使えるんだぞ、凄いんだぞと新発明でもしたかのように宣伝していた
そして自慢げにフォルダ名を無駄に長くした
336,,・´∀`・,,)っ-●◎○:2008/12/20(土) 12:23:53
VistaはUNIXerには優しくなったな。
上位エディション限定だけどSUAも使えるし
337デフォルトの名無しさん:2008/12/20(土) 20:39:06
CUDAをさ、VS2005で使えてる人っているの?
つか、なんで英語のマニュアルしかないんだよ。わかんねーよ
338,,・´∀`・,,)っ-○◎●:2008/12/21(日) 00:44:02
むしろ2005以外でどうやって使うんだ?
2.1βで2008対応したけど
339デフォルトの名無しさん:2008/12/21(日) 00:58:06
>>338
おお、それはいいこと聞いた
やっと2005アンインストールできる
340デフォルトの名無しさん:2008/12/21(日) 01:37:02
>>338
どこか日本語で環境設定を教えてくれるサイト知ってたら教えてくれ・・・
341デフォルトの名無しさん:2008/12/21(日) 01:55:48
環境設定なんか何も要らんがな。スクリプト走らせるだけ。
bashのバージョンによってはウォーニング出るけど、ちゃんと動く。
スクリプト猿にも成れないとは、どんだけゆとり脳なんだよ?スポンジなの?
342,,・´∀`・,,)っ-●◎○:2008/12/21(日) 10:35:26
どのみちあの程度の英語が読めない人に優れたプログラミング書くのは無理だと思うんだ。
俺の私的な業務の手伝いしてくれるなら日本法人さんに代わりにチュートリアルとかの要求
してあげてもいいんだけど、職権乱用か。

>>340 ここで解らなかったらもう諦めたら?
http://chihara.naist.jp/people/STAFF/imura/computer/OpenGL/cuda1/disp_content
343デフォルトの名無しさん:2008/12/21(日) 11:55:12
どうでもいいけど、↑のURLは「disp_content」を削らないとエラーになった。
344デフォルトの名無しさん:2008/12/21(日) 12:58:13
>>340
サンプルプロジェクトを開いて設定を見て勉強するのがいいよ
345デフォルトの名無しさん:2008/12/24(水) 12:51:08
英語読めないのにプログラミング言語してる男の人って・・・
346デフォルトの名無しさん:2008/12/24(水) 18:35:50
英語に優越感もってるやつって、さもしいな
347デフォルトの名無しさん:2008/12/24(水) 19:03:01
>>345
可愛いもんだよねv
348デフォルトの名無しさん:2008/12/24(水) 23:58:39
英語なんて誰でも1ヶ月もあればある程度は読めるようになるよ
出来ないと思い込んでやろうとしないだけで
349デフォルトの名無しさん:2008/12/26(金) 12:46:32
vs2005の環境で拡張子cuの場合、定義参照はできるのですが、
インテリセンスが機能しません。freeとかvcのランタイムも同様に
機能しないのですが、やり方分かる方いますか?
ツール->オプション->テキストエディタ->ファイル拡張子にcu c++として
登録するとできるのは上記だけです
350デフォルトの名無しさん:2008/12/26(金) 22:27:18
いっそ、nvccの拡張機能以外は全部cppでやったら?
351デフォルトの名無しさん:2008/12/27(土) 05:03:22
それがスマートだね
352デフォルトの名無しさん:2008/12/27(土) 17:53:02
質問です。
VC++2005で開発する際に、コマンドプロンプトにデバイス名も含め一切文字を表示させたくないのですが、どのようにすればよいでしょうか?
353デフォルトの名無しさん:2008/12/27(土) 18:38:27
>>352
長いパス名が邪魔なだけなら set PROMPT=$G とか?
354デフォルトの名無しさん:2008/12/27(土) 18:47:25
>>352
CUTILを使うと標準出力があるって話なら、リダイレクトするかCUTILを使わなければいいと思うのだが。
355デフォルトの名無しさん:2008/12/28(日) 01:33:08
プロンプト出したくないって話なら_tmainじゃね
356352:2008/12/28(日) 02:53:51
>>353-355
回答ありがとうございます。

>>353
質問があいまいですみません。
パス名が邪魔、ってわけではないです。

>>354
おそらくこの指摘にあてはまるのだと思います。
>リダイレクト
リダイレクトしても、コマンドプロンプトに表示が出てしまいます。
>CUTIL
cutil.hを使わずに、cutil.hで提供されている関数を使わない方法、もしくは、代替可能なヘッダーファイルはありますか?

>>355
_tmainを使ってしまうとWindowsでしか使えないソースコードになってしまうので、別の方法があれば教えてください。
357352:2008/12/28(日) 02:55:28
自己レスですw

誤:cutil.hで提供されている関数を使わない方法
正:cutil.hで提供されている関数を使う方法

の間違いです。
358デフォルトの名無しさん:2008/12/28(日) 03:10:48
system("cls");
とか
359デフォルトの名無しさん:2008/12/28(日) 10:49:28
>>356
> _tmainを使ってしまうとWindowsでしか使えないソースコードになってしまうので、別の方法があれば教えてください。
Windows かどうかで #ifdef するくらいは許されるんじゃないの?
360デフォルトの名無しさん:2008/12/28(日) 14:29:28
プロジェクトの設定でWindowsアプリにすればいいだけでしょ
361デフォルトの名無しさん:2008/12/28(日) 14:32:32
>>_tmainを使ってしまうとWindowsでしか使えないソースコードになってしまうので、別の方法があれば教えてください。
mainだろうがWindows依存部分のコードが発生するのは当たり前でしょ
CUDAの部分とC++の部分とWindows依存部分とファイルを分離するのが鉄則だよ
複数の環境で使う場合は#ifdefプラグマを使って分離したWindows依存部分の
#includeを切り替えるようにするだけ
362デフォルトの名無しさん:2008/12/28(日) 17:29:43
コンパイラのオプションで指定できるでしょ
環境ごとにmakefile書くだけじゃね
363デフォルトの名無しさん:2008/12/28(日) 17:48:49
>>361
#ifdefはいつからpragmaになりましたか?
364デフォルトの名無しさん:2008/12/28(日) 17:53:47
>>363
#ifdefディレクティブと言いたかったんじゃないの?
で、使い慣れない言葉なんでつい間違えたと。
句読点もちゃんと使えないようだし、日本語に慣れていない三国人なんでしょ。
365デフォルトの名無しさん:2008/12/28(日) 22:36:27
cudaのMDコードどこかに追ってませんか?
366デフォルトの名無しさん:2008/12/29(月) 12:11:23
たった1行でここまで意味不明なのも凄いな。
367デフォルトの名無しさん:2008/12/29(月) 12:24:23
×追ってませんか?
○オッドアイいませんか?
368デフォルトの名無しさん:2008/12/29(月) 13:39:38
>>365氏はcudaで書かれたMD(分子動力学)コードどこかに落ちてませんか
と聞いてるのかと。当方も知らないので答えられませんが。
Fortranで書いたものを全部はアレなのでGPU上で実行したいサブルーチンだけ
Cに変えてCUDAで動かしたいのですが、そんな例とかは落ちてないですかね。
mainルーチンその他関係ないところまで全部Cに移植するのが嫌ってだけな
んですが。あ、当方はIntelFortran使用。
当方まだCUDA触りたて、試しにSTREAM BMTのtriadだけ手で適当に書いて
GeForce9600GTで40GB/s弱(効率7割弱)のメモリバンド幅。あ、じゃもうでき
るじゃんとか勝手に思い、Fortranのコードに挑もうとしてあえなく止まってますorz
369デフォルトの名無しさん:2008/12/29(月) 14:08:06
370368:2008/12/29(月) 14:20:59
>>369
ありがとうございます。m(_ _)m
多次元配列はどのみちGPU上では一次元化するつもりでしたがなるほど。
参考にさせていただきます。
371デフォルトの名無しさん:2008/12/29(月) 14:45:46
>>369
そのページ、ポインタの扱いがメタメタだな
わかってるなら別にいいが
372デフォルトの名無しさん:2008/12/29(月) 14:49:43
うん、ぶっちゃけ「"cuda fortran"でぐぐって一番上に来たリンク貼り付けただけ」なんだ、すまない
373デフォルトの名無しさん:2008/12/29(月) 14:50:01
何か普段使うものをCUDAに移植しようと思いつつ適当な物が見当たらない
374デフォルトの名無しさん:2008/12/30(火) 02:15:09
ぶっちゃけ、俺もそうなんだよね。おまけで付いて来たサンプル書き換えて
動かしてFLOPSベンチしてるだけ。
CUDA動かす環境をコスパ良く構築するには?と考えて色々やってみたが、
構築した環境で動かすモノって、結局サンプルの改造ばっか。まんまと
nVidiaの販促戦略に乗せられたぜw
375デフォルトの名無しさん:2008/12/30(火) 08:50:29
zip圧縮とかjpg圧縮とかを移植したらライセンスの関係はどうなるの?
376デフォルトの名無しさん:2008/12/30(火) 12:52:04
圧縮アルゴリズムに関しては問題ないんじゃね?
377デフォルトの名無しさん:2009/01/19(月) 15:08:44
CUDAプログラミングモデルの概要
ttp://http.download.nvidia.com/developer/cuda/jp/CUDA_Programming_Model_jp.pdf
CUDAプログラミングの基本(パート I - ソフトウェアスタックとメモリ管理)
ttp://http.download.nvidia.com/developer/cuda/jp/CUDA_Programming_Basics_PartI_jp.pdf
CUDAプログラミングの基本(パート II - カーネル)
ttp://http.download.nvidia.com/developer/cuda/jp/CUDA_Programming_Basics_PartII_jp.pdf
378デフォルトの名無しさん:2009/01/21(水) 03:21:23
デバイス側に確保したメモリにホスト側から
cudaMemcpyのように一括でコピーするのではなく、
一部分だけコピーする、又は書き換える良い方法がありましたら教えてください。

379デフォルトの名無しさん:2009/01/21(水) 03:28:19
・cudaMemcpy()で一部分だけコピーする。
・cudaMemset()で(ry
・そういうカーネル関数を用意して呼び出す。
380デフォルトの名無しさん:2009/01/21(水) 12:27:16
一部分だけってのはたいてい順次処理になるからCPUにやらせたほうが有利だよ
381デフォルトの名無しさん:2009/01/22(木) 01:33:54
CUDAのプログラミングでZIPアーカイブのパスワード解析とか、早くなりませんかねぇ。
エンコード/デコードに使えるんだから、どうなんでしょう?
382デフォルトの名無しさん:2009/01/22(木) 06:38:19
CUDAのfortranサポート予定ってGPUカーネルの部分をfortranライクに
書けるようになるって理解でいいのかな?2.0からって見かけたけど、それっぽい記述が全く無い…
383デフォルトの名無しさん:2009/01/22(木) 08:47:26
>>379-380
ありがとうございました。
参考にさせていただきます。
384デフォルトの名無しさん:2009/01/22(木) 19:18:17
>>381
総当りか辞書型か知らんが演算能力よりI/Oの問題だろ普通。
385デフォルトの名無しさん:2009/01/22(木) 20:12:54
>>381
早くなるよ
386デフォルトの名無しさん:2009/01/23(金) 00:20:22
>>384
ファイル数が多い場合はI/Oも問題になるかもしれませんが、
ある程度のサイズであればWindowsでもメモリに読み込むので、
それほど問題にならないのでは?
毎回物理的に読みに行くわけではないし。

387デフォルトの名無しさん:2009/01/26(月) 09:28:38
ファイルI/OじゃなくメモリI/Oなのでは?
388デフォルトの名無しさん:2009/01/28(水) 11:49:27
>>387
お前は何を言っているんだ
389デフォルトの名無しさん:2009/01/28(水) 12:47:12
>>388
pciバスつかうんだろ?
立派なioとおもうが



つかクーダってほんとマイナーなんだね。
390デフォルトの名無しさん:2009/01/28(水) 13:18:14
そりゃNVIDIA限定だからだろ?グラボを選ぶのなら汎用的なアプリは作れない。
CUDAよりもっといろんなグラボに対応しているOpenCLへのつなぎに過ぎないよ。
391デフォルトの名無しさん:2009/01/29(木) 00:08:14
ZIPのパスワード解析にZIPファイル全体へのアクセスが必要だと勘違いしてる馬鹿w
392384:2009/01/29(木) 08:00:22
>>381-391
ああ、俺がぼけてた。なんか知らんけど自分でもなんであんなレスつけたんだろ orz
わけわからない流れにしちまって、すまん。

正しくはこうだな。↓
パス解析では総当りにしても辞書にしてもforなどのループ速度が求められるだけで、
CUDAによる計算は意味があるのかい?と思った。
MD5とかデータから導き出す数値ならば本当の意味での解析だから意味ありそうだけど。


393デフォルトの名無しさん:2009/01/29(木) 23:02:34
こんな記事もあるしな

GPUを利用した無線LANのパスワードクラッキングが主流に
http://itpro.nikkeibp.co.jp/article/MAG/20090123/323378/
394デフォルトの名無しさん:2009/01/30(金) 03:18:20
>>393の言ってるのはまさに本当の意味での解析ってやつだしな。
WPA/WPA2-PSKからの復元は総当り/辞書比較と違ってGPGPUにする意味がある。
395デフォルトの名無しさん:2009/02/01(日) 15:41:49
Catalystだけど、トリップ検索は随分速くなるみたい
ttp://sourceforge.jp/projects/naniya/wiki/Radeon
396デフォルトの名無しさん:2009/02/02(月) 21:51:40
ホスト側でconstantメモリを動的に確保できないのでしょうか?
方法がありましたら教えてください。
397デフォルトの名無しさん:2009/02/02(月) 22:44:30
>>396
目的が良く分からないのでなんとも言えませんが、
どうせ64KBしかないのだから静的に64KB確保しておくのではだめなのでしょうか。

398デフォルトの名無しさん:2009/02/02(月) 22:54:45
>>396
あるけど、なんでprograming guide読まないの??
399デフォルトの名無しさん:2009/02/02(月) 23:59:28
>>397
静的に確保しておいてもよかったんですが,綺麗にかけるならとw
>>398
一度目を通したつもりでしたが,素通りしていたようです。
もう一度読み直してきますm(_ _)m
400デフォルトの名無しさん:2009/02/06(金) 00:08:13
誰かZIPの暗号解析ツール作って><
それか解析のループ部分だけうpしてくれたら、カーネルは俺が書きます。
401デフォルトの名無しさん:2009/02/06(金) 06:54:02
総当りするだけならどっかのオープンソース実装の
パスワードチェックと復号ルーチンとってくればいいだろ
402デフォルトの名無しさん:2009/02/06(金) 10:20:56
ただでさえ消費電力がデカイのにパスワード解析に何週間も動かしてられっかw
403デフォルトの名無しさん:2009/02/07(土) 16:57:19
超解像のような考え方は昔からあるようだな

フリーソフトImageD2
http://www.tiu.ac.jp/~zohzemi/imgD2/index.html

これは時間軸方向にも参照するものだ。
NVIDIAのMOTIONDSPと同じ考え方だな。
西川善司の大画面☆マニア 第113回 超解像
http://av.watch.impress.co.jp/docs/20090120/dg113.htm

この方法は数フレームを参照することで低解像な映像のブレから情報量をアップさせるようだが、
この方法だとシーンチェンジやめまぐるしく動く映像では逆効果でめちゃくちゃな映像になるのではないか?
(これは上記のフリーソフトの別ページでも注意点として載っていた)
でも東芝などの日本の各社がやってる1フレームだけで行う超解像はそもそも無理がある。だから不自然な画質になったり、情報量が逆に消失したりする。
Lanczosなどでそのままアプコンしたほうがずっと情報量あるし自然な画質だ。比較してみれば一発で分かる。
http://plusd.itmedia.co.jp/lifestyle/articles/0812/24/news031_2.html
ここの元画像を720×480にし、それをAVIUTLなどでLanczosでフルHDにしたもののほうがずっと綺麗。
超解像は単純な処理だから柵とか崩れてるし、文字も駄目だし、元からあった情報を処理によって消しちゃう副作用のほうが強い。
超解像、超解像と目新しくいって盛り上げようとしたいのは分かるが、こんなのはまやかしだよ。

http://www1.axfc.net/uploader/Li/so/24824.zip&key=pass
比較用画像もうpしておいた

一方、数フレームでやる方法は計算が大変だが、シーンチェンジや盛大な動きの問題さえクリアすればかなり使えそうではある。
MOTIONDSPや↓はそのあたりちゃんとクリアしているのだろうか?
http://www.flashbackj.com/red_giant/instant_hd_advanced/
404デフォルトの名無しさん:2009/02/07(土) 17:01:19
10年ぐらい前にカーネギメロン大学で勉強してた頃に超解像のプログラム作れっていう課題を出されたことがある
405デフォルトの名無しさん:2009/02/07(土) 17:34:44
ちょー解像は判ったからマルチすんなや。
406デフォルトの名無しさん:2009/02/07(土) 20:13:09
>>403
スレ違いじゃない?
GPGPU 向きな処理なのは確かだし、そもそも Cell なり SpursEngine は GPU じゃないし。
画像処理スレとかあったと思うよ?
407デフォルトの名無しさん:2009/02/07(土) 23:45:41
アメリカのメロン大学は一応名門だけど日本校はどうなんだ?
408デフォルトの名無しさん:2009/02/08(日) 01:05:45
>>404
なにその高レベルな課題
俺の大学時代と雲泥の差
409デフォルトの名無しさん:2009/02/08(日) 02:58:06
超解像の原理が未だに理解出来ません
複数の映像フレームの同じポイントの色の出現頻度に一番高い色を適用するってことですか?
410デフォルトの名無しさん:2009/02/08(日) 13:45:42
は?今の超解像って、時間軸の補完までやってるのか?
411,,・´∀`・,,)っ-○◎●:2009/02/08(日) 13:52:05
MPEGの原理は主にフレーム間差分をとってJPEG圧縮なんで、それを改めてチェックしたところで・・・
412,,・´∀`・,,)っ-○◎●:2009/02/08(日) 21:06:32
>>407
神戸のハーバーランドの近くにあるあれか?
兵庫県の財政圧迫してるらしいよ。
学生少なくて撤退の噂もあります

同じビルの同じ階に神戸電子専門学校の学校法人が経営する大学院がある。
何を勘違いしたのか兵庫県立大学も情報科学の大学院を神戸市内に置いてる。

神戸という都市に何を求めてるのか、理解不能である。

たしかに古くからの工業都市で組み込みソフト屋の数がそれなりにいるのはわかる。
最大の勘違いは、日本のITドカタは職場を離れて大学院に通えるほど裕福ではないことだ。
413デフォルトの名無しさん:2009/02/08(日) 21:49:03
俺はてっきり、ラーメン大学とか、洗車大学と同じノリで、
神戸電子専門学校が作ったヒト寄せパンダだと思ってた。
ってか別法人なのか?
学生少なくて、って言う前に、派遣のワーキングプア、
デジタル土方に成る為にわざわざ苦労して大学通う馬鹿
が神戸のどこに居るんだよっ?




俺が居るよ…orz
414,,・´∀`・,,)っ-○◎●:2009/02/08(日) 22:51:22
兵庫県もネギメロンなんて誘致するくらいなら神戸大に寄附講座でも作ったほうがよかったんじゃね?
現状兵庫県内で優秀な学生がいるんだし。


おっと、「学生」の枠で括ると近くの中高一貫校のほうがよっぽど・・・
415デフォルトの名無しさん:2009/02/09(月) 09:41:15
情報系の大学院は多すぎるよな
旧帝でも定員割れする世の中なのに

このうえ西和彦が秋葉に大学院作るんだから馬鹿としか
416デフォルトの名無しさん:2009/02/09(月) 12:50:30
>>411
誰がMPEGの話をしてるの?
誰も君の知識を披露してくれなんて頼んでないよ?

圧縮で壊れるったって圧縮率によるし、位相が生き残ってりゃ理論的には解像度は上げられる。
圧縮率によっては壊れた分が回復するだけかも知れないけどな。
417デフォルトの名無しさん:2009/02/09(月) 14:21:54
誰がMPEGの話をしてるの?
誰も君の知識を披露してくれなんて頼んでないよ?
418デフォルトの名無しさん:2009/02/09(月) 15:40:30
それを言うなら、なんでいきなり超解像の話になったんだろ?
419デフォルトの名無しさん:2009/02/09(月) 15:43:20
メロン日本校のカリキュラムを見たけど、ウンコすぎて話にならねぇw
こりゃ学生もこねーわ
420,,・´∀`・,,)っ-○◎●:2009/02/09(月) 18:02:06
>>416-417
だれも連投してくれなんて頼んでないよ?
421,,・´∀`・,,)っ-○◎●:2009/02/09(月) 18:06:41
GPGPU向けの画像・動画関連のソフトってどれも速さばかり求めて品質は二の次だな
ウンコなエンコーダだとRGB/YUV変換で腐る
一番腐るのは量子化だろうけどな
422デフォルトの名無しさん:2009/02/09(月) 18:25:28
Geforceは何気にGTXシリーズで初めて64bitに対応してるけど
演算装置は1個しかないw
並列処理が得意な分野でfloatだけで済むようなものはほぼ無いだろw
423デフォルトの名無しさん:2009/02/09(月) 19:05:29
>>420
連投じゃなくて別人
2ch歴長いんだからそれくらい分かれ
424デフォルトの名無しさん:2009/02/09(月) 20:42:10
甘いな。floatでも速ければ使い物になる用途は結構あるもんだよ。
例えば、近似計算なんかはfloatで近似させてからdoubleで更に近づけることもできるしね。
425デフォルトの名無しさん:2009/02/09(月) 21:56:34
そういや西和彦もこっちの出身だな。確か甲陽から和田大
だから、落ちこぼれか。そもそも博士余りで高学歴ワープアPD
が社会問題に成ってる今日この頃に、大学院新設とかもうね
アボガドバナナ…。
鴨葱メロンと言えば、金出教授もこっちの出身だったな。
沢山カメラ使って超解像みたいな論文も有ったような無かったような。
426デフォルトの名無しさん:2009/02/13(金) 13:06:41
>>425
お前、自分の考えまとめるの下手だな。
427デフォルトの名無しさん:2009/02/13(金) 13:31:44
まあ、CUDAは英文のドキュメントが読めてある程度知能がないと
使えないからな。

スレ違いの話で盛り上がるのも分かるな。バカばっかりだしw
428デフォルトの名無しさん:2009/02/13(金) 17:06:53
CUDA版のTripcode Explorerができたみたいですね。最適化に期待します。
http://tripper.kousaku.in/
http://download.kousaku.in/trip/Tripcode-Explorer-CUDA-test1.zip
429,,・´∀`・,,)っ-●◎○:2009/02/13(金) 18:13:51
ようこそ、バーボンハウスへ。
このテキーラはサービスだから、まず飲んで落ち着いて欲しい。

うん、「絶対に動かない」んだ。済まない。
仏の顔もって言うしね、謝って許してもらおうとも思っていない。

でも、このネタプログラムを見たとき、君は、きっと言葉では言い表せない
「ときめき」みたいなものを感じてくれたと思う。
殺伐とした世の中で、そういう気持ちを忘れないで欲しい、そう思って
5分ででっちあげたんだ。

じゃあ、注文を聞こうか。





--------------------
1M超のバイナリファイルに何が詰まってるか疑問な人は、テキストエディタで開いてみればいいよ><
430デフォルトの名無しさん:2009/02/13(金) 23:27:26
CUDAはコアレスと分岐の扱いを把握すれば、やりたいことは大体クリア出来ると思われ。
431,,・´∀`・,,)っ-○◎●:2009/02/14(土) 00:05:15
結局プレディケートなんだよね。
SMあたりの命令デコーダは1基だからSP毎に別々のフローを実行することができない。

Larrabee(Ct)なら分岐は容易に表現できる。
432デフォルトの名無しさん:2009/02/14(土) 01:58:51
>>431
プレディケードって??
433,,・´∀`・,,)っ-●◎○:2009/02/14(土) 11:48:56
えーとね、たとえば
if (cond) {
  funcA();
} else {
  funcB();
}
なんてコードがあるとしよう。
普通のCPU向けのCだと、 cond の条件にしたがって、funcA()を実行するブロック、
あるいはfuncB()を実行するブロックにジャンプする。
すなわち命令ポインタを操作してコードを飛ぶ。

CUDAにおいてはシェーダマルチプロセッサ一つにたいし、命令デコーダは1つしかない。
にもかかわらず、condは要素ごとに変わるわけで、条件分岐先はSPごとにバラバラになる可能性がある。
んで、そこで使うのがプレディケートなわけだけど、簡単にいえば、ifとelseの両方を通るようにする。
funcAとfuncBをインライン展開して、条件ビットで選択的に実行するコードに展開する。
んで、各要素に対して、実行するか実行しない(あるいは実行結果を反映しない)かを選択的に行うわけだ。
並列度の高いプロセッサではよく使われる方法だ。

んで、こっからはこのアプローチの弱点。
問題はif-elseを何重にも組み合わせたり、switch文を多用する場合、総当たりにかかる計算時間量が
並列化によるパフォーマンスメリットを相殺し、逆に遅くなるケースもある。
並列処理を諦めて素直に要素ごとに逐次処理をさせてくれたほうがかえって効率がいいかもしれない。

しかしCUDAってそのへんの融通がきかないんだよね。基本的に【並列処理しか記述できない】から。
正確には逐次処理は専用のプリミティブなんかを使って限定的に逐次処理はやれるけど記述面では
かえって面倒になる。
GPUで不得意な処理はCPUでやれってアプローチだからそのへんの融通を利かせる気は無いらしい。
434デフォルトの名無しさん:2009/02/14(土) 11:57:31
CUDAで困るのはその点のほかに、並列数を途中で変えられないこともあるよね。
一度ホストに処理を戻すと遅くなりかねないし、共有メモリが失われてしまうし。
私の関わっているプロジェクトでは演算処理が中心なので、ある程度融通が利いてくれないとね。
435デフォルトの名無しさん:2009/02/15(日) 06:24:49
前にも有ったけど、条件分岐したら負け。
Crayだってそうだったじゃん。
436デフォルトの名無しさん:2009/02/15(日) 12:43:21
CPUだとforループが多重になる部分をGPUに
丸投げすればいいんでしょ?
3項演算子程度は実行して欲しいけど
437,,・´∀`・,,)っ-●◎○:2009/02/15(日) 16:42:36
> forループが多重になる部分

重要なのは回数であって多重かどうかはあまり関係ないです。
32の倍数であることは有る程度重要かな

一番重要なのは依存関係がないこと。
たとえばループを逆順で実行しても結果が等価であったりとかね。

240 SP(30 SM)を使えるとすれば、フルに使うには、最低960程度の演算が並列実行可能である必要があります。
ただし、全部のSMでまったく同じ処理をする必要はないです。
438デフォルトの名無しさん:2009/02/15(日) 17:06:37
>一番重要なのは依存関係がないこと。
そうだね。そのためiCotの時も関数型言語の並列化
に七転八倒してたね。
今ならerlangで良いんじゃね? CUDAスレでこんなこと
言うのも何だけど、Cライクな手続き型言語だとどうして
もすぐに壁にぶつかってしまって、スケーラビリティが
出せない。もしくは出そうとするとプログラマの負担が
重過ぎる。
個人的には今更lispやprologに復活されたくはないけど。
439デフォルトの名無しさん:2009/02/15(日) 17:15:56
>>438
そう、わかったよ
じゃあ俺様がCUDA用erlang処理系書いてやる
440デフォルトの名無しさん:2009/02/15(日) 17:57:47
ループを並列処理に展開するのって自動化出来そうだけど
441デフォルトの名無しさん:2009/03/04(水) 19:00:05
>>424
おいおい調子に乗って嘘つくな。
「簡単にできるぜ!」っとか鼻高々なのはいいけどそんなのないよ。
442デフォルトの名無しさん:2009/03/05(木) 00:44:05
>>441
いや数値計算なら反復法とか1次連立方程式の陰解法で使えるだろ
443デフォルトの名無しさん:2009/03/05(木) 00:59:48
また自信満々な人の嘘つき合戦ですか?
444デフォルトの名無しさん:2009/03/05(木) 01:00:38
なんだよ微分方程式、というか積分使うのか。
積分を近似計算といっていいのか?
実用内ではあると思うけど、それもfloat(7)からdouble(16)だろ。何回ループするつもりなんだよ。
445デフォルトの名無しさん:2009/03/05(木) 03:47:40
積分を近似計算と言ってはいけない理由がわからん。
446デフォルトの名無しさん:2009/03/05(木) 06:23:04
数値計算なら兎も角、シミュレーション関係なら大いに有り得る話だな。
自分が知っていることが全てではないと認めることができれば世界は広がるのに。
447デフォルトの名無しさん:2009/03/05(木) 20:24:13
他人を否定することでしか自分を正当化できない、ということか。
448デフォルトの名無しさん:2009/03/05(木) 21:39:34
>>447
数値計算と近似計算の違いを教えてくれませんか?
449デフォルトの名無しさん:2009/03/06(金) 04:35:50
>>448
1+1=2となるのは、数値計算ではあるが近似計算ではない。
450デフォルトの名無しさん:2009/03/06(金) 08:57:12
CUDA 2.1 Notebook Drivers for Windows
ttp://forums.nvidia.com/index.php?showtopic=91157

βだけども
451デフォルトの名無しさん:2009/03/06(金) 14:44:51
>>446
とすると、貴方の世界ではシミュレーションとは近似計算をしてるってことですか?
452デフォルトの名無しさん:2009/03/06(金) 15:05:56
物理にしろ確率モデルにしろコンピュータシミュレーションは近似計算だろ
453デフォルトの名無しさん:2009/03/06(金) 15:08:22
整数演算は近似計算ではありません。
454デフォルトの名無しさん:2009/03/06(金) 15:15:06
approximationの意味分かってるの
455デフォルトの名無しさん:2009/03/06(金) 15:38:46
なんかめんどくさそうな人がいっぱいいますね。
どうでもいいですが、早いところストリーム用のプログラミング手法を確立して、ストリームに特有な技法を紹介する本を出してくださいな。
456デフォルトの名無しさん:2009/03/06(金) 16:26:22
どうして煽りを入れる人ほど知識が足りないんだろう?
457デフォルトの名無しさん:2009/03/06(金) 17:11:04
>>456
知識が足りないから煽るじゃないですかね?
そういう低脳な人は「煽ることしか出来ないよね」っとも言いますけど。
そんなことどうでもいいんで「ストリームんグ・プログラミング技法」とかいうブログを早く作ってくださいな。

「approximationの意味分かってるの」とかめんどくさそうな人との議論とかいかめしい顔した人が言う哲学に興味はないんで。
458デフォルトの名無しさん:2009/03/06(金) 17:14:51

低脳な人の煽りの見本
459デフォルトの名無しさん:2009/03/06(金) 18:03:55
458 名前: デフォルトの名無しさん [sage] 投稿日: 2009/03/06(金) 17:14:51

低脳な人の煽りの見本
460デフォルトの名無しさん:2009/03/06(金) 19:56:54
プログラム板なんだから少しはプログラム出せって
461デフォルトの名無しさん:2009/03/06(金) 20:18:50

低脳な人の煽りの見本
462デフォルトの名無しさん:2009/03/06(金) 20:40:17

低脳な人の煽りの見本
463デフォルトの名無しさん:2009/03/06(金) 20:41:28
>>448
1+1=2となるのは、数値計算ではあるが近似計算ではない。
464デフォルトの名無しさん:2009/03/06(金) 22:21:12
VIPのまとめWikiに書いたこともあるが、今はネタがない。

あーそうそう、x16バスに繋がった8800GTの方がx8バスに繋がったGTX280よりも速かったってこと位か。
但し、転送量が多目の用途だからだとは思うが。
465,,・´∀`・,,)っ-○◎●:2009/03/06(金) 22:22:16
VIPPERプログラミングスレの派生なのかここ?
466デフォルトの名無しさん:2009/03/06(金) 22:23:45
大丈夫、私はvipには書いていないw
でも何故かまとめWikiには複数投稿している罠。
467デフォルトの名無しさん:2009/03/07(土) 02:00:17
自分が知らない事はWeb見て知ったかぶらないで馬鹿げたレスする暇で
amazonで本の一冊でも買えばいいのに。

ところでCUDAで性能だすためのまとまった日本語の文書ないかな?
468デフォルトの名無しさん:2009/03/07(土) 02:22:11
そもそもCUDAに関して有用な日本語資料がなくね?
公式でさえ日本語マニュアルはあんなだったし。
469,,・´∀`・,,)っ-●◎○:2009/03/07(土) 02:25:00
大丈夫、英語資料すらろくなのないから。
470デフォルトの名無しさん:2009/03/07(土) 02:30:32
やはり本家のドキュメントにあたるしかないのか。
めんどくせー。環境の開発もいいけどドキュメントの整備も力入れてほしいわ。
471,,・´∀`・,,)っ-●◎○:2009/03/07(土) 07:18:34
逆に日本語ドキュメントがあっても大して意味無いよ。
IntelのプログラミングマニュアルなんていまだにPentium 4のことしか書いてないぞ。
日本法人仕事しなさすぎる。

CUDAを勉強するより前に英語アレルギーを克服したほうが何かと良くなるかも。

472デフォルトの名無しさん:2009/03/07(土) 07:55:47
英語アレルギーってなに?
473デフォルトの名無しさん:2009/03/07(土) 08:25:11
そう言いたくなるくらい、英語から目を背ける人は世の中に意外と多い。
474デフォルトの名無しさん:2009/03/07(土) 08:45:27
俺の場合英語と日本語だと読むスピードが10倍〜100倍違うorz.

475デフォルトの名無しさん:2009/03/07(土) 11:19:36
母国語でないと読むスピードが遅いだけじゃなく小さなとこで思い
違いがでてきて結局後からまた参照したりして嫌だ。
476デフォルトの名無しさん:2009/03/07(土) 11:23:45
技術的文書に機械翻訳はどの程度通用するんだろ。奇想天外な訳になってしまうのかな。連投スマソ
477,,・´∀`・,,)っ-●◎○:2009/03/07(土) 11:41:59
英文学読めって言ってるんじゃないんだし、書ける・話せるも別問題。
技術ドキュメントの英語なんて、有る程度形式ばった言い回ししかやらないので
単語を摘み出すだけでも回数を重ねればそこそこ意味はわかるようになると思う。

慣れてくれば技術系ニュースサイトとかも読んでみたり。
478デフォルトの名無しさん:2009/03/07(土) 11:51:27
だんごさんはどーゆーサイトみてますか
スレ違い申し訳ない
479,,・´∀`・,,)っ-●◎○:2009/03/07(土) 12:17:36
Intelの開発者ブログとかRSSに入れてる
480デフォルトの名無しさん:2009/03/07(土) 22:13:23
団子はGPGPU嫌いなんじゃなかったの?
481,,・´∀`・,,)っ-○◎●:2009/03/07(土) 22:18:46
逆に、好きな奴いるのか?
非生産的で変態だけど性能のために仕方なく使う類のモノだろ
482デフォルトの名無しさん:2009/03/07(土) 22:22:35
おれもGPGPUなんて嫌いだな。
開発したことあるけどPSシリーズも大嫌い。
483,,・´∀`・,,)っ-●◎○:2009/03/08(日) 08:31:15
x86でいうMMX/SSEって、分岐が除去できるとか直列方向のパフォーマンスメリットがあった。
GPGPUって並列方向のスループットありきで、ホスト側のコードでお膳立てしてやらないといけない。
484デフォルトの名無しさん:2009/03/08(日) 19:46:25
>非生産的で変態だけど
それってintelアーキのことじゃん。昔からずっと言われ続けてることだが。
mc68kやsparc,mipsの方がよっぽど素直に書ける。

けど市場規模のために仕方無く使わされてる。
485デフォルトの名無しさん:2009/03/08(日) 20:10:12
アセンブラはmc68とx86しかやったことないけど、
mc68はかきやすかったな〜。

欲を言えば16本すべて汎用レジスタだったらよかったんだけどw
486,,・´∀`・,,)っ-●◎○:2009/03/09(月) 01:10:52
>>484
あー?
メモリアドレッシングモードが貧弱すぎるんだけどー?
まじうけるー?
パネェっすよ
487デフォルトの名無しさん:2009/03/09(月) 01:20:53
インテルに慣れきってるとそう思うかもね。
どうせ団子はインテル一筋なんだろ?w
488,,・´∀`・,,)っ-●◎○:2009/03/09(月) 02:18:43
> mc68とx86
その時代だと8086だろ。「x86」って基本的に32ビット以降のことを言うと思うんだけど。
32ビットだとぜんぜん自由度が違うっしょ。セグメントなんて使わなくていいし。
4GBの論理メモリ空間をリニアにアドレッシングできるし。
んで、案の定ローエンドサーバだけにとどまらずHPCもx86に惨敗して虫の息じゃないか
古くからあるRISCなんて。
MIPSも組み込みに逃げたけどARMに食われたね。

それはともかくSSE・MMXも経験ない男の人がCUDAなんて・・・




さて、CUDAの話なんだけど、基本的に最小の演算単位は32ビット×32のSIMDで
メモリロード・ストアも、各要素ごとに計算してscattering/gathering機構付きの
ロード・ストアユニットで、
このへんはCUDAのアーキテクチャマニュアルにも載ってる通り。

従来SIMDって基本的に連続的に並べないと性能出ないけど、
CUDAは動的にベクトルを再構成することで、一気に柔軟性が向上した。

逆にこの強力なロード・ストアユニットを載せたせいで、連続したデータに対する
ロードストアの効率が悪くなってね。
一時変数をどっかに置いとこうとした場合にも、32要素ごとにバラバラにアドレスを計算する
scattering/gathering機構つきのロード・ストアユニットに通す羽目になる。
これじゃエネルギー効率的にもよくないでしょ。

んで、レジスタにそのまま保持すればいいじゃないってことで、それで
1つのシェーダコアあたりのレジスタファイルが、32KBとか64KBみたいな巨大なことになってる。
それにしても一般のCPUのL1キャッシュよりレイテンシの大きいレジスタファイルって一体・・・
489デフォルトの名無しさん:2009/03/09(月) 02:50:28
団子の脳みそがx86のアーキテクチャで凝り固まってて、現代風のプログラミングパラダイムについて来れないってことだろ。
あと10年もすればおまえの持ってる小手先業などは博物館の展示資料でしかないし、おまえの能書きなど頑固オヤジの戯言同じなるだろう。
インテルのブログで洗脳されまくっちゃうのもいいけど、アーキテクチャマニュアル云々よりも団子が頭の切り替えをできるかどうかのほうが問題なんじゃないの?
490デフォルトの名無しさん:2009/03/09(月) 02:57:29
現代風のプログラミングパラダイムって何だ?
491,,・´∀`・,,)っ-●◎○:2009/03/09(月) 03:33:26
斜め上をいく愚言に感謝する。

しかしながらscattering/gatheringによる柔軟なアクセスはSIMDの新時代を切り拓くものだ。
実際Intelも2〜3年先のSIMD拡張では256ビット、512ビットと幅が広くなってるため、
AoS/SoAの変換をいかに効率よくこなすかがテーマになってくる。
(ちなみにLarrabeeにはscatter/gather命令そのものを導入する)

このへんはむしろCISC的なプロセッサの美学だと思うがね。
AltiVecとかCellのSPEでなら何十命令かかる命令を1命令でこなす。
1クロックサイクルスループットでこなせない命令を実装しないのがRISCだろ。
モダンなCPUではパイプラインの前半部分のほうがALU自体よりもコストがかかるしまってるから
それで処理単位がリッチなCISCのほうが効率がよくなってるわけさ。
このへんは http://gimpo.2ch.net/test/read.cgi/i4004/1220728356/76あたりと同意見

しかしさ、16要素とか32要素とか、全部バラバラのアドレスだとしてみ?
とてもワーストケースで要素数分だけメモリアクセスが必要だぜ。
RISCの守備範囲じゃねーよ

んで、個人的にCUDAの問題は、scatter/gatherスカラ命令を備えないことなんだよね。
常に32並列単位で演算しないといけない。それで小回りがきかない。
スカラレジスタでアドレス指定するベクトル単位のロード・ストアと
scatter/gather
Larrabeeあたりがまさにこれをやってるわけだが。

> あと10年もすればおまえの持ってる小手先業などは博物館の展示資料でしかないし、おまえの能書きなど頑固オヤジの戯言同じなるだろう。

残念だが俺は流行りものの言語・フレームワークには目がない。
Ruby On Railsとか大好きだし。むしろ高級言語をより効率的に使うためにマシン語レベルで理解する必要があるんだよ。
たとえばさ、LLって性能的にはネイティブマシン語より遅いから、LL向けのJITコンパイラ書きたいとするじゃん。
どうしてもアセンブラの知識は必要なんだよね。もちろん業務じゃないよ。
ということでプロ高級言語er、趣味マシン語er
それでARM語もx86語もそれなりにたしなんでおきたいわけ。
492,,・´∀`・,,)っ-●◎○:2009/03/09(月) 03:37:32
○んで、個人的にCUDAの問題は、スカラ命令を備えないことなんだよね。
493デフォルトの名無しさん:2009/03/09(月) 03:52:38
頑固オヤジの戯言ごとと同じになるだろう。

ニート相手に5行も書くの面倒だから誤字脱字なおすのも面倒だよな。
「CISC的」とかいう概念がもう古いパラダイムってこと。
おまえみたいな純粋な「消費者」の戯言などどうでもいいけど、ストリームなのに128/256bits単位とか全く鼻糞だろ。
ストリーム演算やってるのに、「スカラ演算もやりたい!」「アドレッシング!」という考え自体を改めたほうがいいと思うけどね。

どうでもいいけど、ストリーミング・プログラミングの小技を集めたブログをはよ作ってよ。
C#だとスニペットというんだったか?そういうイディオム集みたいのでもいいから。
494,,・´∀`・,,)っ-●◎○:2009/03/09(月) 03:59:04
Intelの中の人のブログって言っても、本当に自社製品のプログラミングがらみの話題って
月に1回出るかどうかのレベルだぜ
次期Windowsの話題だったり、XMLやLLなんかのWebまわりの技術がどうこうだったり。
中の人の興味のあることが書いてあるって感じだけど、頭の悪い技術系ゴシップサイト
よりはよっぽど為になる。さすが半導体総合メーカーだわって思うわ。

NVIDIAのニュースも購読してたけど本当に自社製品向けのコンピュータグラフィックスのノウハウとか
グラフィックよりの物理演算が中心で、そっち方面はそんなに深入りする気はないので読む価値なしと。
(そっち方面で食ってる人ごめんなさいね)
495,,・´∀`・,,)っ-●◎○:2009/03/09(月) 04:01:57
>>493
> どうでもいいけど、ストリーミング・プログラミングの小技を集めたブログをはよ作ってよ。
> C#だとスニペットというんだったか?そういうイディオム集みたいのでもいいから。
プププププ
496,,・´∀`・,,)っ-●◎○:2009/03/09(月) 04:11:02
ソースコード例文をいんたーねっつで検索してきてコピペをするのが
プログラミングだと思ってる人はそう言うのに本質を求めるよね。
いや、いいんだけどね。
俺とて業務では最高級の言語から低級言語で書かれたライブラリを使わせてもらってる立場だし。
497,,・´∀`・,,)っ-●◎○:2009/03/09(月) 04:43:49
ちなみにマルチコアとかSIMDを使いこなして最適化コード書いたりできる人間は稀少性があるから
長い目でみれば食いっぱぐれしないよ。

今でこそ団塊COBOLerの後釜需要があったりするくらいだし
(徐々にJavaや.NETに置き換わってるので将来性を考えれば微妙だが)

自動並列化ランタイム環境使えばいいとか言うだろ?
そう言う考えの三流プログラマは食いっぱぐれる。間違いなく。
じゃあその並列化ランタイムは誰が書くんだと。書きもしないのに沸いてくるのかと。
最近流行のJavaScriptのJIT部分のコードでも見てみればいい。各CPU用のバイトコードの山だ。

その点、覚えさせれば小学生でも出来るような、コードをコピペして貼り合わせる能力なんて誰が評価するんだよ。
知識が無いと難しい作業こそ高い市場価値がある。

CUDAはまだ市場として育ってないがな。とがってる分、苦手なことが多すぎて。
498デフォルトの名無しさん:2009/03/09(月) 05:31:36
俺の団子が火を吹くぜ!
499,,・´∀`・,,)っ-○◎●:2009/03/09(月) 05:54:25
っていうか、電子の移動度の限界とか云々でクロックが上がらないのでフリーランチ終焉、
SIMDやマルチコアを明示的に使いこなさないと性能出ませんよ
これ以上1スレッドの負荷の重たいソフト書くなよ、なんて、何年も前から言われてることなのに
「価値がなくなる」だとか何を妄言はいてるんだか。
10年後に100GHzとか200GHzとかいくのかよ。
数十コアとか数百コアになって最適化屋の需要拡大することはあっても、縮小することなんてねーよ

要するにSIMD・マルチコア使いは10年先もナウい。パネェ
500デフォルトの名無しさん:2009/03/09(月) 06:07:53
最適化できる奴は別にたくさん要らないよなぁ・・・
結局ライブラリ作って終わりだし。
そういうライブラリがなかったり高額だったら、誰も使わないからあまり流行らないわけで、どんどん忘れ去れていく技術なだけだしなぁ・・・
GPUとは関係ないけど、MSの提唱してる技術とかかなり不発が多くて流行らずに忘れ去れてるの多いでしょ。
(スカラの)マルチコアとライバル関係だけど、運が悪いとGPU(ストリーム)の方が流行らずに終わってしまうことだってある。PCってのはそういう世界だったよな。
どうでもいいけど人柱がんばってよ
501,,・´∀`・,,)っ-○◎●:2009/03/09(月) 06:10:54
せいぜいコードコピペで済む単発案件こなしてなよ
希少価値のある技術には見えないがね。

どっちかというとコピペプログラミングこそ自動化できそうだけどなぁ
お絵かきツールだけでプログラムのフロー書くASTERIAみたいなツールも出てきてるし
502,,・´∀`・,,)っ-○◎●:2009/03/09(月) 06:52:27
既にゲーム業界では下っ端レベルからそういう技術が要求されるようになってるけどね
PS3とか360やってるところなら半ば強制だぜ
脳天気でいられるのは高級言語屋とローエンド組み込みCPUソフト技術者くらい

CUDAは流石に今のポジション以上の普及はないと思うよ
「汎用」ってものをわかってない。
503,,・´∀`・,,)っ-○◎●:2009/03/09(月) 07:00:18
GPGPUの【GP】に関してならLarrabeeに食われるだろうね。
たとえば普通のCを使うとして、たとえばtime.hすら使えないのがCellのSPEなら
CUDAはそれ以前の問題だし
504デフォルトの名無しさん:2009/03/09(月) 07:01:11
スニペットとかコピペってのは、結局コードのモジュール化ってことでしょ。
オブジェクト指向による再利用促進とも言うけど、それは時代の流れって言うよりもう当たり前じゃないのか?
IDEとか便利だし、かゆいところは自分でコード書けばいいんじゃないか。
今の時代、30分で作れるのに一からメモ帳作る奴はよっぽどバカでしょ。
505デフォルトの名無しさん:2009/03/09(月) 07:03:23
ああ抜けてた。

コピペって簡単に言うけど、典型コードの再利用なわけでだからこそメモ帳アプリが30分で作れる威力があるんだけど。
506デフォルトの名無しさん:2009/03/09(月) 07:05:53
そういえば、ム板でコテ名乗ってるのは団子ぐらいしかいないよね?他にいるの?
507,,・´∀`・,,)っ-○◎●:2009/03/09(月) 07:23:14
>>504
コピペの単純工程をやるプログラマもいれば
ライブラリを書くプログラマもいるわけで

法律事務所のアルバイトと弁護士くらいの格差は出てくるかもね
いや、既に出来てるか
508デフォルトの名無しさん:2009/03/09(月) 09:07:28
>>505
使い回しでメモ帳に30分ってかかりすぎだろ。3分でやれよ。
テキストコントロール配置してファイル読み書き機能付けるだけで終わりだろ
IDEの雛形だけでほぼ完成なんだからさ

それともGREP機能でも搭載するのか?
509デフォルトの名無しさん:2009/03/09(月) 09:12:15
30秒だろ

#include <stdlib.h>
int main(void) { system("notepad.exe"); return 0; }


再発明する価値もない。
510デフォルトの名無しさん:2009/03/09(月) 09:20:05
無いものを作る、あるいは既にあるものをより良くすることに知的労働の価値があるわけで
劣化コピーの再発明で金とるなど馬鹿の所業だろ。
511デフォルトの名無しさん:2009/03/09(月) 09:42:01
>>509
ワロタw
512デフォルトの名無しさん:2009/03/09(月) 10:28:29
30分で作れる程度のエディタなんて誰も使いたくないな
513デフォルトの名無しさん:2009/03/09(月) 12:06:54
なんでおまえらはそのうちいい情報を提供してくれそうな人を叩くんだよ
514デフォルトの名無しさん:2009/03/09(月) 12:13:14
いい情報を提供するのが自分じゃないと気がすまないからさ。
そのために全体が遅延しても問題なし。
515デフォルトの名無しさん:2009/03/09(月) 12:28:58
CUDAは既存の一握りのプログラムの再発明のためデバイス・言語処理系だろ。
性能はともかく効率CUDAでできることは普通のCPUでもできる。
より高いスループットを得るためにこそある。
プログラミング対象を選ぶし、性能を出すには工夫がいる。

テキストエディタの話じゃないけど、生産性を言い訳にして自分で創意工夫が出来ない奴には不向き。
516デフォルトの名無しさん:2009/03/09(月) 12:38:56
,,・´∀`・,,)っ-○◎● に嫉妬してるだけじゃね?
517デフォルトの名無しさん:2009/03/09(月) 13:34:37
まぁ、団子は必ずしも間違ってはいないからな。
CUDAに未来はないかもしれないけれど、OpenCLはAMDも担いでいるからもう少し生き延びるだろうし。
518,,・´∀`・,,)っ-○◎●:2009/03/09(月) 19:05:27
OpenCL(笑)

なんかの魔法の言語のように思ってないか?
OpenCLは「GPU版Java」じゃない。
共通化されてるのは言語の基本仕様の部分だけで、細かいところは処理系依存。

んでもって、CUDAやCAL/Brook+のプログラミングの敷居を高くしてるのは言語処理系じゃなくて
少ないスクラッチパッドメモリとレイテンシの大きいメモリと
やたら小回りが利かないベクタ演算ユニット、その他諸々のGPUのパイプライン・・・
要するにシェーダコアの構成そのものにあるのであって、それが解消されない限り
CPUを置き換えて普及していくことなどあり得ない。

普通のCPUと同じ定番言語のC/C++言語をまがりなりにもサポートしてるのに
業界の評価のお寒いCellを見れば、課題は言語じゃなくて汎用プロセッサとしての
柔軟性にあることくらいわかるだろ?

その意味、OpenCLを効率良く実行できるのはよりCPUに近いLarrabeeだと思うよ。
というか本質的にOpenCLなんて要らない。
どうせCellなんかと同じくハード専用にカリカリにチューニングしなきゃいけないんだし。
519デフォルトの名無しさん:2009/03/09(月) 19:35:29
>>518
世の中それほどぎりぎりのチューニングまではしないけどちょっとは速く走って欲しいなんて用途が結構あるのよ。
で、私自身はOpenCLはAMDが必死こいてアピールしているだけで実際には普及しないと思っているのよね。
どうせLarrabee出て来る頃にはCtも来ているだろうから、NVIDIAもAMDも青息吐息でしょ。

まぁ、CUDAスレなんだからLarrabeeの待つ未来を語るのは程々にしましょ。
520,,・´∀`・,,)っ-○◎●:2009/03/09(月) 19:58:15
期待してなんか無いよ。
Cellと同じくニッチ市場を食い合うだけ。
521デフォルトの名無しさん:2009/03/09(月) 20:55:32
ゲーム屋の意見としては、SPUの数とメモリが倍あったらCellも悪くないと思う。
あとはメモリのバンド幅か。
柔軟性もあったら嬉しいけどね(整数や分岐とか)。
522デフォルトの名無しさん:2009/03/10(火) 04:01:00
>期待してなんか無いよ。
おっと、だんごさんの悪口はそこまでだ
523デフォルトの名無しさん:2009/03/11(水) 03:05:50
>やたら小回りが利かないベクタ演算ユニット、その他諸々のGPUのパイプライン・・・
Crayだってそうだったじゃん。Personal CrayとしてCUDAは良く出来てると
思うけど。
メモリの不自由な階層は何とかしてくれ、と思うけど。Cray同様、IPも持って
一般I/Oも出来て欲しい。
あと出張先でデモ出来るように、CUDAの動くnVidia GPU載ったサブノート
が出てくれないと…。学会発表しようにも、デスクトップ担いで持参しなきゃ
ならんってのは勘弁。
524,,・´∀`・,,)っ-○◎●:2009/03/11(水) 03:24:55
つ[Asus N10]
525デフォルトの名無しさん:2009/03/11(水) 11:31:57
つ[新Mac Book]
526,,・´∀`・,,)っ-○◎●:2009/03/11(水) 22:47:25
いや、でも、アカデミック畑の人の求める特化型プロセッサって一般のニーズとかけ離れてると思うよ。
CellやGRAPE-DRでワードやエクセルが動くかっつーの。

当たり前だけどアカデミック色の薄いアプリケーションって書く人少ないのよね。
サンプル探しにCUDA-Zone逝っても「なんとか論文ps.gz」みたいなのしかないし
527デフォルトの名無しさん:2009/03/11(水) 23:01:58
ここにアカデミック色の殆どないアプリケーションを書いている人が居るんだが、
残念なことに特定用途向けだし契約の都合もあるんで公開できないんだわさ。
528デフォルトの名無しさん:2009/03/11(水) 23:04:35
アカデミック色って例えば何?
ブラックホールのシミュレーションとか?
529,,・´∀`・,,)っ-○◎●:2009/03/11(水) 23:08:18
俺も書いてたよ
NVIDIAの営業さんじきじきに頼まれたがめんどくさくなった
530,,・´∀`・,,)っ-○◎●:2009/03/11(水) 23:09:07
>>528
そういえばGRAPEのコミュニティではCUDAはやたら受けが良いらしいね。
531デフォルトの名無しさん:2009/03/12(木) 19:48:28
>>523
モバイルCUDA環境が欲しくてN10jc買った
性能は
./nbody -benchmarkで16.472GFLOP/s
./nbodyでタイトルバーにでるやつだと80GFLOP/sくらい
532,,・´∀`・,,)っ-○◎●:2009/03/12(木) 21:20:13
割と出るんだね

大学時代にやった熱力学シミュレーションのレポートをまた引っ張り出してきてCUDAで実装してみるかな。
Rubyで書いたらアホみたいに遅くてC++で書き直した覚えがある。
533デフォルトの名無しさん:2009/03/13(金) 01:33:06
Rubyで書いてCより性能でればいいのにね。無理言うなって感じだが
534デフォルトの名無しさん:2009/03/13(金) 01:52:39
アルゴリズムが悪いんじゃないの。
535,,・´∀`・,,)っ-○◎●:2009/03/13(金) 01:58:40
まさに「グリッド」(格子点)だよ。
アホみたいに並列化しないと性能出ないCUDAには向いた問題
536,,・´∀`・,,)っ-○◎●:2009/03/13(金) 02:20:43
RubyはCでかかれたインタプリタであって、
1語句ごとにループ・switch文で処理を行う以上
それ自体の致命的な遅さはどうしようもない。

YARVとかJRubyなら多少速いかも知れんが
本家はまだJIT以前の問題だし。
Matz氏はXbyak見て「いずれは考えなきゃいけない」的なこと言ってたんだけどね。
537デフォルトの名無しさん:2009/03/13(金) 02:50:22
団子の中の人って、大学逝ってたんだ。

>>531
意外とやるな。電池で動いてそれなら上出来だと思う。
ARM+DSPでは桁違いに負けてると思う。しかし、所詮
ネトブクに毛が生えただけなのに、ThinkPad Xシリーズ
より重いのか。
Linux対応はどない? EeePCのLinux対応はすこぶる良
かったから期待してるのだが。
538デフォルトの名無しさん:2009/03/13(金) 08:17:53
>>537
CentOS5.2はおk
サウンドは自分でドライバ当てる必要あり
無線LANは認識してる
(ドライバ入れてないから使えるかどうかは不明
あとはカメラと指紋認証が使えないくらい

他の鳥は試してないからわからん

BIOSでHT切れないのが気持ち悪い
539デフォルトの名無しさん:2009/03/13(金) 10:27:16
>>537
金を気にしないならネットブックは辞めたほうがいい。
1024x600は割と不便。

EeeUbuntuなら、最初からEeePC向けのカメラやBluetoothの設定ユーティリティが
インストール済みだが。
540デフォルトの名無しさん:2009/03/13(金) 22:33:58
>Matz氏はXbyak見て「いずれは考えなきゃいけない」的なこと言ってたんだけどね。

いつ?

>YARVとかJRubyなら多少速いかも知れんが
>本家はまだJIT以前の問題だし。

YARVはすでにRuby本家だけど?
541,,・´∀`・,,)っ-○◎●:2009/03/13(金) 22:38:08
542デフォルトの名無しさん:2009/03/13(金) 22:41:31
参考になるかもしれない、じゃん
543デフォルトの名無しさん:2009/03/13(金) 23:25:23
>>541
リンク先読んだが、Xbyakじゃなくて「Gecko 3.0にはJIT付きJavaScriptエンジンが添付されるということだが」が、将来の参考になるという風にしか読めないんだが・・・
2007年の時点なら、Matz氏がRuby用のJITについて参考にするという文脈なら、XbyakじゃなくてYARVのJITが暗黙でしょ。
544,,・´∀`・,,)っ-○◎●:2009/03/13(金) 23:50:07
別に"へるみエンジン"を検討してるなんて言ってないが
「JIT」としか言ってねーよ
545デフォルトの名無しさん:2009/03/14(土) 00:21:40
JITじゃなくて、「「いずれは考えなきゃいけない」的」と「参考になるかもしれない」は違うだろって話でしょ?
あと、
>YARVはすでにRuby本家だけど?
についてはノーコメントのなの?
546,,・´∀`・,,)っ-○◎●:2009/03/14(土) 00:33:17
YARVはJIT実装があったろ?
あれこそ亜流だけど
547,,・´∀`・,,)っ-○◎●:2009/03/14(土) 00:39:52
>>545
ちなみにYARVとか鬼車のJITは環境非依存の中間コードに変換するだけであって
CPUネイティブじゃないよ。
んで更にそのバイトコードをインタプリタで動かしてる。

ネイティブコードのJITに言及したのは↓だけ

> _ [言語] IA32(x86)JITアセンブラ Xbyak
548,,・´∀`・,,)っ-○◎●:2009/03/14(土) 00:41:52
ま、Rubyが動かせそうなGPUはLarrabeeが最初で最後だろうな
549デフォルトの名無しさん:2009/03/14(土) 01:01:14
いつJITの実装の話になったんだ。
話そらすのが上手いなww

そもそもMatz氏はXbyakについて「「いずれは考えなきゃいけない」的」な事は言ってないので(参考にするのはGecko 3.0の方)、>>541以降のお団子さんのコメントは見当違い。
550,,・´∀`・,,)っ-○◎●:2009/03/14(土) 01:08:02
Xbyakを採用するなんて俺は言ってないし君が勝手に勘違いしただけでしょ
551,,・´∀`・,,)っ-○◎●:2009/03/14(土) 01:14:17
もともとはRubyがC++よりクソ遅いって当たり前の話だろ。
スクリプト言語が静的コンパイル言語を超えられる訳がない
それだけのことよ
552デフォルトの名無しさん:2009/03/14(土) 02:39:35
団子、いい加減にしろ。最近のお前はオカシイぞ。
形式言語より、日本語勉強し直せ。マジで。
コミュ力無さ過ぎ。
553,,・´∀`・,,)っ-○◎●:2009/03/14(土) 02:50:01
自分が思考短絡してるのを棚に上げて他人を避難するヴァカがいると聞いて
554デフォルトの名無しさん:2009/03/14(土) 03:08:30
自己紹介、乙。
そんなヴァカ呼んでないから、「避難」してこい。
555デフォルトの名無しさん:2009/03/14(土) 04:45:16
テンプレ入りか
> Matz氏はXbyak見て「いずれは考えなきゃいけない」的なこと言ってたんだけどね。
556デフォルトの名無しさん:2009/03/14(土) 04:46:34
コテ団子の相手はするな。キチガイになっちまうぞ!
557デフォルトの名無しさん:2009/03/14(土) 05:44:29
>>553
自分の技術力をいくら上げても、無責任な発言ばかりしていると誰も君のことを信用しなくなるよ。気をつけたほうがいいと思う。
558,,・´∀`・,,)っ-●◎○:2009/03/14(土) 11:15:53
「JIT」について話してるのに
一番近くにある単語「Xbyak」を「検討」ということにしたがる思考短絡ぶりがゆとり脳
559,,・´∀`・,,)っ-●◎○:2009/03/14(土) 11:18:59
Matz氏はXbyak見て(JITの仕組みを)「いずれは考えなきゃいけない」的なこと言ってたんだけどね。

これでいいかな?
560,,・´∀`・,,)っ-●◎○:2009/03/14(土) 11:46:40
温度分布の立体グラフをExcelでプロットしたいんだが、なんかいい方法ある?
俺もゆとりだからCSVで吐き出して読み出すとか原始的な方法しか思いつかない
561デフォルトの名無しさん:2009/03/14(土) 12:10:49
隔離スレなのか、ここはw
562デフォルトの名無しさん:2009/03/14(土) 15:18:59
>>560
Excelなんかを使いたいなら、csvでいいんでない?

つーか、団子もそれに噛み付く奴も自分の言葉が足りてないことに気付けよ。
563デフォルトの名無しさん:2009/03/14(土) 18:37:07
ここはグダスレじゃないぽ
564,,・´∀`・,,)っ-○◎●:2009/03/14(土) 18:39:25
くだをまくスレです
565デフォルトの名無しさん:2009/03/14(土) 20:57:56
どのスレでもゆとり脳の団子が来ると荒れる。
そして人がいなくなる。
566デフォルトの名無しさん:2009/03/14(土) 21:02:45
まだゆとりがどうのこうの言ってる時代錯誤な奴がいるのか
567デフォルトの名無しさん:2009/03/14(土) 21:06:25
おまえはヒマになると2ch開いてるだろ?w
568デフォルトの名無しさん:2009/03/14(土) 21:29:38
お前は○○だろ

↑↑自分がそうだから他人も同じだと思っている奴の決まり文句
569デフォルトの名無しさん:2009/03/15(日) 01:33:02
○○な>>568
570デフォルトの名無しさん:2009/03/16(月) 00:57:27
Vista x64
Device 0: "GeForce 9600M GT"
4096 bodies, total time for 100 iterations: 663.110 ms
= 2.530 billion interactions per second
= 50.602 GFLOP/s at 20 flops per interaction
571デフォルトの名無しさん:2009/03/27(金) 14:21:17
>>567
暇じゃなくても開いてるわボケ
572デフォルトの名無しさん:2009/03/27(金) 14:35:28
忙しいときほど2ch開いちゃう、ふしぎっ
573デフォルトの名無しさん:2009/03/30(月) 08:24:15
■後藤弘茂のWeekly海外ニュース■
KhronosがGDCでGPUやCell B.E.をサポートするOpenCLのデモを公開
http://pc.watch.impress.co.jp/docs/2009/0330/kaigai497.htm
574デフォルトの名無しさん:2009/04/02(木) 02:16:00
素人質問で恐縮ですが……
Tesla C870を手に入れたのでCUDAで画像処理をしようとしているのですが、
CUDAでテクスチャフィルタリングユニットの機能を使うにはどうすればいいですか?
○○の○ページを嫁!で構いませんので、教えて下さい。
575,,・´∀`・,,)っ-●◎○:2009/04/02(木) 02:20:44
tex.filterMode = cudaFilterModePoint;
576デフォルトの名無しさん:2009/04/02(木) 05:33:53
>Tesla C870を手に入れたのでCUDAで画像処理をしようとしているのですが、
あー、8800GTXからアナログ回路を減らしてメモリを増やした、最早今となっては1万円ちょっとで買える
8800GTと数割程度しか能力の変わらない癖に値段は10倍以上と言う代物ですね。

テクスチャ関係は私はやってないからお役に立てませんがw
577デフォルトの名無しさん:2009/04/02(木) 19:49:08
MV探すのに16x16のSADをCUDAで計算してるんだけど、なんでこんなに遅いんですか?
578デフォルトの名無しさん:2009/04/02(木) 23:51:01
組み方が悪いんでしょ。
579デフォルトの名無しさん:2009/04/03(金) 00:09:14
SADするのに、組み方どうこうとかあるんですか?
テクスチャ使ってるのに、なんかキャッシュミス多い感じだし。。。
580デフォルトの名無しさん:2009/04/03(金) 00:29:06
>>575
ありがとうございます。
cudaFilterModePointでググったら、それらしいものが見つかりました。
ttp://forum.nvidia.co.jp/EokpControl?&tid=10733&event=QE0004
これから勉強します。
581デフォルトの名無しさん:2009/04/03(金) 10:15:13
>>579
コードも晒さず、自分の無知を曝け出し、文句だけ言うなんて、馬鹿なの?
582デフォルトの名無しさん:2009/04/08(水) 12:16:06
なんでこう沸点低いの?馬鹿なの?
583デフォルトの名無しさん:2009/04/14(火) 20:59:29
ION採用ミニデスクトップAcer AspireRevo、オンライン予約開始
http://japanese.engadget.com/2009/04/14/ion-acer-aspirerevo/
584デフォルトの名無しさん:2009/04/15(水) 18:41:51
Mac用の2.1ってツールちゃんと入ってる?
585デフォルトの名無しさん:2009/04/16(木) 23:29:47
誰かN10JでCUDA使ってる人いる?
N10Jにtool kitインスコしようとすると失敗するんだけど。。。
586デフォルトの名無しさん:2009/04/18(土) 23:08:34
今、ブロック数を増やして並列度をあげてみるといったことを
作った行列の積の計算にあててみようと思ったんだが

http://tech.ckme.co.jp/cuda_diff.shtml
に書いてるブロックを複数使った場合の問題は、カーネル内でブロック間の同期を
とる方法が存在しない点である。そのため、下記のプログラムでは、1回計算するたびに、
カーネルを終了し同期をとっている。

というのは1回毎の計算をホストにコピーしてやりたい回数分ループさせるというので
いいのかな?
587デフォルトの名無しさん:2009/04/19(日) 00:37:24
>>586
いちいちホストにデータ転送してたら時間もったいないでしょ?

つか参考にしてるページ見たけど、かなり酷いコードなんだが。。。
>>586が何をしたいかが具体的に判らないから、アドバイスしづらい。
588デフォルトの名無しさん:2009/04/19(日) 02:08:47
1ブロックの最大スレッド数を使った計算じゃ、GPUの処理速度がCPUに対して上回らなかったので
ブロック数を増やして計算しようと思ったんですが、1ブロック制限に到達した時、どうやって次のブロックに
移動すんのかが、記述の仕方がかなりよくわからないんです。

dim3 grid(16, 1, 1);
dim3 threads( 512, 1, 1);

testKernel<<< grid, threads, mem_size*2+sizeof( float)*2 >>>( d_idata, d_odata);

カーネルのほうの計算にこの値を元に何か記述すればいいとはわかってるんですが・・・
何か参考になるとこありませんか?
589デフォルトの名無しさん:2009/04/19(日) 03:34:08
>>588
大いに勘違いしている希ガス。
先ず第一に、>586のサイトは参考にならない。
第二に、スレッド数は必ずしも多いほど速いと言う訳ではないし、共有メモリは使わないで済むなら使わない方がいい。
第三に、行列の積の計算なら、NVIDIAのプログラミングガイドにそれなりのサンプルがある。
590デフォルトの名無しさん:2009/04/19(日) 21:23:36
>>589
レスサンクス、ガイドとSDKもう一回見てきます
591デフォルトの名無しさん:2009/04/20(月) 22:01:56
CUDAスレって何でこんなに勢いが弱いの?
592デフォルトの名無しさん:2009/04/20(月) 23:13:01
ぶっちゃけ2年後位には廃れてると思うからやる気がしない
日本語資料少ないし

.netでもやってる方がつぶしがきく
593デフォルトの名無しさん:2009/04/21(火) 14:56:41
そうか、GPGPUだと他にまともな環境はないだろ
594,,・´∀`・,,)っ-○◎○:2009/04/21(火) 20:06:27
GPUにこだわる意味がないっていう
595デフォルトの名無しさん:2009/04/21(火) 20:59:48
みんなcellで思い知っただろ?
そういうことだ。
596,,・´∀`・,,)っ-○◎○:2009/04/22(水) 05:34:39
.NETかGPGPUか選べる立場なら前者でいいんでない?
宗教上の理由でGPUの中でしか選択できない人がいるのももちろん知っております
597,,・´∀`・,,)っ-○◎○:2009/04/22(水) 05:44:26
598デフォルトの名無しさん:2009/04/22(水) 12:06:34
ドトネトなんてLinuxで動かないじゃん。
*BSDでも動かない。糞。

とにかくGCCで動くようにしろよ。話はそれからだ。
599デフォルトの名無しさん:2009/04/22(水) 16:21:07
.NETはmonaで動くだろ
600デフォルトの名無しさん:2009/04/22(水) 16:25:47
モナー
601デフォルトの名無しさん:2009/04/22(水) 17:03:27
.NETはMONOで動くが、GCCで.NETアプリってコンパイルできたっけ?
602,,・´∀`・,,)っ-○◎○:2009/04/22(水) 22:19:21
CUDAかC#かって、ベクトルが全然別ですがな

>>601
Mono入れたらmcsってコンパイラが使えるようになるはずだが。。。
貴殿はGCCに入ってないという理由でPerlやPHPをも嫌うのですか?
603デフォルトの名無しさん:2009/04/22(水) 22:45:40
問題はなぜこのスレは勢いがないのかってことだ
604デフォルトの名無しさん:2009/04/22(水) 23:07:34
CUDAとOpenCLの認識の仕方として、
抽象レイヤ的にこんな感じかな??

APP
--------
C/C++
--------
OpenCL
--------
CUDA
--------
driver and runtime
605,,・´∀`・,,)っ-○◎○:2009/04/23(木) 06:04:45
>>603
見た目簡単そうに見えて実は使いづらくて、本質はCellよりも更に応用分野は厳しいからね。

「CPUの数十倍とか言ってたけど全然遅いじゃん!」で、使い方を理解しないままみんな匙j投げる
いや、使い方がわかったところで、その正しい使い方が、本質的に目的のアプリケーション向きじゃなかったり。
606デフォルトの名無しさん:2009/04/23(木) 07:22:35
そうそう、その演算だけに絞れば確かに速いんだけど、アプリケーション全体で見るとXeonに勝てなかったりね。
ボードメーカ側も自覚しているらしく、私の客先でのCUDA開発は2チップGPUボード4枚挿しするところまでいってしまっているし。
607デフォルトの名無しさん:2009/04/23(木) 09:11:40
どうせララビーも期待外れに終るさ
608デフォルトの名無しさん:2009/04/23(木) 16:09:19
nv社員乙w
609デフォルトの名無しさん:2009/04/23(木) 20:57:12
Larrabeeは、たかがx86、されどx86だな

Atomに毛が生えたような小規模なx86コアが数十コアあったら何が出来る?
汎用プロセッサとしては程度が知れてる分、逆に落胆しようがない。
良くも悪くも身の丈以上の期待はされてないからな。
610デフォルトの名無しさん:2009/04/23(木) 21:20:24
流れをぶった切るが
GeforceはCELLより変態的な構造って認識でおk?
611,,・´∀`・,,)っ-○◎○:2009/04/23(木) 21:43:53
餅は餅屋
612デフォルトの名無しさん:2009/04/23(木) 23:47:54
色々調べて見たけど結局CUDAのsuper piはまだ出てないんだな
CPUとGPUの比較が出来ると思ったのに
613デフォルトの名無しさん:2009/04/24(金) 05:23:51
むしろスーチーパイがもっとリアルにぬるぬる動けば…
614,,・´∀`・,,)っ-○○○:2009/04/24(金) 06:37:53
>スッチーのπ
まで読んだ





とりあえずPTXの自己コンパイルは最低限だろ

どっかの営業さんが言うにさ
「たとえCPUより速くなくとも、CPUでやってる仕事を肩代わりしてやることが
出来るだけでも使う価値があるんじゃないでしょうか」

いや、それのお膳立てのためにCPU時間食うから本末転倒なのよ。
615デフォルトの名無しさん:2009/04/24(金) 06:44:16
>「たとえCPUより速くなくとも、CPUでやってる仕事を肩代わりしてやることが
>出来るだけでも使う価値があるんじゃないでしょうか」

そういうことを臆面もなく語る営業マンを一人知っているんだけどw
同一人物と考えてよさそうだな。
616デフォルトの名無しさん:2009/04/25(土) 00:58:56
肩代わりしてやるなんて大それたことを無理に言い張るから、おかしくなるんだよね。
重要なのは、CPUとGPUとが各々の得意分野を担当し、住み分けをすることだろう。
GPUは汎用計算に向いていないのだから無理にGPUを使わずCPUを使えばいいし、
3Dゲームや科学技術計算などGPUの方が効率的な計算でGPUを使えばいいんだよ。

いわゆるアインシュタインとタイピストの喩えだ。
アインシュタインが優れた物理学論文を清書してもらうためにタイピストを雇ったら、
なんとまあそのタイピストよりアインシュタインの方がタイプが速かったとしよう。
じゃあ、そのタイピストを解雇すべきか?答えは否だ。タイプはタイピストに任せ、
アインシュタインは少しでも長い時間、優れた物理理論を考え出すことに費やすべきだ。
それが最も効率がいい。
617デフォルトの名無しさん:2009/04/25(土) 01:48:13
>>615
営業ならだいたい同じこと言うんじゃねぇか?
618デフォルトの名無しさん:2009/04/25(土) 03:57:19
>>616
>答えは否だ。
いや、答えは科研費の額によるだろうw
619デフォルトの名無しさん:2009/04/25(土) 05:08:45
>>616
タイピストに指示だすのに、タイプするのと同じような時間がかかるから問題なんじゃね?
620,,・´∀`・,,)っ-○○○:2009/04/25(土) 06:42:29
清書する段階で更に考えても無駄だろう
621デフォルトの名無しさん:2009/04/25(土) 15:20:06
CPUを管理職、GPUを部下に例えてみよう。
CPUからGPUへの指示の中身が足りなかったりすると
CPU-GPU間のやりとりが増えてしまい遅くなる。
CPUから指示する内容がGPUの能力を超えると
なかなか結果が返ってこない。

逆にCPUの能力が低いとGPUへの指示や対応が遅くなる。
GPUの仕事に信用がおけないとCPU側でのチェックが
必要となり負荷となる。
GPUはCPUほど守備範囲は広くないし経験も少ない。

よいCPUやGPUを入手するには予算が必要である。
またCPU、GPUを動かし続けるには経費がかかる。(電気代、冷却設備)
あまり負荷をかけるとうるさくなったり、たまに壊れたりする。
overclockによる故障は保証の範囲外であることに注意。
622デフォルトの名無しさん:2009/04/25(土) 15:22:15
GPUのIPコアが強化されれば良いんだが。
それをしようとして、intelに待ったを掛けられたんかな。
623デフォルトの名無しさん:2009/04/25(土) 16:40:02
チップセットのバスライセンスと何の関係が?
624デフォルトの名無しさん:2009/04/25(土) 18:21:57
たとえ話にすると細部の理解が必要ないから生半可な知識でも初心者が騙せて優越感に浸れてうめぇw

っていつも思う。
625デフォルトの名無しさん:2009/04/25(土) 21:11:34
CPUとGPUは、お互いに交わる方向で
じきに差は無くなるんだろ
GPUいらねでおわりじゃねーの
626デフォルトの名無しさん:2009/04/25(土) 21:13:38
昔GPGPUスレに書いたが、別のパラメータで同じコンテキストの処理をするようなときに
高速に処理できるのがGPUの利点。
別々のコンテキストが必要なら、丁度良いマルチプロセシングの環境を探しなさい。

どちらも歩み寄っているようだけど、ゲーム屋的には、現行世代機的なトランジスタ
バランスのマシンが次世代にも欲しいところ。
627626:2009/04/25(土) 21:15:48
>>625
似たようなコストで作れるならな。
見当付いてるなら特許とって今すぐ始めるのがいいぞ。
628,,・´∀`・,,)っ-○○○:2009/04/25(土) 22:56:05
GTX280って28SMじゃなかったか?
629,,・´∀`・,,)っ-○○○:2009/04/25(土) 22:57:21
260のほうか
280は30か
630デフォルトの名無しさん:2009/04/26(日) 17:16:50
>>619
常識的に考えてそんなことは起こらんだろ。
仮にタイピストに指示だすのにタイプするのと同じくらい時間がかかるなら、
それはこの喩えが適用できないケースだってだけの話だろう。

GPUに命令だすのにGPUで計算するのと同じくらいCPU時間がかかるなら、
そりゃGPUを使うのが不適切なケースだってだけのこと。

>>620
いや、清書してもらうのは既に考え出した理論であって、アインシュタインは
タイピストが清書してる間に次の理論を考えるんだよ。
631デフォルトの名無しさん:2009/04/26(日) 17:24:31
たとえ話にすると細部の理解が必要ないから生半可な知識でも初心者が騙せて優越感に浸れてうめぇw

っていつも思う。
632,,・´∀`・,,)っ-○◎○:2009/04/26(日) 17:34:27
>>631に全面的に同意
633デフォルトの名無しさん:2009/04/26(日) 18:23:11
634デフォルトの名無しさん:2009/04/26(日) 23:38:55
>>625
ジョンカーマックが昔言ってたわな。それ。
ま、今は宇宙大好きっ子になっちまったが。
635デフォルトの名無しさん:2009/04/27(月) 01:38:03
>>630
GPUを使うのが不適切なケースばっかりなのが問題。
636デフォルトの名無しさん:2009/04/27(月) 09:13:30
アインシュタインは一人しかいないけど、CPUとGPUがアインシュタインとタイピストのような関係なら、
CPU増やせばいいんじゃね?無理にGPUにしなくても。
637,,・´∀`・,,)っ-○○○:2009/04/27(月) 21:24:06
なんにも出来ないのになんでも出来ますと宣伝してるから問題なわけで。
638デフォルトの名無しさん:2009/04/28(火) 09:16:56
そらあんた、ドラッグレーサーをそれなりに走らせるためには適当なコースとそこまで運ぶためのトランスポーターと
燃料などの消耗品が必要になりますがな。

>>638
>631
639デフォルトの名無しさん:2009/04/28(火) 12:52:26
>>637 団子
自己紹介、乙。
640,,・´∀`・,,)っ-○○○:2009/04/28(火) 21:36:19
だんごやさんだよ
だんごせんもんてんだよ
641デフォルトの名無しさん:2009/04/29(水) 15:05:31
AviUtlがCUDAに対応するのを待つか…
642デフォルトの名無しさん:2009/04/30(木) 21:33:03
某フィルタでシェーダで書いたより遥かに遅くて駄目だしされたような
643デフォルトの名無しさん:2009/05/03(日) 00:16:21
今日、CUDASDK入れてみた。CudaSetup-2.1とNVIDIA_SDK10_CUDA_2.10の入れる順番なのか
環境変数でコンパイルエラー、何度かやっているうちになんとか、サンプルが起動できるようになった。
SDKのサンプルはどこにインストールしているんだ アホか C:\に持ってきた。
サンプルへのパスを追加してやっとコンパイル、起動できた。

644デフォルトの名無しさん:2009/05/03(日) 00:24:59
>>643
2.1のサンプルって意味不明なとこおかれるよね。
VistaのUAC対策かと勝手に思ってるけど。
645デフォルトの名無しさん:2009/05/03(日) 06:12:04
NVIDIAは昔っから何でもそう。
ドライバも一旦C:\に展開してからインスコしてくださりやがる。
まぁ、GCCやそれ用のライブラリが、スペースの入ったパスを
嫌うからかも試練。
646デフォルトの名無しさん:2009/05/04(月) 00:48:26
2.0はちゃんとProgram Files配下に置かれてたよ。
647デフォルトの名無しさん:2009/05/04(月) 23:00:36
>>635
GPUはゲームや科学技術計算では実績をあげているので、
不適切なケースばかりではないだろう。

>>636
アインシュタインという不世出の天才物理学者と
タイピストという(当時は)いくらでもいた職業を
比較しているのが、この喩えの肝なんだよ。

CPUのコアを1個増やすより、GPUのSPを1個
(10個でもいい)増やす方が、ずっと簡単だろう。
648,,・´∀`・,,)っ-○○○:2009/05/04(月) 23:23:48
別にCPUコアなんて年間何億個でも量産できるだろ
649デフォルトの名無しさん:2009/05/05(火) 05:38:26
タイピストが何人もいても意味無いだろw
650デフォルトの名無しさん:2009/05/05(火) 22:12:00
こんなコア橋の下に捨てますよ!
651デフォルトの名無しさん:2009/05/06(水) 08:41:31
Compute Capability 1.3 の GeForce って、GTX だけ?
GTS とかはだめなの?
ファンがうるさいのはやだな〜
652デフォルトの名無しさん:2009/05/06(水) 12:29:08
GTSは9800シリーズのリネーム
653デフォルトの名無しさん:2009/05/09(土) 23:52:17
初歩的なこと聞くけど、これってグラボ一台でもできるよね?
表示用と別にCUDA専用のグラボって必要?
654デフォルトの名無しさん:2009/05/10(日) 06:05:44
>>653
その程度が分からないと厳しいかと思いますよ。
分からなくても、やってみて駄目だったら買い足すってことで問題ないと思うけど。
655デフォルトの名無しさん:2009/05/10(日) 12:20:36
656デフォルトの名無しさん:2009/05/10(日) 18:27:35
>>655
赤くなっている。。。
GTS250持っているからできると思ったんだけど、二台必要なのかな?
GPUGRIDに参加しようかと思ったらドライバ入れてるのにCUDA対応のデバイスが見つかりませんっていわれるし・・・・。
657デフォルトの名無しさん:2009/05/10(日) 20:56:39
1台でも使える。
ただ処理中に画面が固まってOSが制御不能になることがある。
658デフォルトの名無しさん:2009/05/10(日) 21:24:34
>>657
うーん、CUDAがちゃんと入ったかどうか確認する方法ってありますか?
659デフォルトの名無しさん:2009/05/11(月) 15:35:15
PyCUDAなんてあるのか、おもしろそう
660,,・´∀`・,,)っ-○◎●:2009/05/11(月) 20:57:31
RuCUDAが必要だな
661デフォルトの名無しさん:2009/05/11(月) 21:41:12
>>656
参加したいGPUGRIDがどんなのか分からんが、
もし、倍精度浮動小数点の演算が必要なものなら、
GTX200シリーズじゃないと無理。

ちなみに、モニタがつながっているかPhysX指定がされてないと、
CUDAでデバイス列挙されないぽい。
662デフォルトの名無しさん:2009/05/12(火) 01:29:13
Py損とかルビィとか手続き型スクリプト言語は向かんだろ。
ocamlとか、Earlangとかの関数型言語をGPGPU対応に
した方が御利益は大きいんじゃね?

並列計算の場合、副作用とか、計算の依存関係が有ると
性能出ないんで…。
663デフォルトの名無しさん:2009/05/12(火) 22:31:21
Earlang(笑)
664デフォルトの名無しさん:2009/05/16(土) 00:29:01
統計解析ソフト「R」用のパッケージ「gputools」:
ttp://cran.r-project.org/web/packages/gputools

これのWindows版バイナリを作ってくださるネ申はいらっしゃいませんでしょうか。 m(゚-゚;)カミサマ…
665デフォルトの名無しさん:2009/05/16(土) 10:27:22
>>660
こんなのはあるみたいですが
http://ruby-opencl.rubyforge.org/
666デフォルトの名無しさん:2009/05/18(月) 17:38:13
GPUの計算部分で
レジスタを多く使っちゃうようにコンパイラで最適化されちゃうんだけど
部分的に無効にする方法はありませんか?
667,,・´∀`・,,)っ-○○○:2009/05/18(月) 20:36:57
volatile
668デフォルトの名無しさん:2009/05/18(月) 23:05:56
>>667
?volatileは最適化から外すだけで、レジスタには適応されるっしょ

つか>>666 のレジスタ使ったら嬉しくない事ってのが想像できない。。。
669デフォルトの名無しさん:2009/05/18(月) 23:42:16
>>648
SPだって年間何億個でも量産できるけど。

>>649
誰も、GPUを何個も用意しろとは言ってない。
670,,・´∀`・,,)っ-○○○:2009/05/18(月) 23:56:12
>>668 volatile __shared__
671デフォルトの名無しさん:2009/05/19(火) 09:21:51
>666の動機によっては__shared__では何の解決にもならないような。
確認していないけれど、恐らくレジスタを使い回さずに消費しまくる方が速いんだろうねぇ。
672デフォルトの名無しさん:2009/05/26(火) 14:36:24
SP2+未公開パッチで7RC以上に軽くなってるよ

Windows Vista SP3 Part1
http://pc12.2ch.net/test/read.cgi/win/1241571715/225
673デフォルトの名無しさん:2009/05/26(火) 14:38:56
ゴバーク
674デフォルトの名無しさん:2009/05/29(金) 18:11:27
SSE 4コアフルに使ったら
最上位品でも大差ないw
675デフォルトの名無しさん:2009/05/30(土) 15:06:57
http://code.google.com/p/thrust/
>Thrust is a CUDA library of parallel algorithms with an interface resembling the C++ Standard Template Library (STL).
676,,・´∀`・,,)っ-○○○:2009/05/30(土) 18:16:26
きた!STLきた!これで勝つる!  


ないない
677デフォルトの名無しさん:2009/05/30(土) 21:28:10
brookみたいだな。
678デフォルトの名無しさん:2009/06/02(火) 17:20:15
仮想マシン上でCUDAのインストールに成功した方はいらっしゃいますか?
当方、ホストOS:Vista、ゲストOS:Ubuntu8.04です。
仮想マシンであるUbuntu上で、NVIDIAドライバ: NVIDIA-Linux-x86-180.22-pkg1.runを起動してみました。
すると、「 You do not appear to have an NVIDIA GPU supported by the 180.22 NVIDIA Linux graphics driver installed in this system」とエラーがでました。
GPUは、GeForce 9800 GTです。どなたか、アドバイスお願いします。
679デフォルトの名無しさん:2009/06/02(火) 17:50:02
仮想マシンは無理
680デフォルトの名無しさん:2009/06/03(水) 02:45:20
>>675
合計なんかCUDAでやって早くなるのか?
681,,・´∀`・,,)っ-○○○:2009/06/03(水) 02:49:18
分割統治法は並列化の基本だな
682デフォルトの名無しさん:2009/06/03(水) 10:53:10
合計求めるのは苦労したなぁ。
結局、分割数(128とか256とか)置きに足していって、その結果はPCで足した記憶がある。
683デフォルトの名無しさん:2009/06/03(水) 11:18:35
とりあえず公式の3つをインストールしたのですがTMPGEncで確認できませんみたいなことを言われました。
インストールするだけではcudaの恩恵を与れないのでしょうか?
684デフォルトの名無しさん:2009/06/03(水) 11:31:01
すいません、直ぐ解決しましたorz
クダがちゃんと動いているか確認したいのですが方法はありますでしょうか?
685デフォルトの名無しさん:2009/06/03(水) 11:57:52
>>684
SDKをインストールしたのなら、サンプルもインストールしてビルドしてみよう。サンプルが動けば、大丈夫。
# 特に、deviceQueryは便利。
686デフォルトの名無しさん:2009/06/03(水) 14:12:00
こんにちは。CUDA初心者です。質問があります。
Visual C++ 2008、CUDA tool kit ver2.1、CUDA SDK ver2.1
で、サンプルのsimpleCUBLASをビルドすると、
1>LINK : fatal error LNK1181: 入力ファイル 'cutil32D.lib' を開けません。
と出ます。
そこで、CUDA SDKのlibを調べたところ、
cutil64D.libがあり、32のほうはありませんでした。
この場合、どうすればビルドできるのでしょうか?
687デフォルトの名無しさん:2009/06/03(水) 15:00:01
リリースバージョンをリンクする。
688デフォルトの名無しさん:2009/06/03(水) 16:01:01
リリース構成でビルドしたところ、今度は、
1>LINK : fatal error LNK1181: 入力ファイル 'cutil32.lib' を開けません。
と出ました。
CUDA SDKには、64があり、32はありません。
32と64の違いって一体何なのでしょうか・・・
689デフォルトの名無しさん:2009/06/03(水) 16:17:51
パスが通ってないんだろ
690デフォルトの名無しさん:2009/06/03(水) 17:07:17
OSが64bitだと、32bitのCUDAライブラリはインストールされなかったような。
691デフォルトの名無しさん:2009/06/03(水) 17:07:40
ご回答ありがとうございます。
パスが通っていないということですが、
「パスを通す」について、詳しく説明していただけませんか?
知識不足で申し訳ありません;;
692デフォルトの名無しさん:2009/06/03(水) 17:43:34
環境を名に使ってるかによるが、
Visual Studioだとプロジェクトのプロパティからインクルードするファイルがあるディレクトリのパスと、
libがあるディレクトリのパスをついかする
linuxだとコンパイラのオプションに追加する

詳しくはぐぐれ
693デフォルトの名無しさん:2009/06/03(水) 18:04:37
何度も回答していただきありがとうございます。
リンカの追加ライブラリを調べたところ、
ちゃんと、SDKのcommon/libが指定されてました。
しかし、この中には、cutil32.libではなく、64があります。
ということは、690さんのおっしゃるとおり、
32bitのCUDAライブラリはインストールされなかったということなのでしょうか?
もしそうでしたら、サンプルプログラムは64bitに対応してないが、
自分でプログラムを作る分には、上記のようなエラーはでないということでしょうか?
694デフォルトの名無しさん:2009/06/03(水) 23:53:30
サンプルのリンカ設定を編集して64bitのライブラリをリンクすればいいんじゃね?
695デフォルトの名無しさん:2009/06/04(木) 13:12:53
アクティブソリューションプラットフォームとプラットフォームをWin32からx64へ変更したところ、
エラーがなくなりました。
そのかわり、
1>------ ビルドのスキップ: プロジェクト: simpleCUBLAS ------
1>
========== ビルド: 0 正常終了または最新の状態、0 失敗、1 スキップ ==========
とスキップしてしまいました。
何が原因なのでしょうか・・・
696デフォルトの名無しさん:2009/06/04(木) 18:26:30
threadIdx.xがうまく値を返さなく困っています。
最小のプログラミングだと ちゃんとした値を確認できるんですけど、
規模のあるプログラム書いた物では、threadIdx.xをみると最大でも1000以内の数値が40000を超えていたりします。

かなりラフな書き方していて、グローバル変数使いまくってるのが意見ないのでしょうか?
__device__  kouzoutai[2000];//グローバル変数
とか宣言しまくって搭載メモリーを超えちゃってるかもしれませんが、その時は明確なエラーとか出ますか?
697デフォルトの名無しさん:2009/06/04(木) 19:59:22
エラーは基本的に出ない
698デフォルトの名無しさん:2009/06/05(金) 09:08:24
>>696
threadIdxはプログラムで変更できないと思うが。
どうやってthreadIdx.xを「みる|確認できる」としたのか知らんが、その手段を確認すべきでは?
ptx出力を眺めればthreadIdx.xをコピーした先で壊してたりするのが分かるんじゃない?
グローバル変数にたった2000要素くらいなんてことないと思うが、巨大な構造体でも置いてるの?
あーそれから、メモリをオーバフローしてもコンパイルエラーも実行時エラーも出ないどころか、
突然システムごとフリーズするかもしれないから覚悟しておいてね。
699デフォルトの名無しさん:2009/06/06(土) 17:41:22
>>501
   ?
  ∧∧
  (´・ω)
 _|⊃/(___
/ ヽ_(____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
700デフォルトの名無しさん:2009/06/07(日) 01:25:14
寝た子を起こしたなw
701デフォルトの名無しさん:2009/06/08(月) 08:06:10
>>699
  !
  ∧∧
 (・ω・ )
 _| ⊃/(__
/ ヽ-(___/
 ̄ ̄ ̄ ̄ ̄ ̄
702デフォルトの名無しさん:2009/06/08(月) 20:11:26
 
  あ"
  ∧∧
 (◎ω◎)
 _| う/(__
/ ヽ-(___/
 ̄ ̄ ̄ ̄ ̄ ̄
703デフォルトの名無しさん:2009/06/09(火) 23:30:40
>>701
     オハヨー!!
    ∧∧ ∩
    (`・ω・)/
   ⊂  ノ
    (つノ
     (ノ
 ___/(___
/  (___/
 ̄ ̄ ̄ ̄ ̄ ̄
704デフォルトの名無しさん:2009/06/10(水) 20:07:54
質問。
グリッド・ブロック・スレッドのカーネル側での計算への応用方法が
よくわからないのですが・・・・特に動きです。

const unsigned int tid =blockIdx.x * blockDim.x + threadIdx.x;
がスレッドIDを示しているというのはわかるのですが・・・

for(int x=0;x<height;x++)
for(int y=0;y<width;y++){
        sum=sum+tex2D(tex, x, y)*((float)(cos((M_PI*((x*width+y)+0.5)*tid)/number)));

}
outputdata[tid]=sum;

の中で、tidはどういう働きをしてるんでしょうか?
特に回収する配列であるoutputdataの動きが知りたいです。
わかる方ご教授お願いします・・・


705デフォルトの名無しさん:2009/06/12(金) 04:58:52
>>703
  ∧,,∧
 ( `・ω・) ウーム…ここは?
 / ∽ |
 しー-J
706デフォルトの名無しさん:2009/06/12(金) 09:52:33
>>704
何が判らんのか判らん。
tidが個別のデータスレッドの番号を指すように働くことが判っているなら、

その番号でoutputdataにアクセスしていることくらい判りそうなもんだが。

仮に、blockDimが4でgridDimが2だとしたら、blockIdxは0か1、threadIdxは0から3になるわけで。
つまりはtidは0から7になるわけだな。

つーか、VIPのWikiにも情報があるよ。
http://vipprog.net/wiki/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E/CUDA.html
707デフォルトの名無しさん:2009/06/13(土) 00:18:28
>>730
カウンター3連打って言うけどスローで見るとカウンター2発に追撃1発って感じ
まあそれでも凄いって言うか、何この異次元映像w
もはや芸術的とか圧倒的とかそういうレベルを超越していて笑いしか出てこないわけだが?www
しかもメディナは立ち上がるしww不死身かwwww
この試合はボクシング以外の何か別の競技だわwwwwwwww
708デフォルトの名無しさん:2009/06/13(土) 00:24:10
誤爆すまそ
俺が代わりに言っといてやったぜ
709デフォルトの名無しさん:2009/06/13(土) 01:35:36
CUBLASに加えてCULAPACKとか用意して欲しい
LU分解もできない環境なんて
710デフォルトの名無しさん:2009/06/13(土) 04:07:09
GPGPUはDirectX11で花開くんだろ。
エンコード高速化対応お待ちしております。

DirectX 11講座(中編)
非ゲーマーのアナタのパソコンも
DirectX 11演算シェーダーでスーパーコンピューターに変身する!
http://game.watch.impress.co.jp/docs/series/3dcg/20090327_79998.html
GPGPUの場合は、組んだGPGPUプログラムがATIかNVIDIAのどちらかでしか動かない、
踏み絵的な「ATI対NVIDIA」なのだ。
これではGPGPUの進化、発展、普及が望めない。
そこでGPGPUの標準化プラットフォームが強く望まれるようになった。
このGPGPU標準プラットフォームを、Windows環境下で提供しようと出てきたのがDirectX 11ということになる。
DirectX 11は、このGPGPUの標準プラットフォームとして「DirectX Copmute Shader」(演算シェーダー)を提供する。


演算シェーダーでなにができるのか
http://game.watch.impress.co.jp/img/gmw/docs/079/998/html/3dd1103.jpg.html
711デフォルトの名無しさん:2009/06/13(土) 08:42:36
>>710
エンコードって意外に並列処理できる箇所少ないんだけど。。。CUDAでどのベンダも対応してこないのはそのため。
Compute Shader出てきても状況は変わらないと気が
712デフォルトの名無しさん:2009/06/14(日) 15:19:59
それマルチ
713デフォルトの名無しさん:2009/06/14(日) 18:56:21
今日本屋見てきたけど
CUDAの入門書とかって無いね。
世の中にはあるのかな。
714デフォルトの名無しさん:2009/06/16(火) 16:56:23
__device__ int particle_position[30][30][50][30];
__device__ int particle_position_num[30][30][50];
 :
とか
__device__ __constant__ float K_dWpress;
 :
な感じで、結構たくさんグローバル変数をデバイス側に作ってるんだが、
これって、CUDA的にやっていい手法?てか数次元配列ってカーネル関数内で普通のcっぽくアクセスできる?

とりあえずメモリは足りるみたいだから、デバイスホスト間でのデータ転送は基本的にしなくて、
結果のみホスト側に持ってきたいんだけど。

コンパイルエラーはないけど、カーネル起動させたあとエラーが出て、
一瞬画面が消える。
715714:2009/06/16(火) 17:22:05
追記
ちなみに、Emuモードだと問題なく終了できます。
716デフォルトの名無しさん:2009/06/16(火) 17:29:37
>>714
CUDAはメモリ管理なんてしないから、デバイス側の変数がどれだけあるのか自分で把握すること。
一瞬画面が消えるのは表示用とCUDA用を同じGPUでやっている所為だと思われ。
もっと酷いときはフリーズするから要注意で。
717デフォルトの名無しさん:2009/06/16(火) 23:29:13
CUDA初心者です。

サンプルをいじくっているのですが、いくつかわからないことがあり質問させてください。

@テクスチャメモリ
キャッシュが効くからグローバルメモリよりも高速との事ですが、
時間を計ってみるとグローバルメモリと変わらない・・・。
どのような用途で使用するのでしょうか?

A異なるカーネル関数の同時実行
ブロック、スレッド数を決めてカーネル関数を実行しますが、
cudaThreadSyncrinize関数やメモリコピー関数を呼ばなければ
同期待ちはしないですよね?
であれば、カーネル関数を2つ書いたときに同時実行するのでしょうか?
マニュアルを見る限りではできないようですが、会社の先輩が出来るというのでホントかなと。

お分かりの方宜しくお願いいたします。
718デフォルトの名無しさん:2009/06/16(火) 23:32:51
俺も初心者だが。

1. 線形補完できるよ! 速度面で違わないなら、それ以上はどう違うのか知らん。

2. なんか俺の動かしてる感触だと同時実行してる気がする。 少なくともCPUとGPUで同期はしていないよ。
719717:2009/06/16(火) 23:59:21
>>718

サンクス。

@は線形補間機能があるのは存じていますが、
補間せず生データを使用したいものでして・・・。

Aは自分でも本家CUDAZONEで調べてみましたが、どうもできないっぽいです。

http://forums.nvidia.com/index.php?showtopic=84740&hl=cudaStreamSynchronize

このスレの前にもありましたね。
よく見てませんでした、すみません。
cudaStream〜って何のためにあるんだか。
720デフォルトの名無しさん:2009/06/19(金) 00:40:24
CUDAを始めようかと考えていますが、下記の様な処理はCUDAで速くなりますか?

721デフォルトの名無しさん:2009/06/19(金) 00:55:31
function hoge(const b:string):boolean;
begin
result:=true;
end;
722デフォルトの名無しさん:2009/06/19(金) 00:58:07
>>720
すみません、間違えて書き込んでしまいました。
改めて、
typedef struct _table_t {
float x,float y, float z;
} table_t;

typedef sturct _vec {
float vector[4];
} vec;

typedef union _vtemp_t {
vec V[3], table_t data[4];
} vtemp_t;

table_t DATA[100];(DATAにいろいろと情報をが入っている)
vtemp_t temp;
temp.data[0] = DATA[15];
temp.data[1] = DATA[43];
temp.data[2] = DATA[11];
temp.data[3] = DATA[80];
(tempのメンバdataにDATAの値をランダムに代入)
メンバdataがもつ、x、y、z情報をメンバVにx、y、z毎にまとめたいです。例えばこんな感じに。
V[0] = {data[0].x, data[1].x, data[2].x, data[3].x};
V[1] = {data[0].y, data[1].y, data[2].y, data[3].y};
V[2] = {data[0].z, data[1].z, data[2].z, data[3].z};
CellとかSSEならSIMDを使って出来ると思いますが、CUDAでも速くなるなら、
CUDAをやってみようかと思っています。


723デフォルトの名無しさん:2009/06/19(金) 01:25:58
それ計算じゃなくてただのメモリ転送じゃん。 CUDAでやることじゃないよ。
724デフォルトの名無しさん:2009/06/20(土) 14:41:38
Mac でCUDAをやろうとしています。
/Developer/CUDA/lib/にあるライブラリをライブラリのサーチパスに含めるには
どの環境変数を設定すればよいのでしょうか?
LD_LIBRARY_PATHに追加してみたのですが、サーチしてくれません
725デフォルトの名無しさん:2009/06/20(土) 14:43:15
>>724
DYLD_LIBRARY_PATH
726デフォルトの名無しさん:2009/06/20(土) 15:02:09
>>725
早速の回答ありがとうございます。
DYLD_LIBRARY_PATH に追加してみたのですがやはりうまくいきません。
ちなみに-Lで指定すればうまくいきます。
727デフォルトの名無しさん:2009/06/20(土) 18:11:27
Coalesced、Non-Coalescedって簡単にいうとどういうこと?
728デフォルトの名無しさん:2009/06/20(土) 18:14:29
729デフォルトの名無しさん:2009/06/20(土) 18:18:03
>>728
よくわからん
730デフォルトの名無しさん:2009/06/20(土) 20:19:04
731デフォルトの名無しさん:2009/06/20(土) 21:42:57
大前提として、ブロック内でデバイスメモリにアクセスするアドレスが連続していたら、コアレス。
んで対応アーキテクチャによってスレッド単位でアドレスが連続している必要があったりする。

まぁ簡単に言うと、バス幅有効活用できまっせ適な使い方をイメージすればいいかと。
なんでそのバス幅でアクセスできるアラインを考える事になる。
732デフォルトの名無しさん:2009/06/20(土) 23:08:40
>>726
実行時じゃなくて、ビルド時のリンクのこと?
DYLD_LIBRARY_PATHは関係ないから-Lでやってね。
733デフォルトの名無しさん:2009/06/21(日) 01:03:25
>>726
LIBRARY_PATHでできなかったっけ?
734デフォルトの名無しさん:2009/06/21(日) 06:52:13
配列で最初と最後の変数だけ別の処理をしたいのですが、
どのように書けばよいのでしょうか?
従来のプログラムの場合、配列がa[N]だったばあい、
for(i=1;i<N-1;i++)と書けばよいのですが、
CUDAのカーネルで処理する場合どのようにすればよいのでしょうか?
735デフォルトの名無しさん:2009/06/21(日) 07:45:47
>>734
とりあえず、現状のカーネル書いてくれれば教えやすいのに
736デフォルトの名無しさん:2009/06/21(日) 14:51:04
NVIDIAが配布しているということで、PhysXの質問をさせて下さい。

キネマティックなアクターが物体と接触した時に受ける力の取得方法が分かりません。
ご存知の方がいらっしゃいましたらご教示下さい。
737734:2009/06/21(日) 17:50:38
>>735
例えば、今は

__global__ void test(int thread_size, int one_size, float *res_d)
{
    int bx = blockIdx.x;
    int tx = threadIdx.x;
    int pos = bx * thread_size + tx;
    if (pos==0)
        res_d[pos] = cos(res_d[pos]);
    else
        res_d[pos] = sin(res_d[pos]);
}

このように、if文で0とN-1の場合だけ別の処理をするようにしているのですが、if文は遅くなるので、避けたいのですが。

具体的にやりたいのは、3次元の偏微分方程式を解く際の境界条件部分の計算です。
この場合各面、各辺、各頂点合わせてif文が20個以上になってしまいます。

何か良い方法はないでしょうか?
738デフォルトの名無しさん:2009/06/21(日) 18:12:51
>>737
最初と最後だけ別の処理なら、そこはCPUに任せて、
残りをGPUにやらせればいいと思うけど、それじゃだめなん?
posを+1して、並列数をN-2にすればいけそうだと思うけど。

あと、そのソースだと N-1 の処理が別になってない気がするのと、
posがN以上かどうかのチェックが無いのが気になる。
(ソースは単に省略しただけで、チェックはそもそも必要ないように組んでるのかも知れないが)
739デフォルトの名無しさん:2009/06/21(日) 18:53:40
>>737
一般的にアセンブリレベルで分岐をなくしたいときは、こんなテクニックを使ったりする。

// i == Nのときだけsinをcosにする

float s = sin(なんとか);
floac c = cos(なんとか);
int b = i == N; // true が (int)1に変換されることを期待する
return (c * i) + (s * (1 - i));

もちろん3行目は実装依存なので、プロセッサのマニュアル見ながらいちいち確認はした方がいいんだが、
だいたいのプロセッサで使えるテクニック。
740デフォルトの名無しさん:2009/06/21(日) 19:09:54
>>737
それだと全てのパターンでsinとcosの両方が計算されるから

float s = sin(なんとか + b * PI / 2);

にすれば?
741740:2009/06/21(日) 19:11:22
ごめん安価ミスった

>>740>>739へのレスです
742デフォルトの名無しさん:2009/06/21(日) 19:37:25
CUDAにはsincosねーの?
また三項演算子でいいんじゃねーの?
743デフォルトの名無しさん:2009/06/21(日) 23:01:37
>>737
あらかじめ、特殊条件について位相を補正しときゃいいんじゃないの?と思うのは俺だけ?
744デフォルトの名無しさん:2009/06/22(月) 00:12:40
>>736
PhysXスレがゲーム製作技術にあるからそっち行け
745736:2009/06/22(月) 01:52:13
>>744
誘導ありがとうございます
746デフォルトの名無しさん:2009/06/22(月) 10:53:08
>>742
あるよ。但し、ストリームプロセッサに一個しか超越関数演算機がないから使い方間違うと遅くなるけど。
747デフォルトの名無しさん:2009/06/23(火) 08:26:25
>>746
超越関数演算機なんてハード的に存在したっけ?倍精度演算機じゃなくて?
748デフォルトの名無しさん:2009/06/23(火) 14:47:11
>>747
SFU(Super Function Unit)がある。
ただし、4SPで共有で、>>747のいうように8SPで共有するのは倍精度演算器。

sin()、cos()、tan()は確かに遅いけど、
sinとcosについては__sinf()と__cosf()を使えば、
精度は悪くなるけど1op/clockでできる。
除算以外の算術演算が8op/clockでできることを考えたらそれでも遅いことには変わりないけど。
749デフォルトの名無しさん:2009/06/23(火) 15:22:26
超越関数がレイテンシ1なんて凄いね
SFUだけ100倍のクロック数とか
してるのかなぁ
750デフォルトの名無しさん:2009/06/23(火) 18:30:15
http://www.khronos.org/opencl/
OpenCL 1.0 リリース
751デフォルトの名無しさん:2009/06/23(火) 18:36:49
First OpenCL demo on a GPU
http://www.youtube.com/watch?v=r1sN1ELJfNo
752デフォルトの名無しさん:2009/06/23(火) 18:43:26
http://www.nvidia.com/object/cuda_opencl.html

ドライバ一式は登録しないといけないようだ
753デフォルトの名無しさん:2009/06/23(火) 21:47:02
>>748
SFUなんてあったのか、しらなかった。DPみたいに実行はSPと並行してできるのかな?
754デフォルトの名無しさん:2009/06/24(水) 07:13:15
やっとFortran対応の話出てきたけど、有料なんかね
PGI and NVIDIA Team To Deliver CUDA Fortran Compiler
ttp://eu.st.com/stonline/stappl/cms/press/news/year2009/t2399.htm
755デフォルトの名無しさん:2009/06/24(水) 07:18:14
ていうかいつのまにかに2.3のベータ出てたのか
756デフォルトの名無しさん:2009/06/26(金) 12:01:06
GTX 285でようやくおれのようなへっぽこでも普通にcpuを凌駕するコードが書けるように
なったようだね。

後は(値段はともかく)消費電力が下がってくれれば、大ブレイクしそう。
757デフォルトの名無しさん:2009/06/27(土) 12:19:52
300Wなんてクアッドコアマシンを4台くらいクラスタリングしたような消費電力だからな
758デフォルトの名無しさん:2009/07/01(水) 03:13:56
>おれのようなへっぽこでも普通にcpuを凌駕する
だったらCPU要らんがな。
むしろCPU<->GPU間の通信がボトルネックなので、CPU無くして
GPUに直接I/O繋げられるようにしろや!
759デフォルトの名無しさん:2009/07/01(水) 21:14:50
>>758
それなんていうTesla?
760デフォルトの名無しさん:2009/07/01(水) 23:30:38
>>759
それTeslaでもない。
761デフォルトの名無しさん:2009/07/02(木) 07:45:08
CUDAで乱数を効率的に生成する方法を教えてください
762デフォルトの名無しさん:2009/07/02(木) 09:23:34
>>761
コアごとに違う種から乱数生成すればいいんじゃね?
763デフォルトの名無しさん:2009/07/03(金) 00:25:57
質問なんですが、SDKに付いてたサンプルをmakeしようとしたところ
以下のようなエラーが出てうまくいきません、何か足りないものがあるのでしょうか

/usr/bin/ld: cannot find -lXi
collect2: ld はステータス 1 で終了しました
make[1]: *** [../../bin/linux/release/nbody] エラー 1

OSはfedora10です。色々初心者なのでどうかお願いします。
764デフォルトの名無しさん:2009/07/03(金) 00:52:49
libXiというパッケージをインストールできないかね
俺もfedoraはよく記憶にないんだが
765デフォルトの名無しさん:2009/07/03(金) 07:55:20
>>764
libXiというのがインストールされていないということだったのですか
早速インストールしたいと思います。どうもありがとうございました。
766デフォルトの名無しさん:2009/07/05(日) 04:21:12
teslaとgeforceって何が違うの?


767デフォルトの名無しさん:2009/07/05(日) 05:03:33
OpenGL向けかDirectX向けか
768デフォルトの名無しさん:2009/07/05(日) 10:40:00
>>767
それquadroとgeforceでしょ。

>>766
teslaはhpc専用ボードで、ディスプレイの出力ポートがない。
NVIDIAがボードの製造まで一貫して行ってて、テストもしっかり通している…らしい。
あとメモリが4GB乗ってる。
769デフォルトの名無しさん:2009/07/06(月) 09:01:42
CUDAというよりハードウェアの話なんですが質問させてください

TESLA C1060をMM3500に刺したいんですが、この状態だとBIOSが拝めません
ビープ音「−・・(長短短)」って音がするんでAwardで調べたらビデオアダプタ不良らしい
マザーボードだけを他のに変えたら正しく起動するので、電源やTESLAが悪いわけではなさそうです
TESLAなしのMM3500だけならUbuntuのBoot CDからMemtestが走るとこまで行きました
770デフォルトの名無しさん:2009/07/06(月) 09:34:48
スレ違いどころか板違いだ
判ってるなら該当板いけよ
771デフォルトの名無しさん:2009/07/06(月) 22:26:16
>>769
買ったとこに聞いた方が良いかと...
772デフォルトの名無しさん:2009/07/07(火) 00:46:08
>>772
ありがとう まずはVIAにメールしてみます
773NVIDIAの営業の受け売りw:2009/07/07(火) 09:05:04
・GeForce
NVIDIAはパーツ選択にはノータッチ。各社さんが勝手に安い部品を積んでいるから動作しなくても当然。
プロならそんなアキバ的発想はやめて、QuadroFXかTeslaを使ってください。
・QuadroFX
NVIDIAの厳しいテスト基準に合格した高品質の出力を保証しているから決して安くありません。
プロにも安心してお使いいただけます。
・Tesla
QuadroFX以上に品質に重点を置いてテストを行なっています。HPCにはこれ以外の選択肢はありえません。
774デフォルトの名無しさん:2009/07/07(火) 09:07:57
>>768
OpenGL向けもDirectX向けもないよ。>773にもある通り、NVIDIAがテストしているかどうかの違い。
なんせ、GeForceの製造販売を行なっているELSAの営業の前で堂々と>773みたいなことを仰ってる。
10倍の価格差も、当然ということなのでしょう。
775デフォルトの名無しさん:2009/07/07(火) 22:07:57
そりゃカノプーが手を引くわけだよな
どうしたってGeForceは価格競争になっちまう
776デフォルトの名無しさん:2009/07/08(水) 00:28:37
不特定多数の客向けのプログラムでGPGPUを使うコードを書くやつはアホウ、ってことだな。
777デフォルトの名無しさん:2009/07/08(水) 06:57:16
全てアホウと決め付けるのはねぇ
 中には超やばいものを開発するかもよ(世界は広い)

特にロシア東欧は要注意!
778デフォルトの名無しさん:2009/07/09(木) 00:40:40
>>777
アホウと言っているのが、nVIDIAの営業ってことだよ。
779デフォルトの名無しさん:2009/07/11(土) 00:02:30
「阿呆」とは言わなかったけれど、「動かなくても当然ですから」くらいのことは言ってたなぁ。
780デフォルトの名無しさん:2009/07/11(土) 00:17:01
今月末に CUDA2.3 が出るとさ。

PGI compiler 9.0 は2週間体験できるから、Fortran で単純な行列積の
コードを書いて試してみたけど、Core2 Quad + GeForce9800GTX で
CUDA 2.0 という古い組み合わせのせいか,
!$acc region の設定の効果が全く現れなかった。

pgf95 -ta=nvidia:cc11 matrix.f
というコマンドでいいと思うんだけど。
781デフォルトの名無しさん:2009/07/11(土) 19:31:18
CUDA用の姫野ベンチをGTX285で実行しようとしたのですけど動きませんでした。
何が原因かわかりません、どなたかわかる方いらっしゃいましたらお願いします。
782デフォルトの名無しさん:2009/07/11(土) 20:08:49
原因はわかりますが、何をお願いされているのかわかりません。
783デフォルトの名無しさん:2009/07/11(土) 21:19:47
その原因について詳しく教えて頂きたいのですが
784デフォルトの名無しさん:2009/07/11(土) 22:37:16
>>783
原因なら簡単ですよ。
あんたが人間じゃなくて人だからです。
785デフォルトの名無しさん:2009/07/11(土) 23:13:59
動くかどうかも保障してないものが普及するとか思ってるのか?
786デフォルトの名無しさん:2009/07/11(土) 23:20:06
>>785
>779のことを言っているのなら、QuadroFXとTeslaがあるから大丈夫だと思っている
頭に蛆が涌いているとしか思えないNVIDIAの営業に言ってあげてください。

無駄だけどw
787デフォルトの名無しさん:2009/07/15(水) 19:53:47
visual profilerについて質問です
プロファイラの項目GPUTimeを見ると全体で3000くらいなのですが、
プログラム中で cutCreateTimer( &timer) を使って計測すると 18ms〜60msのバラけた値が出ます
これってどちらが正しい値なのでしょうか?
788デフォルトの名無しさん:2009/07/15(水) 21:31:07
>>781
バイナリのCUDA SDK1.1だからだろ
789デフォルトの名無しさん:2009/07/15(水) 23:02:02
>>787
cutCreateTimer()の実装を見てみた?
790デフォルトの名無しさん:2009/07/20(月) 19:00:37
Fixtarsの資料面白いね、祝日に更新ご苦労さんだわ
この調子で本家資料全部訳してくれないかなw
ttp://gpu.fixstars.com/index.php/CUDA%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0TIPS
791デフォルトの名無しさん:2009/07/22(水) 08:05:55
2.3来たね、やっと64bit版で32bitコンパイルできるようになった
792デフォルトの名無しさん:2009/07/23(木) 13:44:49
Mac版の2.3.0ドライバーインストールしてみたら、一回目libcuda.dylibだけ入らなかったことに気付かなくて、全然見当違いの所で原因探してて苦労したよ。
一発で入るようにしてください、nVidia様
793デフォルトの名無しさん:2009/07/25(土) 22:10:54
ttp://www.nv-info.com/cuda_for_highschool/

20年前の高校生は参加しちゃダメかな?
794デフォルトの名無しさん:2009/07/25(土) 22:13:36
Teslaプレゼントしろよ
相変わらず一貫してないな
795デフォルトの名無しさん:2009/07/26(日) 23:27:14
CUDAで動くトリップ検索ツール頂ける方いらっしゃいませんか
796デフォルトの名無しさん:2009/07/27(月) 00:50:11
ノシ
797デフォルトの名無しさん:2009/07/27(月) 03:25:45
【レポート】中高生がCUDAにチャレンジ! NVIDIAがGPUコンピューティングの体験イベント開催 | パソコン | マイコミジャーナル
http://journal.mycom.co.jp/articles/2009/07/27/cuda/index.html
798デフォルトの名無しさん:2009/07/27(月) 10:10:10
>>795
あれ?まだ誰も作ってなかったの?
799デフォルトの名無しさん:2009/07/27(月) 10:43:20
あと6年早ければ・・・
800デフォルトの名無しさん:2009/07/27(月) 11:08:28
>>798
らしいです
801デフォルトの名無しさん:2009/07/27(月) 22:53:08
じゃぁ俺が作るか。
まずはCUDA無いバージョンのソースがあるURL教えてw
802デフォルトの名無しさん:2009/07/28(火) 00:02:52
まあ、待て屋。
803デフォルトの名無しさん:2009/07/28(火) 00:07:41
>>802
それはラデ用のしかなかったような…
804デフォルトの名無しさん:2009/07/28(火) 00:11:46
CUDA無しを所望のようだからこれで良くね?
CPU用のコードも当然あるよ。
805デフォルトの名無しさん:2009/07/28(火) 00:17:31
>>804
nVIDIAのVGAしか持ってないんだorz
806デフォルトの名無しさん:2009/07/28(火) 00:22:33
>>805>>795か?
俺は>>801に向けて書いたんだが・・・
807デフォルトの名無しさん:2009/07/28(火) 00:26:42
>>806
あ、はい。
俺は>>805であり、>>795です。

ID出てないと面倒だね
808 ◆hEpdoZ.tHU :2009/07/28(火) 06:51:10
>>807
トリップ使ってけれw
809 ◆DokuomoeW. :2009/07/28(火) 16:50:48
>>808
おk

>>807です
810,,・´∀`・,,)っ-○○○:2009/07/29(水) 21:19:39
Larrabee向けのソースコードなら多分あるんだがwwwww
811 ◆DokuomoeW. :2009/07/30(木) 12:59:13
まだ手元にある定額給付金で
ラデ買ってくるかな…

それも一つの選択肢
812 ◆DokuomoeW. :2009/07/31(金) 21:10:00
かつてTripcode ExplorerのCUDA版があったらしいね
でも、今はもう消えてる…
813,,・´∀`・,,)っ-○○○:2009/07/31(金) 21:52:43
ギコハハハ
814デフォルトの名無しさん:2009/07/31(金) 22:14:27
>>812
がはは!それはネタだからーw
815 ◆DokuomoeW. :2009/07/31(金) 23:11:08
>>814
そうなんだwwwwww
816,,・´∀`・,,)っ-○○○:2009/07/31(金) 23:31:10
ふふふ
817デフォルトの名無しさん:2009/08/01(土) 05:48:13
あらあらふふふ
818デフォルトの名無しさん:2009/08/01(土) 07:37:39
これでいいじゃん
http://tmkk.hp.infoseek.co.jp/tripper/
819デフォルトの名無しさん:2009/08/02(日) 20:49:45
300Wも消費する物体を数週間動かすとは恐ろしいw
820デフォルトの名無しさん:2009/08/03(月) 07:25:23
shared memoryって,CPUで言うL1キャッシュみたいなもん??
821デフォルトの名無しさん:2009/08/03(月) 08:04:31
>>818
これって使うとどれくらい寿命減るの?
作った人って絶対に高負荷かけて石を壊そうとしてるよね・・・
822デフォルトの名無しさん:2009/08/03(月) 15:36:31
>>821
なにいってるの・・・
まあたしかにファンがクソだと熱で死ぬ可能性はあるが
823デフォルトの名無しさん:2009/08/04(火) 03:54:01
>>820
大分違う。つーか、CPUとは考え方を変えないと使いこなせないよ。
824デフォルトの名無しさん:2009/08/04(火) 10:08:33
>>820
CPUで言うレジストリみたいなもんだ
825 ◆DokuomoeW. :2009/08/04(火) 13:52:22
>>818
for Macだ…と
826,,・´∀`・,,)っ-○○○:2009/08/04(火) 21:07:21
Windows用に直せるだろこんなん。(と言ってやらない)
827,,・´∀`・,,)っ-○○○:2009/08/04(火) 22:06:06
Vistaだと困ったことに、描画に支障ない程度に負荷調整しないとAeroが死ぬwww
828デフォルトの名無しさん:2009/08/08(土) 22:45:00
だれかトリップ生成のアルゴリズム説明して?
趣味でCUDA処理のコード書いてみたいからー

>>818のコード読めって話だけど、ハッシュとか暗号系はアルゴリズム知ってないと、時間かかるんでお願いします。
829デフォルトの名無しさん:2009/08/08(土) 23:22:43
309 名前:◆cZfSunOs.U []: 2009/06/19(金) 11:46:10 ID:MLNb4KfK0 (17)
生キー指定以外の12桁以上「##〜」形式も将来の拡張用にしておきましょう.
で,まとめ:

if (length $handle_pass >= 12)
{
my $mark = substr($handle_pass, 0, 1);
if ($mark eq '#' || $mark eq '$')
{
if ($handle_pass =~ m|^#([[:xdigit:]]{16})([./0-9A-Za-z]{0,2})$|)
{
$GB->{TRIPSTRING} = substr(crypt(pack('H*', $1), "$2.."), -10);
}
else
{
# 将来の拡張用
$GB->{TRIPSTRING} = '???';
}
}
else
{
use Digest::SHA1 qw(sha1_base64);
$GB->{TRIPSTRING} = substr(sha1_base64($handle_pass), 0, 12);
$GB->{TRIPSTRING} =~ tr/+/./;
}
}
else
{
# 従来形式
}
830デフォルトの名無しさん:2009/08/08(土) 23:23:28
インデント消えたorz
831デフォルトの名無しさん:2009/08/08(土) 23:25:49
Kernel用のCRYPTを自前実装しないといけないのか・・
832,,・´∀`・,,)っ-○○○:2009/08/09(日) 00:05:13
C++用のコード晒してみる。これは実際に某ツールで使ってる。

char* trip_sha1(const char* key) {
SHA1Context sha1;
SHA1Reset(&sha1);
SHA1Input(&sha1, reinterpret_cast<const uint8_t*>(key), std::strlen(key));
uint8_t digest[SHA1HashSize];
SHA1Result(&sha1, digest);

static char cryptresult[13]; /* encrypted result */
static const char base64mod[] = /* 0..63 => ascii-64 */
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789./";
cryptresult[0] = base64mod[digest[0] >> 2];
cryptresult[1] = base64mod[(digest[0] << 4 | digest[1] >> 4) & 0x3F];
cryptresult[2] = base64mod[(digest[1] << 2 | digest[2] >> 6) & 0x3F];
cryptresult[3] = base64mod[digest[2] & 0x3F];
cryptresult[4] = base64mod[digest[3] >> 2];
cryptresult[5] = base64mod[(digest[3] << 4 | digest[4] >> 4) & 0x3F];
cryptresult[6] = base64mod[(digest[4] << 2 | digest[5] >> 6) & 0x3F];
cryptresult[7] = base64mod[digest[5] & 0x3F];
cryptresult[8] = base64mod[digest[6] >> 2];
cryptresult[9] = base64mod[(digest[6] << 4 | digest[7] >> 4) & 0x3F];
cryptresult[10] = base64mod[(digest[7] << 2 | digest[8] >> 6) & 0x3F];
cryptresult[11] = base64mod[digest[8] & 0x3F];
cryptresult[12] = 0;
return cryptresult;
}
833デフォルトの名無しさん:2009/08/09(日) 00:36:34
sh1のCUDA版くらいありそうだけど
834828:2009/08/09(日) 00:38:07
ご両人、コードさんくす〜
実はC住人なんで(汗

蛇足だが関数内のstaticの使い方が気持ち悪いです(笑

さー昔しらべたSHA-1の資料でもひっぱってくるかー
835,,・´∀`・,,)っ-○○○:2009/08/09(日) 01:53:23
オリジナルのcrypt(3)でもchar配列はstaticでとってるんだよな
たしかにキモイ

std::stringとか使ってみ?
CUDAに移植できへんで?
836デフォルトの名無しさん:2009/08/09(日) 01:56:33
笑えるくらいきれいなワンツーw
837デフォルトの名無しさん:2009/08/09(日) 01:57:37
ごば
838デフォルトの名無しさん:2009/08/09(日) 13:04:04
CUDAでrandは使えない?
839デフォルトの名無しさん:2009/08/09(日) 13:11:14
>>838
使えないよ。自分で用意しないと。
840デフォルトの名無しさん:2009/08/09(日) 13:25:21
CUDA上でのSHA1の実装というとこのあたりか?
http://forums.nvidia.com/index.php?showtopic=102349
841デフォルトの名無しさん:2009/08/10(月) 22:49:48
r0,g0,b0,r1,g1,b1,r2,....

というようなグローバルメモリにあるchar型の配列に対して、GPU側からuchar4型変数で

{r0,g0,b0,r1} {r1,g1,b1,r2},....

というようにアクセスすることは可能でしょうか?
842デフォルトの名無しさん:2009/08/11(火) 01:04:40
y*4+x
843841:2009/08/11(火) 01:59:08
あーこれじゃ駄目だった
ごめんなさい、忘れてください
844828 ◆TripEQ.VNLIV :2009/08/11(火) 21:13:55
だめだー
SHA1と総当り攻撃じゃ現実的じゃない。。。
4桁適合ならまだ使える感じorz
845デフォルトの名無しさん:2009/08/21(金) 13:47:21
誰かRADEON HD48xx向けのCUDAドライバ開発してないの?
846デフォルトの名無しさん:2009/08/21(金) 14:23:41
>>845
どちらかというと
AMD Accelerated Video Transcoding(AVT)

では?
847デフォルトの名無しさん:2009/08/21(金) 16:05:07
いや、CUDA互換機能つけて
CUDA対応ソフトを使えるようにならんかなーと。
848デフォルトの名無しさん:2009/08/21(金) 17:49:44
>>847
OpenCLじゃだめですか?
849デフォルトの名無しさん:2009/08/21(金) 17:50:52
ラッパー作ってくれるならいいけど・・・
既存のソフトでCUDAにしか対応してないやつとか
CUDA以外の開発環境が整わなさすぎて、見切り発車でCUDA使いたいなとか
あるんで。
850デフォルトの名無しさん:2009/08/21(金) 18:44:14
CUDAってOpenCL取り込んでたような……気のせい?
851,,・´∀`・,,)っ-○○○:2009/08/21(金) 20:13:56
CUDAは環境。

OpenCLは言語・フレームワークで、CUDA向けのプログラムを記述出来る物のひとつ。
従来の「CUDA言語」は "C for CUDA" という扱いになった。
852デフォルトの名無しさん:2009/08/21(金) 20:36:51
x64でCUDAをしようと思ったんだけど,vitual studioでプロジェクトが作れない.
CUDA_VS_Wizard_W64.2.0を入れて,
CUDA64WinAppはテンプレートとして表示されるようになったが,
選択してもうまく生成されない.
CUDAWinApp(32bit)の方はうまく生成される.

64bitで開発してる方や,
症状の原因がわかりそうな方,ご教授願う.
853デフォルトの名無しさん:2009/08/21(金) 21:00:40
おっと,自己解決.
スレ汚しスマソ.
854デフォルトの名無しさん:2009/08/21(金) 23:07:09
>>853
いや、教えてよ(笑)
855デフォルトの名無しさん:2009/08/23(日) 20:28:04
共有メモリのBank Conflictがいまいちわからないのですが、
同じ配列のアドレス(添え字)に複数のスレッドが同時にアクセスしなければいよいのでしょうか?
856デフォルトの名無しさん:2009/08/26(水) 07:21:12
最近のマザボってPCIEx16が普通に2,3個あるよな
ところで違う世代のGeForce9800、GTX280とかを積んだ場合
CUDAはどちらのGPUも使ってくれるの?
857デフォルトの名無しさん:2009/08/26(水) 09:24:02
>>856
CUDAはGPUチップを一つだけしか使えない。
どれを使うかは、cudaSetDevice()で指定しないといけない。
サンプルの、MultiGPUを参照のこと。
858デフォルトの名無しさん:2009/08/26(水) 18:32:52
ということは,
最近のグラボ一枚にGPUが2つ積んであるヤツでも,
GPUを指定してやらないといけないのか.
859デフォルトの名無しさん:2009/08/26(水) 18:39:49
そそ、しかも1スレッド1GPUに拘束される。
860デフォルトの名無しさん:2009/08/26(水) 19:17:17
>>858
未確認だけど、SLIの場合はドライバで1つのGPUに見せかけるらしい。
2チップを積んでいるカードは内部でSLI接続されているらしいし、
1デバイスの場合と同じでもいいかもしれない。
861デフォルトの名無しさん:2009/08/26(水) 23:51:13
SLIとCUDAは同時使用できないとかじゃないのか?
862デフォルトの名無しさん:2009/08/27(木) 00:10:58
http://forum.nvidia.co.jp/EokpControl?&tid=11178&event=HE0004
* SLIグループ内の各GPUは個別に列挙されるようになったため、
計算アプリケーションはSLIがグラフィックス向けに有効になっている
場合でも、マルチGPUの性能を活用することができます。

と、リリースノートにはあるね
863デフォルトの名無しさん:2009/08/27(木) 00:25:41
>>862
2.3からはSLIの場合でもCUDAからは個別に見えるように変更なのか。

SLIでゲームの中でPhysXとかCUDAを使う場合とかは特定のチップに負荷が集中して
そのせいで利用効率が落ちたりしないのかな?
864デフォルトの名無しさん:2009/08/27(木) 01:23:53
プログラマが生理整頓するか,
CUDAさんよろしくお願いしますするか,どっちがいいかってことか.
でも,一度の演算に対して,1コアにスレッドが重複しない限りは,
無駄に複数のGPUに処理を分配する必要性はないよな.
演算の命令ごとにGPUを切り替えるなら,効果はありか.
SLIの場合って,GPUのRAMは共有されるのか?

>>859
GPUはGPU内の大量のコアがそれぞれ1スレッドずつ受け取る仕組みじゃないのか?
1スレッド1GPUって並列演算ってレベルじゃねーぞ.
865デフォルトの名無しさん:2009/08/27(木) 03:53:53
>>864
「スレッドを受け取る」っていう意味がわからんのだが。
CPUの1スレッドがGPU1個使って、そのGPUが複数スレッドを実行する。
866デフォルトの名無しさん:2009/08/27(木) 04:59:54
>>865
CPUのスレッドなのね.
スレッドのことをGPUのハードウェアスレッドかと勘違いしてた・・・orz
867デフォルトの名無しさん:2009/09/01(火) 18:44:53
CUDAがでてきた2005年当時は、シングルコアの限界も見えてきて、それなら

有り余るグラフィックボードの性能を、3Dレンダリングや、フォトショップフィルタなど、ゲーム以外にも有効活用と歌ってたけど

あれよあれよという間に、インテルCPUがマルチコア化してきて、そっちの方が上記の用途に、大きな効果があり、メインになってきて、

結局グラフィックボードは、結局またGPUはゲーム以外に用なしになったなw
868デフォルトの名無しさん:2009/09/01(火) 19:21:06
U-BASICってバージョンアップしないの?
869デフォルトの名無しさん:2009/09/01(火) 19:38:01
>>867
コンシューマーはそうかもしれんけど、エンタープライズはまた少し違うんじゃない?じゃなきゃNVIDIAもTESLAなんて作らんよ。
870デフォルトの名無しさん:2009/09/01(火) 20:10:53
ああシールの貼り替えで10倍の金を取るために始めたアレか
871デフォルトの名無しさん:2009/09/01(火) 23:00:56
>>870
本気でそう思ってるなら偏狭すぎる。少しは頭使えよ
872デフォルトの名無しさん:2009/09/02(水) 00:04:27
>>869
むしろ、nVIDIAはTESLA以外作りようが無かったんでしょ。
だってCPU作れないんだもん。
873デフォルトの名無しさん:2009/09/02(水) 02:29:04
NVIDIA は、2009年8月17日、業界標準の線形代数ライブラリ、LAPACK を、超並列処理の NVIDIA CUDA 対応 GPU に最適化した実装「CULA」のベータ版が EM Photonics 社からリリースされたと発表した。
LAPACK ルーチンは何百万人もの開発者が活用し、数値物理学、構造力学、電子設計オートメーションなどさまざまな問題の解決に役立てられている。
CULA により、ワークステーションやデータセンターで使われている NVIDIA Tesla GPU の力を活用し、クアッドコア CPU 1個の場合でパフォーマンスを最大10倍に引き上げることが可能になるとされる。
EM Photonics には、CULA Basic、CULA Premium、CULA Commercial からなる CULA tools という製品ファミリがある。CULA ライブラリとは、LAPACK ルーチンの実装の1つで、GPU の能力を活用して高速に処理が行えるようにしたもの。
LAPACK というのは線形代数でよく使われる関数の集合体で、科学分野や工学分野で活用されている。科学分野や工学分野の問題は線形モデルで近似できることが多いため、線形代数ルーチンで解が得られる。
CULA は、NVIDIA GPU が持つ超並列 CUDA アーキテクチャを活用し、LAPACK ルーチンの多くを高速で処理できる。
874デフォルトの名無しさん:2009/09/02(水) 08:05:49
>>872
それ以外作りようがなかったからって…事前事業でやってるんじゃないんだぞ?「しょうがなくTESLA作る」とかありえないんだよ。純粋に、戦略的なマーケティングの結果だろ。
875デフォルトの名無しさん:2009/09/02(水) 08:10:12
>>874
× 事前
◯ 慈善
876デフォルトの名無しさん:2009/09/02(水) 09:31:55
戦略的なマーケティングの結果、マザボは作れてもCPUは作れないNVIDIAは仕方なしに、
TESLAをでっち上げたわけですね、判ります。
877デフォルトの名無しさん:2009/09/02(水) 12:41:59
CPUは作れないってどういう意味で言ってるんだろ
x86互換プロセッサなんて作れるところはいくらでもある
ただライセンスの問題なダケ
あとはマーケットな
878デフォルトの名無しさん:2009/09/02(水) 12:46:20
x86互換プロセッサぐらいなら大学の授業でFPGAに実装したことあるぞ
879デフォルトの名無しさん:2009/09/02(水) 12:51:56
互換なんてダレでも作れるべ
性能はムリだが
880デフォルトの名無しさん:2009/09/02(水) 12:58:32
DXCSがくるからCUDAはもういらないかもー
881デフォルトの名無しさん:2009/09/02(水) 12:59:56
作るだけならVIAにだってできる
882デフォルトの名無しさん:2009/09/02(水) 13:07:09
↑↑お前出来ないだろw
883408:2009/09/02(水) 14:49:32
NVIDIAってCUDA捨てたん?
ここ1年ぐらい見る限りすげーやる気なさそうなんだけど。
884デフォルトの名無しさん:2009/09/02(水) 15:18:52
捨ててないけどやることないだけだろ
885デフォルトの名無しさん:2009/09/02(水) 17:51:42
今はOptiXに期待
886デフォルトの名無しさん:2009/09/02(水) 18:43:14
887デフォルトの名無しさん:2009/09/02(水) 21:10:27
CUDAで最適化したいプログラムに条件分岐満載で
実際の演算部分がほとんどなくてDate並列化できそうもないときって
あきらめるしかないのかな・・・。
888,,・´∀`・,,)っ-○○○:2009/09/02(水) 22:49:22
http://www.atmarkit.co.jp/fcoding/articles/parallel/03/para03a.html

Fixstarsのエンジニアからの有り難い言葉
889デフォルトの名無しさん:2009/09/02(水) 23:43:18
条件分岐でシーケンスを発生させる事そのものが目的でなけりゃ、
何か手はあるんでないの?
何しようとしてるか知らんけど、今使ってるアルゴリズムに以外に
GPU向きの手がないか調べてみたらいいんでない?
890デフォルトの名無しさん:2009/09/03(木) 15:42:37
やっぱりx86コアが100個も200個もあるほうがいいんじゃね?
891デフォルトの名無しさん:2009/09/03(木) 17:29:08
>>889
なるほど
もっとソースを読んで見るよ。

あとCUDAについてのオススメの文献あるかな?
892デフォルトの名無しさん:2009/09/03(木) 21:47:44
>>891
GPU Gems3。訳本はアホみたいに高いが、英語でよければネットで公開されてる。途中までだけど。
893デフォルトの名無しさん:2009/09/03(木) 21:52:19
>>890
そりゃそうかもしれんが、コスト見合わんだろ。
894,,・´∀`・,,)っ-○○○:2009/09/03(木) 22:31:48
x86のほうが性能マシな演算用途こそ、GPUが何百台あってもコスト的に見合わないんじゃないかと
895デフォルトの名無しさん:2009/09/03(木) 22:43:05
>>892
thx
でかい書店いって立ち読みして検討するかな。

>>894
そうとも限らない。
32bit単精度浮動小数点を扱えるプロセッサが数百個あるわけで、
プログラムの仕方によっては高速化する。
まあ向き不向きがあるのは事実だし、どっちが良いとは決め付けられない。
896,,・´∀`・,,)っ-○○○:2009/09/03(木) 22:47:43
向き不向きでいえばGPUに向いてない(というか使うことすらできない)演算の方が圧倒的に多い。
897デフォルトの名無しさん:2009/09/04(金) 01:37:54
円周率の計算とかに使えればいいじゃん。
898,,・´∀`・,,)っ-○○○:2009/09/04(金) 02:08:24
なにそれ誰が得するの?

899デフォルトの名無しさん:2009/09/04(金) 02:10:35
円周率を100万桁まで暗記してる人が、あれ?次なんだったっけって言って調べられる
900デフォルトの名無しさん:2009/09/04(金) 05:48:21
GPUが今後発展するなら、GPUに向いたアルゴリズムが開発されてくるでしょう。
でも、普通のCPUが高速化してくるので、結局特定の分野しか使えないのかもね。まさにハードウェアアクセラレータ。
901デフォルトの名無しさん:2009/09/04(金) 16:30:49
全く依存性がなく並列に計算できるものに向いてるんだっけ?
あんまり計算用途には向いてない気もするんだけど。
902デフォルトの名無しさん:2009/09/04(金) 17:05:27
実際高速化されてるものもあるんだし、得している奴はいるだろ
903デフォルトの名無しさん:2009/09/04(金) 17:31:22
粒子法では,GPUかなり美味しいです^^
904デフォルトの名無しさん:2009/09/04(金) 17:34:46
画像や文字のパターンマッチングにもそれなりに使えるよ。

905 ◆TripEQ.VNLIV :2009/09/04(金) 21:24:41
実は一般ユーザーが恩恵を受ける事はほとんどない事実。。。
906デフォルトの名無しさん:2009/09/04(金) 22:19:54
ATI臭くなってきたぞ,このスレ
907デフォルトの名無しさん:2009/09/05(土) 01:41:57
ATIのGPUでCUDAが使えるならともかく使えないのに、
なぜかCUDAスレでATIの話題がされる不思議。
908デフォルトの名無しさん:2009/09/05(土) 04:37:45
ATOM330搭載PCでCUDAなグラボを付けたら幸せになりますか?
909デフォルトの名無しさん:2009/09/05(土) 05:32:50
>>908
気持ち次第です。
910デフォルトの名無しさん:2009/09/05(土) 07:55:02
NVIDIAへの財務次第です
911408:2009/09/05(土) 09:50:44
あきらかに落ち目でしょNVIDIA
912デフォルトの名無しさん:2009/09/05(土) 18:23:09
落ち目(笑)
913デフォルトの名無しさん:2009/09/07(月) 01:46:03
クアッドコアCPUにSSEを加えたらGPUなんてまだまだごみレベルでしょう
本気で速度を比較した人がいないからGPUが早いなんて嘘に騙されてるけど
914,,・´∀`・,,)っ-○○○:2009/09/07(月) 07:28:25
ぷぷぷぷぷぷぷぷ




GPGPUがCPUに及ばないのとはまったく別次元の問題だ
915デフォルトの名無しさん:2009/09/07(月) 08:13:20
8コアのCoreシリーズが普及価格帯に落ちてくればGPGPUなんてゴミだろう。
916デフォルトの名無しさん:2009/09/07(月) 08:21:07
自分が井の中の蛙なのを知らずに吠えている可哀想な人がいますね。
「本気で速度を比較した人がいない」なんて本気で言っちゃってるんだもの。
917デフォルトの名無しさん:2009/09/07(月) 08:48:55
>>915
8コアのCoreシリーズとか、比較するものによっては現行のCellでも勝てるんじゃね?
918デフォルトの名無しさん:2009/09/07(月) 11:03:20
>>917
スレ違い。CELLの話をしたいのならCELLのスレに逝っとくれ。
つーか、CELLが勝てると言いたいのかCELLに勝てると言いたいのかよく判らんぞ。
# いや、CELLが何かに勝てるとは思えないのだが。
919デフォルトの名無しさん:2009/09/07(月) 12:23:05
例えばリアルタイム3Dグラフィックスをやるなら
Core7iだろうがなんだろうが、Vooboo3にすら勝てないだろ
当たり前だけど
920デフォルトの名無しさん:2009/09/07(月) 12:57:46
Vooboo...

邪教も随分かわいらしくなっちまうな。
921デフォルトの名無しさん:2009/09/07(月) 14:08:14
適材適所ってことが分からない奴って、意外と多いんだな……
922デフォルトの名無しさん:2009/09/07(月) 14:20:52
AMDはCPUとGPUの処理の切替えをするデモをしてたな
あぁいうのが理想的な気がする
適材適所という意味でも
923デフォルトの名無しさん:2009/09/07(月) 22:36:10
個人的にはAMDはGPGPUの開発に遅れてる気がする。
ラデ使いに言わせれば、”どうせ使わない”らしいんだが。

適材適所だね。
GPUをフル活用できるようになれればかなり強そうだ。
レジスタとかシェーダーメモリとか。
CUDAのプログラムを書いていて未だに複数のGPUを使い分ける方法が分からない・・・。
924デフォルトの名無しさん:2009/09/07(月) 22:49:52
GPGPUやCellは人間で言うならアスペルガー症候群みたいなもの。
得意な分野きわめて優秀な劣等生であっても決して優等生じゃない。
周りがお膳立てをしてやってようやく実力を発揮できるかもしれないが
大半の人は評価される前に匙を投げてしまう。

俺もアスペです。ごめんなさい><
925デフォルトの名無しさん:2009/09/07(月) 22:50:03
>>923
>CUDAのプログラムを書いていて未だに複数のGPUを使い分ける方法が分からない・・・。
>57を理解した上で、MultiGPUだかのサンプル参照。
cutilにも同じようなラッパ関数があるからそれを見てもいいね。
926デフォルトの名無しさん:2009/09/07(月) 23:09:50
>>925
もどって読んでみたら面白そうなことやってるね。
CudaOpenMPなんてのもあるみたいだし、OpenMPも勉強してみようかな。
分かりやすい本が出ることを期待してみるけど、ドキュメントとかも読んでみる。
参考にします。
927 ◆TripEQ.VNLIV :2009/09/07(月) 23:10:19
>>925
> >57を理解した上で、MultiGPUだかのサンプル参照。
> cutilにも同じようなラッパ関数があるからそれを見てもいいね。

たぶん>>923はそれくらい理解してると思われ。もっと根本的な事かと
928デフォルトの名無しさん:2009/09/07(月) 23:29:26
そういえば東工大のセンセが10月くらいにCUDAの本出すとか何とかどっかで見たような
929デフォルトの名無しさん:2009/09/07(月) 23:48:29
東工大の学食は安くて上手いよな

近くに行くと利用してしまう
930デフォルトの名無しさん:2009/09/08(火) 13:08:51
そういや学食って学外の一般人にも利用可なのか?
931デフォルトの名無しさん:2009/09/08(火) 13:10:26
そりゃ当たり前だろ
大学は外部の人も出入り自由だし、
金払って食べるわけだからな。
企業の人事の人とかもよく学食で食ってるよ。
932デフォルトの名無しさん:2009/09/08(火) 13:50:53
そういやシリコンバレーに居た頃は
暇な時は、勝手にスタンフォード大の講義聞きに行ってたなw
俺の出身大は日本のFラン大なのにw
933デフォルトの名無しさん:2009/09/08(火) 14:33:59
>>930
>>931
全然当たり前じゃない。
本来学生証の提示が必要な学食もたくさんある。
学校の福利厚生で学食が運営されている場合はそういうのが多い。
ただ、食券の自販機が普及してから、提示のタイミング自体がなくなってるから
利用できてしまうわけだが。

あと、外部の人も出入り自由とかはキャンパスによるから気をつけろよ。
出入りできてしまうと言うだけで、本来は自由じゃないところも多いから。
934デフォルトの名無しさん:2009/09/08(火) 14:41:50
大昔、御茶ノ水にあった明大の師弟食堂ってのによく行ってたが、
土方のおっちゃんも作業着のまま普通に飯食ってたw
935デフォルトの名無しさん:2009/09/08(火) 15:16:11
>>932
授業料払わず聞き放題っておいしいなw
そういや、スティーブジョブズもスタンフォード大に在籍してないのに
忍び込んで講義聞いてたんだっけ?
936デフォルトの名無しさん:2009/09/08(火) 16:15:33
>>934
ああみえて二部に通う学生だったりするんだぜ。
937デフォルトの名無しさん:2009/09/08(火) 17:57:22
20年前通ってた神楽坂の理科大の学食は糞不味かったなぁ...
飯が何故か塩素臭いし。
そういや、学食で秋山仁をよく見掛けたよ...
938デフォルトの名無しさん:2009/09/08(火) 19:38:38
>>933
具体的にどの大学が出入り不自由なんだ?
そう言うところがあるというなら、具体例の一つぐらい挙げられるよな。
939デフォルトの名無しさん:2009/09/08(火) 20:40:48
>>938
俺933じゃないけど、都内のビル系の大学とかそういう所多くね?
あと別にそこ突っかかる所じゃないだろう。 牛乳飲めよ。
あとスレ違いだよ俺たち。 牛乳板行こうよ。
940デフォルトの名無しさん:2009/09/08(火) 23:02:14
女子大はマークされたりしないの?
941,,・´∀`・,,)っ-○○○:2009/09/08(火) 23:06:28
慶應は入る気しなかった。
あのへん食うところ無さ杉。
結局MKビルの地下で昼飯食った。
942デフォルトの名無しさん:2009/09/08(火) 23:47:00
弁当作ってくれる嫁がいないのが俺らの弱さ
財布を握る恐妻がいないのが俺らの強さ
943929:2009/09/09(水) 00:24:40
ネタを振っておいてなんだが、
お前らどんだけ学食好きなんだよwww
944デフォルトの名無しさん:2009/09/09(水) 02:48:20
学食が好きなのではない。安くて腹一杯になるのが好きなんだ!
945デフォルトの名無しさん:2009/09/11(金) 02:45:38
ここは食うだのスレだろ!
946デフォルトの名無しさん:2009/09/11(金) 02:51:36
>>945
ごめん。
素直に感心した。

あまりに感心したから今日、明治大学の師弟食堂いってくるわ。
今名前変わって、この時期昼しかやってないらしいけど。
947デフォルトの名無しさん:2009/09/12(土) 08:45:12
CUDA2.3って何が変わったの?
誰か日本語で教えてください
948デフォルトの名無しさん:2009/09/12(土) 14:51:45
ヴァージョンが変わった
949デフォルトの名無しさん:2009/09/12(土) 22:55:17
おしいな。

版の付番が変わった

って言わないと。
950デフォルトの名無しさん:2009/09/13(日) 00:27:02
マジレスすると日本の公式フォーラム見ろ>>862
951デフォルトの名無しさん:2009/09/18(金) 18:19:09
CUDAのコードをどの開発環境で書いてますか?
Netbeansやeclipseを使いと思っていますが、makefileでのコンパイルなどは
簡単にできますが、CUDA独特のキーワード(dim3など)などからくるエディター上の
エラー表示を消すことができず、赤いエラー表示がエディターにあふれてしまいます。
Netbeansやeclipse環境でエラー表示を消す良い方法はないでしょうか?
952デフォルトの名無しさん:2009/09/18(金) 20:48:16
四の五の言わずにVisualStudioにしなさい.
そのうちデバッガツールも公開してくれるから.
953デフォルトの名無しさん:2009/09/18(金) 20:49:56
それeclipseスレ行った方がいいと思う
954デフォルトの名無しさん:2009/09/18(金) 21:38:52
VS2008が一番使いやすいね
有志で作ってるウィザードが優秀だし

ちなみにNVのCUDAプログラミングイベントでもVS2008使ってた
955デフォルトの名無しさん:2009/09/21(月) 16:21:39
nvccのコンパイルオプションで、
プラットフォームはどこに設定すればいい?x64とかx86とか。

リンクオプションにはあるんだが、
どうやらコンパイルの時点でx64用オブジェクトしか出てないから
x86用バイナリをリンクしようとするとエラーになる。

Visual Studio 2008のプロジェクトのプロパティページには
「CUDA Build Rule v2.3.0」ってのが出てるんだが、
プラットフォームの設定が見当たらない。
956デフォルトの名無しさん:2009/09/21(月) 18:51:16
>>955
-m32 でどう?
957955:2009/09/21(月) 19:24:48
>>956
帰宅したら試してみる。
さんくす
958デフォルトの名無しさん:2009/09/24(木) 23:07:36
VSの有志ウィザード使ってやってる者なんだが・・・

初めてアトミックオペレーティングのオプション付けてプログラミングしてるんだけど,
ビルドするときの
リンクに入ってからの時間が異様に長いんだがこんなもんなのか?
959デフォルトの名無しさん:2009/09/24(木) 23:39:23
>>958
そんなもんだろ
コンパイルミスしてんじゃないかとか考えちゃうけど、気長に待つしかなさそう。

VSウィザードが一番やりやすいし
960デフォルトの名無しさん:2009/09/26(土) 18:24:43
初心者の質問で恐縮なんだけども,

float4とかのベクタ型の中身をホストで見たいって思ったら,
別にfloat変数をデバイスに作って,そこにベクタ型の要素の値をぶち込んで,
ホストにコピーしないと見れないのか?

ベクタ型って面倒なのかなぁ・・・
961 ◆TripEQ.VNLIV :2009/09/26(土) 20:20:03
>>960
ホスト側でもベクタ型変数が使えるし、メモリ配置とアラインが合ってれば別に型は気にする必要無しです。
962デフォルトの名無しさん:2009/09/26(土) 20:24:54
OpenCLやるならなるべくベクタ長16で
書いておいた方が良いんじゃね。

明らかにララビー想定した仕様だよね、これ。
963デフォルトの名無しさん:2009/09/26(土) 20:56:15
>>961
たしかにホスト側でもベクタが使えますね.
どうもです.
964デフォルトの名無しさん:2009/09/28(月) 22:00:56
CUDA+thrustで麻雀の思考ルーチン作った。
整数演算だけどなかなか速い。
GTX295搭載PC買うかな・・・
965デフォルトの名無しさん:2009/10/02(金) 00:24:59
9800GTを1万で買ったがファンがうるさすぎ ファンレスのヤツが欲しいな
966デフォルトの名無しさん:2009/10/02(金) 11:25:51
ファンレスのは自前で冷却手段を用意してやるのが前提っぽいから9600GTの低消費電力版でも買えば?
967デフォルトの名無しさん:2009/10/02(金) 22:27:52
CUDAプログラミングするなら素直にnvccを直接叩いたほうが良いね。
VSウィザードは正しくコンパイルできるものと、エラーが出るものがあるしね。

Nvidiaが公式でもうちょっと凄いの作ってくれたらいいな。
デバックとかもできる奴。
968デフォルトの名無しさん:2009/10/03(土) 02:44:51
普通make使うよ
969デフォルトの名無しさん:2009/10/03(土) 06:19:05
make使ったら負けかな
970デフォルトの名無しさん:2009/10/03(土) 13:49:20
プップッ
971デフォルトの名無しさん:2009/10/03(土) 15:29:45
>>969
makeを使ったら負けかなっと思っていた時期もありました。
いい思い出です。
972デフォルトの名無しさん:2009/10/03(土) 19:48:48
fm、makeが一番よさそうだな。
973デフォルトの名無しさん:2009/10/03(土) 20:02:21
>>967
VSアドオンのデバッガはβ出たよ(登録制)
ttp://developer.nvidia.com/object/nexus_features.html
974デフォルトの名無しさん:2009/10/08(木) 16:46:26
975デフォルトの名無しさん:2009/10/08(木) 18:45:20
CUDAを勉強できる本はありますか?
プログラムについてはもちろん、技術についての解説本などもあれば教えてください
976デフォルトの名無しさん:2009/10/08(木) 19:25:36
>>975
ない、そろそろ偉い人が出すはずなんだけど、出てない。
ツールキットに付いてくるプログラミングガイドよむといいよ。
977デフォルトの名無しさん:2009/10/08(木) 19:35:12
【GPGPU】くだすれCUDAスレ part2【NVIDIA】
http://pc12.2ch.net/test/read.cgi/tech/1254997777/
978デフォルトの名無しさん:2009/10/09(金) 00:02:14
ベクタ型に関する質問をさせてくり.
ベクタ型(int4 ex;)とポインタ(int *p;)を作ったとする.
ポインタを
p = &ex.x;
と初期化したあとで,
ポインタをインクリメントすることで,ポインタで
ex.y
ex.z...
へアクセスできますかね?
979975:2009/10/09(金) 00:10:57
>>976
ですよね…どおりで探しても見つからないわけだ…
980977:2009/10/09(金) 00:37:27
自己解決しますた.
981978:2009/10/09(金) 00:38:45
あぁ,ミスった.
980は978に対するレスです.
スレ汚しまくってスマン.
982デフォルトの名無しさん
どう解決したか書かないから酷いスレ汚しだな