[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 04/13 15:36 / Filesize : 252 KB / Number-of Response : 990
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【GPGPU】NVIDIA CUDA質問スレッド



1 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 14:54:28 ]
本家
developer.nvidia.com/object/cuda.html


367 名前:364 mailto:sage [2008/04/12(土) 00:04:48 ]
>>365
mallocも、newも試したのですが、だめでした。
CUDAの制御をするスレッドと、GUIの面倒を見るスレッドを分けたかったのです。
>>366
スレッド、またいじゃだめなんですか。それは、CUDAの仕様なのでしょうか。

368 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 00:23:19 ]
>>367
CUDAの面倒を見るスレッドでメモリ確保すればいいだけじゃん。

369 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 17:03:58 ]
ttp://pc.watch.impress.co.jp/docs/2008/0416/nvidia.htm

370 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 18:12:45 ]
NVIDIA必死だなw

371 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 23:56:06 ]
AdobeのPremierとか、先に取り込んだとこの勝ちになるんじゃね?

372 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 14:41:57 ]
おまえら2.0(Beta版)きたぞ

forums.nvidia.com/index.php?showtopic=64974&pid=363542&st=0&#entry363542

373 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 16:34:55 ]
otu

374 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 01:01:57 ]
CUDAプログラミングガイドに書かれているGPUの解説は
CUDAで使う場合限定の話ですか?CUDA対応GPUが行う処理全てについてですか?
例えば複数のグリッドで共有するメモリなど。

375 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 23:17:01 ]
>>374
共通する点もあるとは思いますが、CUDAでは(利便性と引き換えに)GPUの利用に
制限が掛かっていることから類推して当てにならないと思った方がよさそうです。



376 名前:デフォルトの名無しさん [2008/04/24(木) 23:35:24 ]
夏ぐらいまでにCUDAで一本何か作ろうと思うけど
今から始めるなら2.0がいいの?というか何が違うんだ?


377 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 23:50:27 ]
まずはEmuでつくれ

378 名前:デフォルトの名無しさん [2008/04/27(日) 18:53:52 ]
Visual Studio 2005じゃないとだめなのね

379 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 19:05:52 ]
サンプルが2005じゃないとビルドできないですね

380 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 20:39:58 ]
AMDの新しいbetaSDKって
Radeonじゃ動かんよね?

381 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 20:46:11 ]
>>380
スレ違い。

>>379
Linux版はインストールされているgccがあれば大丈夫。
# cygwinのgccが使えるといいんだけどねぇ。

382 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 20:52:27 ]
>>379
金がないってことか?
Express試用したら?


383 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 21:32:45 ]
>>381
スレねーじゃん
ケチくせーこと言わないで教えろよ

384 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 21:34:29 ]
GPGPUのスレあるだろ

385 名前:デフォルトの名無しさん [2008/04/27(日) 22:38:28 ]
>>381
逆にgccのバージョン違ってると上手く動かないけど。
個人的には*BSDで動いて欲しい。それも64bitで。




386 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 22:44:17 ]
>>385
そんときは、違うバージョンのgccを入れて設定を変えておけばいいらしい。
なので、ドライバは兎も角nvcc(とemu)は*bsdでも動く可能性はあるかと。

あー、今確認のために見に行ったら2.0betaの案内がCUDAZoneにも出てますね。
CudaVisualProfilerも2.0betaが出ているらしい。

>>384
だってAMDのは知らないし〜

387 名前:デフォルトの名無しさん [2008/05/04(日) 02:02:07 ]
かけ算にかかるクロック数や足し算にかかるクロック数を知りたいのですが、
そのような資料はないものでしょうか?

388 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 08:38:43 ]
ガイドブック。

389 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 08:47:28 ]
>>387
基本的に、掛け算も足し算も同クロック。
問題は、そこに至る過程なのでptxを出力してループ内の行数を数えるとか
メモリアクセスの個数を数えるとか。
そもそもプロファイラを使いこなせとか。

390 名前:デフォルトの名無しさん [2008/05/06(火) 18:16:16 ]
SLI環境で、GPUから別のGPUに直接データを転送することはできるのでしょうか?
もしできるのでしたら、やり方を教えてください

391 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 19:48:28 ]
>>390
>355-360

392 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 14:13:18 ]
CUDAってnVidia限定でしょ?
サンプル動かして感動したけど
せっかく作っても使える環境が限られると意味ないね

393 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 22:32:10 ]
確かに、仮令MacやLinuxで使える場合があったとしても、Windowsの半数以上で使えないからね。

まぁ、使いたい人が使うからいいのよ。

394 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 00:14:56 ]
スレッドをいくつか使うときに

スレッド0、1,2の計算が終わってから
スレッド4の計算を始めるってどうやって書けばいいの?

待ち同期どうやって作ればいいか解らない

395 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 00:27:53 ]
GPU側関数で同期を取るのは__syncthreads()でできるけど、
恐らくそれではパフォーマンスが出ないと思われ。
スレッドは数個だけ動かしている積もりでもWarp単位でしか動かないので、
分割の仕方を見直した方がよさそう。



396 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 20:14:25 ]
ついに、gtx 280がでるね。
第2世代型の統合シェーダーアーキテクチャってどんなんかな。
倍精度サポートとか、10秒で計算打ち止めへの対処とかいろいろありそうだけど。

自分的には、分岐への弱さの改良とか、ブロック間の同期機構とか、手を入れてくるんじゃないかと思う。
あとは、各種メモリの配分をどうしてくるか注目。shared memoryを倍増とかあるかな。

397 名前:デフォルトの名無しさん [2008/06/01(日) 23:08:01 ]
取らぬ狸のなんだが
GTX 280/260ではかなりの高速化が見込まれるがどう?


398 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 23:16:46 ]
消費電力がやばすぎると思う

399 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 23:17:36 ]
>>398
お前そんなネガ発言すると
このスレをN房の溜まり場にすっぞコラ?

400 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 23:53:38 ]
400Wゲトー


401 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 00:09:32 ]
IU鯖で使えるくらいになってほしいとこだよなあ

402 名前:188 mailto:sage [2008/06/03(火) 12:50:08 ]
今頃になって説明の間違いに気づいた……

>188の説明において、途中に出てくる分散と共分散の式が全て(n-1)で割られてないや。
相関係数の段階では分母子に出てくるから消えてなくなるんで忘れていた。
スレ違いだけど間違いを放置するのも難なんで念の為。
# Excelの分散は分母が(n-1)で、共分散は分母がnなんて仕様なのに気づいて、ここを思い出した。

403 名前:デフォルトの名無しさん [2008/06/09(月) 19:12:05 ]
CUDAを使ったプログラムは専用ドライバが入っていない環境では動かないですか?
配布は無理がありますか

404 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 23:32:27 ]
っ[knoppix for CUDA]


405 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 23:55:59 ]
普通に使うWindowsソフトの高速化として使うものではないと




406 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 15:49:19 ]
最新のnVIDIAドライバにだったら入ってるでしょ

407 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 16:34:56 ]
でも手軽にCUDAテクノロジを使えるのソフトというのも面白いね。

408 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 16:36:45 ]
>>406
最新のnVIDIAドライバにはCUDAが使える機能が入ってるってこと?


409 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 00:12:22 ]
スレチなんですけど、ほかに質問できそうなところがなくて・・

nVIDIA のグラボで水平スパンやDualViewの設定をアプリから制御する API みたいなのはあるのでしょうか?

アプリケーション起動時に自動でそのあたりを設定したいのですが。


410 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 00:55:07 ]
あると思うけど、しらね。NVIDIAに聞いたら?

411 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 09:59:32 ]
CUDAは別途ドライバが必要
Geforx8以上ならドライバ入れれば動くけど
一般ユーザーにドライバ入れるなんて作業が簡単に出来るわけないので
ソフトとして配布するのは無理じゃないかな
専用のインストーラーでも作るなら別だろうけど


412 名前:409 mailto:sage [2008/06/13(金) 10:11:50 ]
>>410
以前 別件でnvidiaジャパンに問い合わせてみたけどシカトされたからなあ。
とりあえず ELSAジャパンにメールしてみました。


413 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 11:31:55 ]
なんで標準ドライバにCUDAのドライバ入れとか無いんだろう・・・・

414 名前:410 mailto:sage [2008/06/13(金) 11:50:33 ]
>>412
あ、やっぱり?w
1000枚単位の客じゃないと相手にしないって噂は本当だったか<NVIDIA
ELSAもどうだろ。最近連絡くれなくなったからなぁ。

415 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 12:31:56 ]
NVIDIAジャパンは営業ばっかで技術スタッフ皆無だからな



416 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 16:51:49 ]
>>411
そうなんすかー
>>413
ですよねー

配るならDirectXやOpenGLでやるしかないということか。



417 名前:409 mailto:sage [2008/06/13(金) 17:33:23 ]
>>410
エルザから返事がきましたよ!

>基本的には制御不可能かと思われます。

泣ける。あとは nVIDIA のデベロッパーサイトのリンク。号泣。
1000枚とはいわんけど、30枚くらいは買ってるんだがなあ。

418 名前:デフォルトの名無しさん [2008/06/13(金) 22:17:30 ]

だから、最初からドライバの入ってる
knoppix for CUDA と一緒に配布すれば
良いじゃん。


419 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 22:51:47 ]
ドライバ内の公開向けには作ってない制御APIを、
公開しろとか騒いでも無駄だと思うぞ。
ドライバのバージョンでコロコロ変わってもおかしくないもんだし。

420 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 09:29:37 ]
GPUはin-orderですかそれともout-of-orderですか?

421 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 10:41:22 ]
ミクロではインオーダ
マクロではアウトオブオーダ

CUDAで見えるレベルだったらOoOと思っといてよい。

422 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 10:42:39 ]
速攻でミスった。

× CUDAで見えるレベルだったらOoOと思っといてよい。
○ 〜キホンインオーダ。ただしコンパイラはそれなりの最適化を施す。

423 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 15:03:34 ]
>>417

今のバージョンで使えるかどうかはわからんけど、NVControlpanel(nvcpl.dll)のAPIはある。

ttp://developer.download.nvidia.com/SDK/9.5/Samples/DEMOS/common/src/NvCpl/docs/NVControlPanel_API.pdf

年代からして、Vistaはおそらく無理。

424 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 18:41:39 ]
CUDAのサイトがリニューアルしてるぞ。
賛否両論あるとおもうが、とりあえず整理されている。


425 名前:デフォルトの名無しさん [2008/06/17(火) 19:29:20 ]
ROPユニットとストリームプロセッサの違いって何?



426 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:00:58 ]
>>424
見た見た。

そして、例によってCUDA-Enabled ProductsにGTX280/260が載っていない罠。

427 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:37:37 ]
GTX280 なんすかこれw

Vipperより糞じゃんw終わってるな

428 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:36:52 ]
>>413
>>416
最新のドライバから統合するようになったみたいだよ
ttp://www.nvidia.co.uk/object/winxp_177.35_whql_uk.html
提供されてるのが200シリーズ向けだけなので現在確かめようがないけど

429 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:39:29 ]
ん、いや統合はvistaだけなんだろうか・・・?
ttp://www.nvidia.co.uk/object/winvista_x86_177.35_whql_uk.html
こっちにははっきり
Adds support for CUDA? Technology.
と記述されてる

430 名前:デフォルトの名無しさん [2008/06/18(水) 04:25:53 ]
PhysXとCUDAは同時に使えますか?

431 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 07:35:59 ]
ゲロビディア終わったなw

432 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 19:53:32 ]
だれかgtx280でcudaやったやつおらんのか。

433 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 22:38:05 ]
ゲロビディア氏ね

434 名前:デフォルトの名無しさん [2008/06/19(木) 10:43:41 ]
>>432
やってみました。確かに速いが

435 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 13:31:41 ]
>>434
確かに早いが?。。。その先が気になる。
すまないが、他のボードとの比較とかの情報があるととても嬉しい。



436 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 16:17:10 ]
発熱が凄いってこったろう

437 名前:ヽ・´∀`・,,)っ━━━━━━┓ mailto:sage [2008/06/20(金) 21:52:57 ]
GPUとしては今はラデのほうが良いみたいね。
Brook+ってどうなのよ?


438 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 23:18:08 ]
実用にはまだちょっと厳しい。
F@HはBrook+で書いてるし使えないこともないってレベル。
今のところOpenGLやDirectXと協調出来ないからそこも問題かな。

439 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 00:01:39 ]
これから暑い夏を迎えて、発熱が凄いボードはどう評価されていくか興味深いね。

440 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 00:49:53 ]
洞爺湖サミットでNvidia名指しで批判されるらしい
だから焦っていろいろアピールしてるらしい
環境もっとも悪い製品を作ってる会社の代表格て
声明が盛り込まれる予定

441 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 13:03:24 ]
CUDA 2.0 Beta 2
forums.nvidia.com/index.php?showtopic=70171

442 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 19:11:15 ]
cudavideodecodeなんて今更何に使うんだと思ったけどDXVAがないOS向けか

443 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 21:18:32 ]
倍精度計算したいどの変数使うの?

444 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 22:24:33 ]
すいません。助けてください。
VC2005でサンプルをビルドしようとすると以下のエラーが出ます。

Visual Studio configuration file '(null)' could not be found for installation at 'C:/Program Files (x86)/Microsoft Visual Studio 8/VC/bin'

コンフィグファイルが必要なのかと思い、C:/Program Files (x86)/Microsoft Visual Studio 8/VC/binの下にnvcc.profileを
置いてみたのですが結果は変わりませんでした。

どうしたらいいですか。

OSはwindows xp 64で、CUDAのtoolkitとSDKは1.1です。


445 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 23:14:43 ]
>>444
cuda_build_rule.zip入れた?

倍精度で計算ってどうやって書けばいいの?



446 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 14:05:37 ]
大学の課題でで使うことになったのでマニュアル読んでみたけど、日本語訳がファッキンなのは仕様ですか?
冗談抜きで英語の方が判りやすかったw

447 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 14:11:15 ]
>>446
授業ページおしえてください

448 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 14:18:00 ]
>>447
うちの大学の教授が俺用に30秒で考えて出した課題なので、特に授業ページはありません。 ごめんね。

449 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 14:18:03 ]
>>446
授業ページおしえろゴラァアアアアアア

450 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 14:18:13 ]
>>446
NVIDIAジャパンには、まともな技術者がいないので仕方ありません。
尤も、営業にもまともなのがいるかどうか些か疑問ではありますが。

451 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 14:24:24 ]
Gerovidia Japanには屑営業しかいねーじゃん
実際CUDAとか国内研究で利用していて
すごそうなのは、Gerovidia本社から来るし

452 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 14:46:57 ]
cudaのおかげで英語力が向上しました

453 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 11:15:26 ]
cudaのおかげで彼女ができました

454 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 15:54:31 ]
double float はいつ???


455 名前:デフォルトの名無しさん mailto:sage [2008/07/07(月) 14:14:38 ]
いつって、2.0β使えばすぐできるんじゃないの? エミュで。



456 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 18:26:35 ]
CUDAが.NETから使えるようになってるらしいので興味持ったのですが(今現在動作環境なし)
C#とかVSとかとの親和性とか、ネイティブと比べて処理性能どれくらいかとか、試した人いたら教えてください

CUDA.NET
www.gass-ltd.co.il/products/cuda.net/


457 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 22:07:47 ]
ランタイムだけじゃね


458 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 22:56:51 ]
アセンブリ読み込めば後はどの言語でも使えてしまうんですかね
PowerShellやIronPython(pyCUDAというのもあるみたいですが)から使えたりしたら面白そう、面白そうなだけですけど

459 名前:デフォルトの名無しさん mailto:sage [2008/07/11(金) 15:12:02 ]
超初心者ですが質問お願いします。

自分のパソコンにグラボが2枚刺さっているのですが
CUDAで使うグラボを選択するにはどうしたらいいんですか?

めっちゃ初歩的な質問ですが回答お願いします。

460 名前:デフォルトの名無しさん mailto:sage [2008/07/11(金) 16:42:36 ]
サンプルにあるだろ

461 名前:デフォルトの名無しさん mailto:sage [2008/07/13(日) 02:02:23 ]
さわりだけだけど日本語資料みっけた
ttp://www.easize.jp/download/Workshop20071003.pdf

462 名前:デフォルトの名無しさん [2008/07/13(日) 21:18:58 ]
>>461
今月のインターフェイス8月号にも似たような資料があったYO!

誰かGpuCV使ったやついねーか…
makeできねーん、OpenCVで聞けばいいのかこっちなのかわかんね

463 名前:デフォルトの名無しさん mailto:sage [2008/07/13(日) 21:55:32 ]
>>462
環境書かけよくず

464 名前:デフォルトの名無しさん mailto:sage [2008/07/13(日) 22:34:52 ]
>>462
釣られてやったけどVS2005、VS2008
SuseLinux RedhatES 5.0 Ubuntu 8.04 CentOS 5.1で
ビルドできたんだがw

ビルドすらできないPGってカスもいいとこだろw

465 名前:446 mailto:sage [2008/07/15(火) 06:03:10 ]
うわぁぁぁぁファッキンなのは日本語訳だけかと思っていたらSDKもだったぁぁぁぁ

誰だcutil_math.hの float / float[2,3,4]の演算子オーバーロード書いた馬鹿は
俺の3時間返しやがれ
inline __host__ __device__ float2 operator/(float s, float2 a)
{
  float inv = 1.0f / s;
  return a * inv;
}

ひょっとしてcuda SDKのcommon/inc/以下のヘッダーってわりと危険だったりする?



466 名前:462 [2008/07/15(火) 06:50:30 ]
>>463-464
ちょっwwwww

環境はCentOS 5.19 64bit
GpuCV 0.4.2 driverはcudaのやつ174.55

gpucv,resources,sugoitoolsをダウンロードして

ttp://picoforge.int-evry.fr/cgi-bin/twiki/view/Gpucv/Web/WebHomeDownloadResources#SugoiTools
を参考にファイルコピー

cp -Rf bin\gnu\ ..\resources\bin\gnu\
cp -Rf lib\gnu\ ..\resources\lib\gnu\
は sugoitools/bin/gnu,libが無いので実行できず無視して↓のみやった
cp -f include\SugoiTools\*.h ..\resources\include\SugoiTools\
cp -f include\SugoiTools\*.inl ..\resources\include\SugoiTools\
cp -f include\SugoiTracer\*.h ..\resources\include\SugoiTracer\

しかしgpucvに入って./createSolutions.shで

./createSolutions.sh
Generating GNU makefiles:
...GPUCVHardware
...GPUCVTexture
...GPUCVCore
...GPUCV
...GPUCVConsole
...GPUCVSimpleApp
を読み込めません: そのようなファイルやディレクトリはありません
を読み込めません: そのようなファイルやディレクトリはありません
sed: ./projects/gnu/example/Makefileを読み込めません: そのようなファイルやディレクトリはありません


467 名前:462 [2008/07/15(火) 06:58:15 ]
無視してmakeしても

#make
==== Building CUDA plugin ====
==== Building GpuCV ====
==== Building GPUCVHardware ====
GLBuffer.cpp
<コマンドライン>:1:20: 警告: missing whitespace after the macro name
/usr/include/GL/glxew.h:150: error: ‘GLulong’ has not been declared
make[2]: *** [../../../Debug/gnu//GPUCVHardware/GLBuffer.o] エラー 1
make[1]: *** [GPUCVHardware] エラー 2
make: *** [SUB_DIR_ALL] エラー 2

468 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 07:35:41 ]
>>465
cutilはサンプル集だと思ってた方がいい。

469 名前:デフォルトの名無しさん [2008/07/15(火) 19:02:35 ]
カーネル内で二次元配列を使うと

Advisory: Cannot tell what pointer points to, assuming global memory space
というwarningが出るのですが、どのようにすれば出なくなるのでしょうか?

470 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 00:38:28 ]
>>469
「カーネル内」ってどこのこと?
いっそ再現する最小限のソースを貼ってくれた方が話が早そうな希ガス。

471 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 01:02:45 ]
>>467
必要なもの
premake(これはビルドするかパッケ拾ってくるのじゃいいな
OpenCV
libglew1.5-dev

SugoiToolsとかいうふざけた名前のライブラリSVNから盗んでくる
ちなみにこのSugoiBakaToolsを作ったやつはUnixとLinuxの.soを作る流儀を
知らん白雉なので許してやれ

svn co https://sugoitools.svn.sourceforge.net/svnroot/sugoitools/trunk sugoitools
cd sugoitools
premake --file Premake.lua --target gnu --os linux
make

これで./libにlibSugoiTools.soが生成される。

次に、GPUCVをSVNから盗んできてくれ

cd gpucv
premake --file Premake.lua --target gnu --os linux
cp ../sugoitools/lib/gnu/*.so ./lib
ln -s ../sugoitools/include/gnu/SugoiTools SugoiTools
ln -s ../sugoitools/include/gnu/SugoiTracer SugoiTracer

make

後は必要なライブラリ入れるだけでうまくいく
いかなかったら>>470にゴルァしてくれたらまた何かかくぉ?

472 名前:462 [2008/07/16(水) 11:23:00 ]
>>471
うひょーPremakeの使い方を始めて知ったお!

でもGPUCVTextureのコンパイルで止まる…

>必要なもの
>premake(これはビルドするかパッケ拾ってくるのじゃいいな
>OpenCV
>libglew1.5-dev

premake,OpenCVはインストしました。libglew1.5-devがCentOSで
rpmがなかったので
ttp://chihara.naist.jp/people/STAFF/imura/computer/OpenGL/glew/disp_content
を参考に導入しました

>svn co https://sugoitools.svn.sourceforge.net/svnroot/sugoitools/trunk sugoitools
>cd sugoitools
>premake --file Premake.lua --target gnu --os linux
>make

>これで./libにlibSugoiTools.soが生成される。

>次に、GPUCVをSVNから盗んできてくれ

>cd gpucv
>premake --file Premake.lua --target gnu --os linux


ここまで完璧です!

473 名前:462 [2008/07/16(水) 11:27:58 ]
>cp ../sugoitools/lib/gnu/*.so ./lib
コピー先は../resources/lib/gnuでしょうか、
でもgpucv/lib/gnuのフォルダにGPUCVHardwared.soができてるのですが。。。
うーん、両方(/resourcesと/gpucv/lib)試しましたがうまくいきません。。。

>ln -s ../sugoitools/include/gnu/SugoiTools SugoiTools
>ln -s ../sugoitools/include/gnu/SugoiTracer SugoiTracer
コピー先は../resources/include/SugoiTools等ですよね。。
こっちは/gpucv/Sugoitoolsで試してません
コピー先は
ttp://picoforge.int-evry.fr/cgi-bin/twiki/view/Gpucv/Web/WebHomeDownloadResources#SugoiTools
を参考に決めました。。

でmakeすると
# make
==== Building CUDA plugin ====
==== Building GpuCV ====
==== Building GPUCVHardware ====
..中略..
Linking GPUCVHardware
==== Building GPUCVTexture ====
DataDsc_GLTex.cpp
..中略..
TextureGrp.cpp
<コマンドライン>:1:19: 警告: missing whitespace after the macro name
../../../src/lib/GPUCVTexture/TextureGrp.cpp:100: error: prototype for ‘bool TextureGrp::AddTextures(DataContainer**, unsigned int)’ does not match any in class ‘TextureGrp’
../../../include/GPUCVTexture/TextureGrp.h:118: error: candidate is: bool TextureGrp::AddTextures(DataContainer**, size_t)
make[2]: *** [../../../Debug/gnu//GPUCVTexture/TextureGrp.o] エラー 1
make[1]: *** [GPUCVTexture] エラー 2
make: *** [SUB_DIR_ALL] エラー 2

うわああああああああああんごrrrrrっるうううううううううううああああああ

474 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 23:05:01 ]
>>473
GPUCVの馬鹿どもはMakefileすら満足にかけないみたいだから
あれだけど

premake間違ってるからちょっと修正
premake --file Premake.lua --target gnu --os linux --cuda

あとコンパイル関係のログは一番上見て
○○.h No sucha file or directoryって出てるはず
きちんとログは最初から理解していきましょう。

以下の場所にGPUCVxxxx.makだかって糞Makefile入ってるから
ここで○○.hが足りないって言われたら -Iでパス足してやって
vim ./project/gnu/lib/

それでうまくいくはず、この作業はちなみに6回ぐらい繰り返すので
GPUCVプロジェクト市ねって500回唱えるのがいい

475 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 23:59:18 ]
sugoitoolsってなんだよw馬鹿にしてんのか?
と思ったらマジで日本語の「凄い」から命名してんだな
ttp://sugoiaware.free.fr/




476 名前:デフォルトの名無しさん mailto:sage [2008/07/18(金) 13:45:05 ]
>>475
どっかのインターフェイスカードかとおもったよwww

477 名前:デフォルトの名無しさん mailto:sage [2008/07/18(金) 15:48:34 ]
確かにw

478 名前:デフォルトの名無しさん mailto:sage [2008/07/18(金) 16:00:58 ]
>>475
カナダにはSUGOIっていうスポーツウェアブランドもある
それくらいで驚いちゃ駄目だw

479 名前:デフォルトの名無しさん [2008/07/23(水) 17:22:30 ]
Windowsなんだけど、出来上がったexeって、
他のPCで動かすためには、exe以外に必要なものって何?

cudart.dllが無いって言われるのは、CUDA対応カードじゃないから?

480 名前:125 [2008/07/23(水) 19:17:13 ]
cudart.dllをsystem32に放り込むかpath通せ。


481 名前:デフォルトの名無しさん [2008/07/23(水) 19:27:03 ]
.cuファイルって外部のincludeファイルは読み込めないのでしょうか
template.cuに
#include <cv.h>

と1行書き加え、(OpenCVという画像処理用のライブラリです)

Makefileに
# OpenCVのためにパスを通す
NVCCFLAGS+=`pkg-config opencv --cflags`
LIB+=`pkg-config opencv --libs`

でMakeすると
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/include/mmintrin.h(49): error:
identifier "__builtin_ia32_emms" is undefined

/usr/lib/gcc/x86_64-redhat-linux/4.1.2/include/mmintrin.h(62): error:
identifier "__builtin_ia32_vec_init_v2si" is undefined


....................というのがダラダラ続く…

Error limit reached.
100 errors detected in the compilation of "/tmp/tmpxft_000010b9_00000000-4_template.cpp1.ii".
Compilation terminated.
make: *** [obj/release/template.cu_o] error 255

環境は
OS:CentOS 5.2 64bit
CUDA driver: NVIDIA Driver for Redhat Enterprise Linux 5.x with CUDA Support (174.55)
cuda toolkit:CUDA Toolkit version 1.1 for Redhat Enterprise Linux 5.x
CUDA SDK: CUDA SDK version 1.1 for Linux
です。よろしくお願いします

482 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 00:32:59 ]
>>481
普通になんでもインクルードできるよ。
だからこそ、cv.h経由か何かで読み込んでも解釈できないmmintrin.hまでインクルードしてしまっているわけで。
取り敢えず、cv.hが何をインクルードしているのか順に見てみたら?

483 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 00:33:42 ]
どうみても、Intrinsicの関数が無いと言ってるだろ

484 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 00:34:38 ]
>>479
ドライバ入れてもらわないとダメじゃないのか

485 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 14:55:26 ]
普段Radeonを使ってるんだけど、CUDAを使うならやっぱり取り替えなきゃダメかな?
もう一枚追加して普段はRadeonでCUDA用にだけGeforceを使えたらと思ったんだけど…



486 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 15:56:37 ]
最近CUDACUDA言ってるやつ多いけど、ShやBrookGPUも忘れないでね。

487 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 15:58:31 ]
>>485
ドライバがバッティングしないなら、その方が楽だね。GPU一枚だと、CUDAで暴走したときに画面が崩れる場合がある。
# ついでに言えば、Radeonで3Dアプリを動かしていてもCUDAの処理速度への影響が出にくいと言うメリットもある。

488 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 16:26:48 ]
SIGGRAPH2008でいろいろやるらしーよ
民主化だってさ
www.siggraph.org/s2008/attendees/techtalks/sessions.php

489 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 21:50:54 ]
GPGPUやってるやつらの論文
精度甘くてうそばっかりなんだけど

クイックソートレベルで嘘あるって
なんなんだろう

SIGRAPHも悪の片棒担いでるし
国内の正会員も歯切れ悪い胡散臭い爺多いし
あいつら本当に計算機科学全般に害悪な
ことばっかりしはじめたなぁ

490 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 21:58:06 ]
>>489
具体的に晒してください

491 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 22:24:38 ]
>>490
さらせねーよw俺社会的に終わる
それだけはヤダ

492 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 22:26:40 ]
>>491
つまり、いいがかりなんですね

493 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 22:27:06 ]
CPUに比べて○○倍ってよく見るけどCPUの方は最適化してなかったり1コアしか使ってなかったりやけに古いCPU使ってたり
数字をよく見せるために胡散臭いのはあるな

494 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 22:27:10 ]
>>487
ドライバの干渉が一番の不安なんだよなあ。
Geforce2枚刺して用途別にするのが一番いいんだろうけど完全に環境を変えなきゃいけないし…

495 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 22:32:13 ]
>>493
海外のも見てみてよ
査読ありの論文でレベル的ほとんど査読無しと
変わらないヒドイ質の論文多いから

GPUへのフェッチ性能とかそれのオーバヘッド
0扱いとかいう凄まじい論文あるぞ



496 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 22:52:43 ]
>>493
結構同意
CPUの数十倍早くなりました、とあるが
CPU,GPU間の転送時間を含んでいませんとかアホかと

497 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 23:17:06 ]
>>489
SIGGRAPHはもう正しく論文を精査できてない。
で、年度によってはとりあえず載せちゃえってスタンス。
それでも多過ぎてSIGGRAPH ASIAやっちゃえって事に。


498 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 23:19:53 ]
あのーここは学会加入してないとだめなのでしょうか
皆さん頭のよさそうな話ばかりで困ります

499 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 23:27:22 ]
同意する点もあるけれど、言いがかりに近いと思う点もある。

転送時間を含まないケースでも、CUDAに関して言えば転送時間を隠蔽できる可能性もあるし
初回だけで中間に転送がいらないケースもあると思う。

実際のところ、意味があるかはさておき単純なロジックを組んでみるとちゃんと理想値に近い時間で
処理できるのは事実だし、最新でないCPUでもGPUを使って高速化するという運用はありだと思うのだけど。

まぁ、一般論で片付けられる問題ではないから個別にレスするのは控えるけどね。

500 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 23:32:06 ]
>>499

>転送時間を含まないケースでも、CUDAに関して言えば転送時間を隠蔽できる可能性もあるし
>初回だけで中間に転送がいらないケースもあると思う。
CUDA内部の処理と
CUDA-バス-キャッシュ-CPU間の話どっちを
しているわけなの?厳密に答えてくれないかな?思うじゃなくて

そこ厳密に計測すると汎用的なアルゴリズムになるとせいぜい40GFぐらいしか
出てない。8CoreのXeon2台MPIするよりも全然遅くなっちゃうんだけど

501 名前:499 mailto:sage [2008/07/24(木) 23:36:14 ]
ついでに、WoodcrestXeon3GHzで8800GTを使った場合の実運用での処理時間について一言。
行列演算みたいなGPU向きの演算と違ってGPUには不利な演算なのだけど、
単体演算ではCPUのみに対してGPUを使った場合は約2倍の処理能力が得られた。
尤も、ファイル処理なども含めた実運用状態での処理能力比は1.3倍。
まぁこんなもんでしょってことで。要は、如何にGPU向きの演算に落とし込むかだね。

502 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 23:43:36 ]
スレチだしそろそろ自重しようぜと過疎スレで言ってみる

503 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 23:44:14 ]
>>501
それは何コア使って1.3なの?
SSEも入れて、TBL使ってMathLib使った場合と
比較して1.3倍?

504 名前:499 mailto:sage [2008/07/24(木) 23:46:29 ]
>>500
「汎用的なアルゴリズム」で40GFlops出て、8coreXeon2台のMPIと勝負できるならいい方なんでない?
8coreXeonでかりかりにチューニングしたら、GPUなんて使わない方が速くて当然だと思う。
そういうCPUと勝負するなら、GPU単体の性能じゃなくてCPU+GPUでCPUより「何割」速くなるかでしょ。

あー、書き忘れてた。>501に書いたのは2core*2CPUのシステムで、CPUのみとCPU+GPUの処理能力比ね。
CPUでも1coreだけ使うよりは4core使った方が当然4倍近く速いのだけど、そこにGPUを足すことで
更に1.3倍になったということ。1coreだけと較べてどのくらい速くなったかは失念している。
1coreのみを1とすると、2core2CPUで3倍、それにGPUを足して4倍位じゃなかったカナ。

505 名前:デフォルトの名無しさん mailto:sage [2008/07/25(金) 07:53:05 ]
具体的な論文名出せよ、そうしないから話がややこしくなる



506 名前:デフォルトの名無しさん [2008/07/25(金) 08:59:48 ]
>>482

>取り敢えず、cv.hが何をインクルードしているのか順に見てみたら?
すみません、こういう時どう対処していいのかわからなくて。
includeしていく順番を探せば何か見えてくるのでしょうか

cv.h - cxcore.h - cxtypes.h - emmintrin.h - xmmintrin.h - mmintrin.h

とつながっていました。mmintrin.hはMMX?xmmintrin.hはSSEでしょうか
私の直感だとこのくらいの解釈が限界です…

includeファイルを順にコメントアウトしてみましたがやはり通らず…
gccではコンパイルを通っているのにnvccではダメということは
MMX?が使えないようになっているのでしょうか

__builtin_ia32ほげほげが何者なのかさっぱりです…

ググるとWinXPではOpenCVが使えているっぽいので
XPのnvccではMMXが使えてLinuxのは使えないのでしょうか…

507 名前:デフォルトの名無しさん mailto:sage [2008/07/25(金) 10:18:10 ]
何か足りてないんだろうね。

508 名前:デフォルトの名無しさん [2008/07/25(金) 12:31:41 ]
コンパイルできるようになりました。

cxtypes.hの中でSSE2がオンになっている場所
#if defined WIN64 && defined EM64T && (defined _MSC_VER || defined CV_ICC) \
|| defined __SSE2__ || defined _MM_SHUFFLE2
#include <emmintrin.h>
#define CV_SSE2 1
#else
#define CV_SSE2 0
#endif

を見つけました。見てみるとWIN64のときだけオンになるみたいで…
ここで
#include <emmintrin.h>
#define CVSSE2 1
をコメントアウトして
#define CVSSE2 0
と書いたらコンパイルできるようになりました。
Vistaではこのようなことをしなくても
コンパイルできたのでは32bitからだったのでしょうか…

509 名前:デフォルトの名無しさん mailto:sage [2008/07/25(金) 12:44:05 ]
>>509
お疲れさん。そう言えば、Windowsでは64ビットでコンパイルできないってレスがあったからその辺りも関係するかもね。

510 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 01:31:05 ]
SIGGRAPHではないがCanny Edge Detection on NVIDIA CUDAなんてのを読むとなかなか笑える。

・Matlab並に速いアセンブラで最適化されたOpenCVと比較したよ!
 ~~~~~~~~~~~~~~~pugya-
・使ったCPUはIntel Core2 CPU 6600 @ 2.40 GHzだよ!
                   ^ EなのかQなのかはっきりしろと。
                    ま、所詮OpenCVだから結果に影響ないけどw
・GPUはGeForce 8800 GTX, 768 MB、OCなんてしてないよ!
                       ~~~~~~~~~~~~~~~~~~~~研究レベルでOCを考慮するッ
                                    そこにシビれる!あこがれるゥ!

511 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 02:49:51 ]
研究なら並列アルゴリズムだけ書いておけばいいんじゃね


512 名前:デフォルトの名無しさん [2008/07/28(月) 11:33:26 ]
opencvってアセンブラで最適化されてたっけ?

513 名前:デフォルトの名無しさん [2008/07/28(月) 19:52:47 ]
>>512
移植性考えてまったくされてないよ
デフォルトではシングルスレッドだからマルチコアも使われてない


514 名前:デフォルトの名無しさん mailto:sage [2008/07/29(火) 12:41:15 ]
今後GPUはえらい成長遂げるのに対しCPUはもう脚詰まりだから
いきなり8coreXeon2台とGPU一個が張り合えるという事実は大したことだ
後はプログラムの処理内容を最適化させれば良い

515 名前:デフォルトの名無しさん mailto:sage [2008/07/29(火) 16:07:34 ]
ハードgf98GX2 *2
ソフトwinXP VS2005
ドライバ cuda2.0β

上記の環境でC++とcudaを混在させることはできるのでしょうか?
キャプチャーカードのSDKがC++なので・・・



516 名前:デフォルトの名無しさん mailto:sage [2008/07/29(火) 16:29:57 ]
>>515
ドライバはCUDAじゃねぇぞ。

CUDAの開発では、*.cuのファイルがnvccでコンパイルしてデバイスモジュールとホストモジュールが出力される。
その後リンクするのはVSのリンカになるので、この段階でVSのオブジェクトモジュールとリンクできる。
但し、nvccはベースがgccなのでextern "C"を使うなどの工夫が必要かも知れず。

517 名前:デフォルトの名無しさん mailto:sage [2008/07/29(火) 23:27:10 ]
GCC使う以上、素直にLinuxで開発すれば良いのに。
なんでワザワザ苦労してWin糞使うのか?


518 名前:デフォルトの名無しさん mailto:sage [2008/07/29(火) 23:49:17 ]
大昔のように、
プログラム開発者=ハード&ソフト環境を自由に整えられる人
じゃないんだよ。

519 名前:デフォルトの名無しさん mailto:sage [2008/07/30(水) 02:02:48 ]
nvccってclのバージョンでエラー吐くから
Windowsだとclベースじゃねーの。


520 名前:515 mailto:sage [2008/07/30(水) 09:46:46 ]
>516
ありがとうございます。自身で試行錯誤してみます。
>517
MFCを使ってwindowsアプリケーションを作るのにwinの方がいいかと思いまして

521 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 00:43:16 ]
対応カードのドライバがXP〜しか対応してないみたいだけど、Win2kでプログラミングしてる人はいますか?
余ったPCでCUDAをやってみようと思ってるんですが>>173あたりを見ても対応して無さそうで…

522 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 01:03:10 ]
余ってないPCに二枚挿した方がよくね?

523 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 07:57:32 ]
余ったPCにLinux載せちゃうのがよくね?

524 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 20:52:04 ]
余ったPCを俺にくれればよくね?

525 名前:デフォルトの名無しさん mailto:sage [2008/08/19(火) 14:01:19 ]
いつのまにかにノート向けも対応リストに載ってるのね



526 名前:デフォルトの名無しさん mailto:sage [2008/08/19(火) 21:25:04 ]
2.0 北っぽいよ
ttp://www.nvidia.com/object/cuda_get.html

527 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 08:54:18 ]
>>515
.NET for CUDA つうのがあるみたいなんだわ
突撃してみてほしいです。

528 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 20:11:04 ]
日本版でもBeta2取れたけど相変わらずアナウンスはないな

529 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 01:43:22 ]
SDK2.0入れて見たんだが、threadMigrationってサンプルプログラムが
"cuCtxDestroy","cuCtxPopCurrent","cuCtxPushCurrent"が定義されてないってエラー吐いてる。
他のサンプルはコンパイル通るので、インストールが悪いのかSDKが悪いのか分からん。

530 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 00:27:10 ]
バージョンアップの観察はいいから何か作れよお前らwww

531 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 00:32:38 ]
作ってるよ〜
仕事だから詳細語れないけど。

532 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 00:40:43 ]
作ってるけど研究なので言えない
けど上手くいかない
ああああああ

はぁ…

533 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 00:48:53 ]
研究って学生の卒論ですか?
それとももっと高いレベル?



534 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 04:37:54 ]
自宅研究員…


535 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 11:45:11 ]
>>533
CUDAをどう使うかと、論文のレベルは関係ないだろw



536 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 15:24:13 ]
gpu4vision.icg.tugraz.at/index.php?content=downloads.php
CUDAを使った領域選択

537 名前:デフォルトの名無しさん [2008/08/27(水) 14:26:05 ]
CUDAのビデオ講義、リンクきれちゃってるね
せっかくiPod nano買ったから英語の勉強に聞きたかったのに…

538 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 22:19:54 ]
2日でCUDAマスターしますた
すごい簡単だなこれ
なんか質問あれば聞いて良いよ

539 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 22:28:04 ]
>>538
100万桁のπは何秒くらいで計算できますか?
1995年当時のスパコンで5秒らしいですが超えられますか?

540 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 22:40:52 ]
>>539
やってみないとわかりません

541 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 23:03:22 ]
CUDAでソートするアルゴリズム思いついた うひょ

542 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 23:40:53 ]
だれか多倍長をCUDAで効率的に実現する方法教えてくださいー

543 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 01:21:54 ]
>>541
www.nvidia.co.jp/object/cuda_sample_data-parallel_jp.html

544 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 03:35:38 ]
>>543
バイオニックソートってやつと同じwww
車輪の再発明かw

545 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 19:20:37 ]
当方 Mac なんだけど、CUDA 2.0 インスコしてサンプル make したのは
いいんだけど実行しようとすると

dyld: Library not loaded: @rpath/libcudart.dylib
Referenced from: /Developer/CUDA/bin/darwin/release/scalarProd
Reason: image not found
Trace/BPT trap

って出て先に進めない。どういうことなの。。。。。。
UNIX 詳しい人教えて下さい



546 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 19:43:28 ]
並列に計算して計算結果を1つの変数に合計するってのをやってるんだけど
10回に1回くらい計算結果が狂うのはなぜだ

547 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 22:37:59 ]
>>546
Atomic関数使ってみるとか・・・後、parallel reductionを読んでみると
良いかも

548 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 23:27:49 ]
>>546
そういうのはCUDAの最も苦手とするところだ。
全スレッドで同期を取って、代表1スレッドが合計するのが手っ取り早いが遅い。
全スレッドで同期を取って、代表nスレッドがmスレッド分合計してからnスレッド分を合計するのが無難か。
或いは、n個になった時点でCPUに転送してしまう方がいいかもしれない。

549 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 23:45:31 ]
転送が遅いんだよなあ



550 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 23:54:56 ]
ストリームを使えば殆ど隠蔽できるよ。

551 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 00:47:54 ]
>>548
n個分の計算結果を別メモリに退避しておいて1個のスレッドでそれを順次合計するってこと?

552 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 01:09:07 ]
>>550
kwsk

553 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 01:18:19 ]
>>551
そのままCPU側へ転送してCPUで合計しろってことでしょ?

554 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 05:37:24 ]
すんません、日本語版ドキュメントが公開されたってあちらこちらで書いてあるので
公式サイト探したんですが、なんかないっぽいんですが、これってもしかして削除されたの?

555 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 05:47:06 ]
日本語のマニュアルが必要なほど内容濃くないぞw



556 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 05:50:28 ]
グローバルメモリを使っても速度に限界を感じたんで、
テクスチャメモリを使ってみたいんですよね

で、そのために日本語ドキュメントも読んでみたかったんすよ

557 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 07:52:18 ]
テクスチャメモリはグローバルメモリの代わりにはならんと思うが。
共有メモリも使い難いし、定数メモリはデバイスから書けないし。
# 書けないのはテクスチャメモリもそうだけど。
アクセスパターンを見直したほうが医院で内科医?

558 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 13:22:07 ]
vs2008には対応するんだろうか

559 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 12:52:26 ]
2.0出たけど対応してなくてがっかりした

560 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 23:04:36 ]
>>559
俺は結局2005入れた。

561 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 07:35:45 ]
>>549
もれのやってるのでは転送に3msec、演算に400msecくらいなので
全然オーバーヘッドにはなってないすわ。演算の負荷小さ杉なんでは。
>>556
書き換え不要な定数行列をまとめて__constant__に置いて見たすが
ほんの3%くらいしか変わらなかったすわ。

両方とも、もれのコードがだめな可能性ももちろん有るけど。大有りッスけど。

562 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 12:19:40 ]
CUDAじゃなきゃ困るって用途がいまいち思いつかない

563 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 14:50:39 ]
それは、CUDAじゃなく直接GPUを扱うほうがいいということか、AMDのStreamナントカでもいいということか、なんだんだ?

564 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 04:17:53 ]
>CUDAじゃなきゃ困るって用途がいまいち思いつかない
なら使わなきゃいい

565 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 09:42:01 ]
100万回以上回るループとか、
何千回単位の二重・三重ループが有るならCUDAサイッコォゥンギモッヂイイイィイ



566 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 12:40:56 ]
>>564
バーカwwwwwwwwwww
頭悪いなお前

567 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 14:57:45 ]
>>565
確かに
初体験のあの気持ち・・・忘れられない・・・

568 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 19:25:13 ]
気持ちいのは分かるけど普段使わないようなものだしね
既にあるものを自力でCUDA対応させるのも気力が沸かないしね
倍精度浮動少数が扱えないしねwww

569 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 19:40:59 ]
>>568
CUDA 2.0は?単精度に比べてかなり速度が落ちるらしいけど。

570 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 19:43:46 ]
ハードの問題だから無理だよ
やってみた

571 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 19:58:03 ]
>>570
GT200世代じゃないとハードの問題で使えないのか・・・

572 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 01:17:51 ]
二重ループは兎も角、三重ループとなるとCUDAは苦手だと思うが。
一重は並列にしても、二重ループが残ってしまう。
最近のIntelCPUはループが無茶苦茶高速だから、WoodcrestでOpenMPでも使われたら太刀打ちできなくなる。

573 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 02:59:57 ]
CUDAをループの自動並列化だと思っていらっしゃるw

574 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 03:22:15 ]
ところで2.0正式版は皆さん安定してる?
うちは、テクスチャmemoryがなんだか変。
エミュで正しく動いているのに実機だと挙動がおかしい。

575 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 13:32:41 ]
CUDAでクラスが使えないのが痛いな
木構造系のアルゴリズムは並列処理にかなり向いてるし応用範囲も広いのにな
CUDAで無理やりやろうとすると無駄な処理をわざとさせないといけなくなるし
プログラムがむちゃくちゃ汚くて見てられない



576 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 14:08:13 ]
PyCUDAかCUDA.NETあたりを使ってぜひ感想を聞かせて

577 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 02:19:48 ]
CudaArrayに、48ビットや24ビットのRGBのデータを入れて、テクスチャにバインドできている方います?
うちではうまくいかないんですよね。

578 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 13:36:09 ]
CUDAってCPUモードがあるけどドライバが無い環境だと自動的になるの?

579 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 22:59:45 ]
エミュレーションモードの話かな?
自動的に切り替わるほど融通は利かないよ。

580 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 23:09:42 ]
dim3 threads(100,1);
method<<<1, threads>>>();
これはいけるんだけど

dim3 threads(100,100);
method<<<1, threads>>>();
ってやると一回も呼ばれないんだけど
何か勘違いしてる
threadIdx.xとyで2次元的に呼び出せるんじゃないの?

581 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 23:12:59 ]
スレッド総数は512まで(詳細はdeviceQueryを実行するべし)。
従って、100*100は拙い。

582 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 23:16:39 ]
追記:
その条件だけなら、dim3 threads(ThreadsOfBlock, ThreadsOfBlock)にして
dim3 blocks(100 / ThreadsOfBlock, 100 / ThreadsOfBlock)を追加して
method<<<blocks, therads>>>()するのが定番かな。
勿論、methods<<<100, 100>>>()でもいいけど効率は若干落ちることになりそう。

583 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 00:23:28 ]
method<<<dim3(100,100),1>>>();
にしたらいけた
もしやブロックって並列処理じゃないの?

584 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 01:06:40 ]
GPUのプロセッサからあぶれた分は時間軸方向に並列になります。

585 名前:デフォルトの名無しさん [2008/09/12(金) 13:31:48 ]
whetstoneとかのベンチマークをCUDAで動かしたいんだけど、
とってきたソースをCUDA環境で動かすには書き換えないとダメなの?



586 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 13:47:04 ]
sharedメモリなんだけど制限とかあるの?

method<<<dim3(1000,1000),4, 1000*1000*4>>>
とか

587 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 18:06:38 ]
ガウシアンぼかし3x3を500x800のフルカラー画像で約0.3秒だった
8400GSですけど
こんなもん?もう少し早いのを期待したんだが

588 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 18:45:28 ]
そのアルゴリズムはCPUでやるとどのくらいかかった?

589 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 18:51:26 ]
ブロックの分け方をいじったら0.15秒になった
CPUで同じの組むのめんどいです
エミュレーションモードってどうやってやるの?

590 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 22:29:38 ]
>>589
>エミュレーションモードってどうやってやるの?
nvccにオプション指定するだけだよ。
あくまでもエミュレーションだから余計に遅くなるけど。

>>587
サンプルで似たようなのなかった?
フィルタ類は色々あったと思うから眺めてみるといいと思う。

>>586
あんたもdeviceQueryを実行する必要がありそうだ。
sharedにそんなに取ると、物理量を大幅に超えるから巧く動いたとしても無茶苦茶遅くなるぞ。

>>585
whetstoneなんて、並列演算に向かないと思うのだけど。
あー、繰り返しを並列にすればいいか。それだったら移植もそれほど難しくはない。

591 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 23:29:34 ]
デバイス上にRGB(unsigned char)の画像配列を確保してある状態で
これをOpenGLのテクスチャにホストを介さずにバインドして利用出来る?

592 名前:デフォルトの名無しさん [2008/09/13(土) 05:38:14 ]
すいません質問です。
CUDAでFFTやってるサンプルコードとかどこかにないでしょうか。
探しても見つからなかったんです。

593 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 06:58:27 ]
>>592
simpleCUFFT違う?

>>590
「並列演算に向かない処理を並列にすればよくってよ?」
これ最高よね

594 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 08:25:22 ]
>>592
そのくらい自分で考えれ、そんなに難しい事じゃなじゃん

595 名前:590 mailto:sage [2008/09/13(土) 08:48:04 ]
>>593
>これ最高よね
???

>>592
CUFFT使うだけならnvccも要らない。



596 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 07:06:46 ]
>>590
誰かが「このアルゴリズムは並列化には向かないうんぬん」と言った
アルゴリズム×128本を同時に実行してしまうとか最高よね、という
意味なのではないかな。確かに上司の驚愕を呼ぶね。

597 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 13:08:08 ]
俺は並列化できそうな新たなアルゴリズムを考案しろという意味かと思った


598 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 14:18:16 ]
PIの計算だって本来並列には向かない

599 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 14:20:31 ]
CUDAでデバッグDLLが付属してないようなのだけど
例外処理ってどうやればいいので?
try..catchとか使えるの?

600 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 15:34:27 ]
無理。

601 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 01:10:50 ]
多体シミュやりたいなーと思ってたら,本屋で見かけたGPU Gems3に載ってた
でもそれだけの為に買うのもなー・・・3はいつ原版が公開されるんだろー

602 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 02:51:27 ]
なんかDirectX11で並列演算に対応するのと
11世代のOpenGLの仕様にOpenCLっていうCUDAの類似品が実装されるらしい
たぶんCUDAはこのまま消えていく

603 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 10:36:55 ]
GPGPUの可能性を示してくれただけで十分だよ

604 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 00:12:03 ]
カーネルのネストって出来るの?
__global__ void a(){
...
}

__global__ void b(){
a<<<dim3(100,100),1>>>();
}

void main(){
b<<<dim3(100,100),1>>>();
}

みたいな

605 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 00:50:28 ]
なんか根本的にひどい勘違いしてなくね?



606 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 00:55:26 ]
>>604
GPU内部からカーネルを発行することは不可能

607 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 06:46:20 ]
__device__ でプログラミングガイドを検索汁。

608 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 09:12:17 ]
>>602
CUDAの内部にOpenCLが含まれる構成だからCUDA

609 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 17:51:43 ]
処理に時間がかかるとGPUが完全停止してタイムアウトでドライバレベルのエラー出すんだけど
一回そのせいで画面全体がぐちゃぐちゃになってWindowsが操作不能にまでなったぞ
非同期実行じゃないんかい
どうすんのこれ?

610 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 19:18:20 ]
>>609
それは質問なのか?愚痴なのか?
質問だとしたら・・・分かるな?

611 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 20:43:54 ]
>>609

OSがVistaなら下の資料を参考にレジストリ弄ってみるとか。

WDDM によるタイムアウトの検出と GPU の回復
ttp://www.microsoft.com/japan/whdc/device/display/wddm_timeout.mspx

612 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 12:00:52 ]
192コアとか216コアとか240コアとか

使いづらいですよ!漏れの弱い頭がパンクしそうです!
お願いだから隠された力を覚醒させて256コア版出してくだしあ!!!11

613 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 19:27:47 ]
いや一回計算方法実装すれば後はそれを使いまわすだけだろ

614 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 11:58:30 ]
>>612
CUDAをVer2にするんだ。デバイス情報取得APIでコア数が判るようになっているぞ。
# つーか、256コア版の歩留まりが悪くてサブプロセッサ単位で減らして対応しているんじゃないの?w
# PS3のCBEが7SSEなのはそういう事情だそうだし。

615 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 13:20:34 ]
CUDAってなんて読むの?くーだ?



616 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 13:21:28 ]
んだ。

617 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 14:49:14 ]
cubaがキューバなんだから
cudaはクーダだろ・・・常識的に考えて・・・

618 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 15:18:21 ]
キュ〜(><)〜だ

619 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 19:23:46 ]
8400GSだと、h264エンコで実速出ないねぇ
12fpsがやっとだよ
もう少し速いかと思ってたんだけどな

620 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 01:41:34 ]
CUDAを使いたいと思っている初心者です
macのxcodeでもできますか??
imacで8800GSです

621 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 11:36:23 ]
>>619
よりによって、CUDAが動く最底辺の方のGPUを使わなくても……

>>620
NVIDIAの公式サイトが全てなので、そこを読んで判断してください。
つーか、xcodeってなに?

622 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 20:31:53 ]
>>620
5万払って雪豹もらってください。
動くレベルじゃないって話だけどね。

623 名前:質問です [2008/09/29(月) 20:37:44 ]
初心者です。
CUDAサンプルを動かしてみて感じた事なのですが、
HLSL,GLSL,Cg言語それらを使わずに、使った時のような絵が出せるのでしょうか?
CUDAもGPU上で計算しているみたいなので・・・



624 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 03:09:36 ]
それじゃあ俺も初心者です

625 名前:デフォルトの名無しさん [2008/10/01(水) 14:32:24 ]
じゃあおれも



626 名前:デフォルトの名無しさん mailto:sage [2008/10/01(水) 23:36:19 ]
>>623
サンプルを見たのなら判ると思うけど、OpenGLはほぼそのまま使えるようですよ。

627 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 00:48:53 ]
en.wikipedia.org/wiki/OpenCL#Example
これ見るとCUDAにそっくりだな
CUDAをちょっと修正するだけでOpenCLに対応出来そうだけど

628 名前:質問です [2008/10/05(日) 00:39:12 ]
>626
OpenGLは使えるのはわかってます。
CUDAでピクセル単位の計算できるのかが知りたいのです(汗
Cg言語を使ってバーテックスシェーダで計算していた処理を
CUDAで実現いてみたら、うまくいったのですが、
フラグメントシェーダでやってた処理が実現できなくて・・・
そもそもできるのかどうか・・・
ってところが知りたいのです。

629 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 03:26:43 ]
そのためだけにCUDAは作られました

630 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 03:28:30 ]
つかサンプルにSobelFilterってのがあるだろあれみれ

631 名前:質問です [2008/10/06(月) 14:55:42 ]
>>630
SobelFilter見てみました。
見落としてました。
ありがとうございます。


632 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 21:46:48 ]
日本の公式フォーラムできた
ttp://forum.nvidia.co.jp/

633 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 22:23:43 ]
なんとも直訳のような回答ばかりw

634 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 22:48:12 ]
直訳なんかしたらまともな日本語になってるわけないじゃないか

635 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 22:49:17 ]
あの回答がまともな日本語だと思うのか?



636 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 23:06:59 ]
ああ俺の中で日本語ドキュメントの思い出が醜化されていたようだ

637 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 00:32:34 ]
悪くない

638 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 01:03:23 ]
え、俺これ読んですごいwktkしてるんだけど。
サンプル投稿みたいな質問したら、気が向いたらNVIDIAが答えてくれるかも知れないって事でしょ?

639 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 02:28:44 ]
正直、ここで聞いた方がましだと思う漏れもいる。

640 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 06:42:53 ]
投稿者: NVIDIA CUDA Team
どんな人 専門家
自信   自信あり

ちょっと面白いw

641 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 07:43:30 ]
少し読んでみたが日本語のあのドキュメントよりはずっと読みやすいよw
あれは酷すぎた

642 名前:デフォルトの名無しさん mailto:sage [2008/10/12(日) 11:48:23 ]
それでもどう考えても英語のほうが読みやすいけどな。

643 名前:デフォルトの名無しさん mailto:sage [2008/10/12(日) 23:45:50 ]
アトミック処理に放射線の危険はありません。:-)

644 名前:デフォルトの名無しさん [2008/10/21(火) 20:40:02 ]
質問です。
CUDAを使って、GPU上で計算している部分の一部を、
FBOとCg言語を使って、オフスクリーンで計算させることってできますか?

もちろん、無駄なことはわかっているのですが・・・

645 名前:デフォルトの名無しさん mailto:sage [2008/10/21(火) 22:23:14 ]
なんでCUDAのサンプルってコンソールアプリばっかりなんだろう

コンソールアプリじゃないときは
CUT_DEVICE_INIT(argc,argv);
CUT_EXIT(argc, argv);
のargc,argvってとりあえず 0 と nullとか渡しとけばいいの?



646 名前:デフォルトの名無しさん mailto:sage [2008/10/21(火) 22:24:53 ]
>>644
日本語でどうぞ。

647 名前:デフォルトの名無しさん mailto:sage [2008/10/21(火) 22:27:14 ]
>>645
そもそもCUT_DEVICE_INITはMultiGPU環境でGPUの番号を指定したりするためにあるようなもの。
0とNULLでもいいけど、敢えて使う必要もない。
CUT_EXITに至っては、プログラム終了時にプロンプトを出すためにあるようなもんだ。
# 詳細は、cutil.hを読め。

648 名前:デフォルトの名無しさん mailto:sage [2008/10/21(火) 22:33:37 ]
>>647
ありがとうございます

649 名前:デフォルトの名無しさん mailto:sage [2008/10/22(水) 00:59:28 ]
>>645
ウィンドウ出してグラフィックだすようなサンプルも多いが。

650 名前:デフォルトの名無しさん mailto:sage [2008/10/22(水) 08:56:39 ]
普通にイメージクラスでCUDAを実装してDLL化して使ってるが
DLLだからコンソールだろうがWindowだろうが使えるぞ
でもお前らにはやらない

651 名前:デフォルトの名無しさん mailto:sage [2008/10/22(水) 12:41:14 ]
>>694
頭のほうしか見てなかった...

652 名前:デフォルトの名無しさん mailto:sage [2008/10/23(木) 14:06:38 ]
ここでロングパス!

653 名前:デフォルトの名無しさん mailto:sage [2008/10/26(日) 13:54:35 ]
ttp://pepper.is.sci.toho-u.ac.jp/index.php?%A5%CE%A1%BC%A5%C8%2FCUDA%2FProgrammingGuide2

654 名前:デフォルトの名無しさん mailto:sage [2008/10/26(日) 15:14:01 ]
今日からcudaプログラミングを始めようとしている超初心者です
nvidiaのGTX280のピーク性能は933GFlopsだって歌われているのですが、
しかし240のコアで1296MHzで動作しているのなら、311GFlopsになるはずですよね?
この3倍の数値の差はどこからくるのでしょうか?



655 名前:654 mailto:sage [2008/10/26(日) 15:16:30 ]
あ、もしかして1サイクルで3つオペランドを消費するような命令があるってことで
しょうかね?




656 名前:デフォルトの名無しさん mailto:sage [2008/10/26(日) 17:22:50 ]
maddならmul+addだから2倍なんだけど、3倍なんてあったかな? とこの前から思っている。

657 名前:デフォルトの名無しさん mailto:sage [2008/10/26(日) 18:34:50 ]
journal.mycom.co.jp/special/2006/g80/007.html
madd + mul で3の気がする

658 名前:デフォルトの名無しさん mailto:sage [2008/10/26(日) 19:15:55 ]
ベクタ計算じゃないので最内ループの記述は楽々
それでいて300GFLOPS台の性能がでるなんて夢のようですね

659 名前:デフォルトの名無しさん mailto:sage [2008/10/26(日) 19:25:03 ]
巧く嵌まればね。書くのは楽だけど、チューニングが大変なのは変わらないわよ。

660 名前:デフォルトの名無しさん mailto:sage [2008/10/26(日) 19:50:18 ]
ローコストにCUDAプログラミングやチューニングのコツを掴むのに適したマシンってありますか?

いま持ってるノーパソのGPUがnvidiaならよかったんだが、そうじゃないので
安くCUDAできるマシンを買おうか検討中。「試し」なので自作とか高価なのは避けたい

参考になる話があったら聞かせてくださいまし

661 名前:デフォルトの名無しさん mailto:sage [2008/10/26(日) 19:57:15 ]
予算を教えなはれ。
14万でMacBookとか?
後は、Nvidiaチップ内臓の自作で10万切ることも可能
今デスクトップPC不所持で5万の予算だったら無理。

662 名前:デフォルトの名無しさん mailto:sage [2008/10/26(日) 20:03:39 ]
意味のある試しプログラミングができればいくら安くてもいい
中古ノートのオンボロで構わないと思っている

奮発しても10万といったところですかね

663 名前:デフォルトの名無しさん mailto:sage [2008/10/26(日) 20:05:52 ]
私は一世代前のCore2Duoで8800GT入れているけど9万ほどだったかな。
今だったら、45nmのCore2Duoでメモリ1GB積んで9600GTでも入れれば結構楽しめると思う。
DosPara辺りのゲーム用PCが丁度そんな感じのスペックじゃないかな。
# 都合いいことに、「ゲーム用」はVistaじゃないことが多いしね。

664 名前:662 mailto:sage [2008/10/26(日) 20:10:12 ]
>>661
10万と書いたが、MacBookの14万というのはちと食指をそそられるな…

当方unixやlinuxはそこそこ扱えるが、Macは十年以上触ったことがないし
開発環境とかどうなっとるんでしょうか

665 名前:662 mailto:sage [2008/10/26(日) 20:15:35 ]
あ、そうそう
今のノートに買い替えてから使ってないけどモニタとキーボードはあります
モニタったって今時CRTのSXGAですけどね

>>661>>663
ありがとうございます。参考にします



666 名前:663 mailto:sage [2008/10/26(日) 20:21:45 ]
ちょっとDosPara見てきたけど、XP足しても8万くらいで作れるようね。後は余裕次第かな。
この手のBTOの常で、キーボードとマウスは嫌でもついてくるけど。

それは別として、MacBookで色々苦労したいのならそれはそれでありだと思う。
私なら、ミニタワーで安く済ませた分で、1280x1024を越える大きさの液晶モニタでも買うけどね。

667 名前:662 mailto:sage [2008/10/26(日) 20:36:02 ]
>>663
やっぱりMacは今でも苦労が多いのかw でもまあひと通り調べてはみよう。
ドスパラのBTOも、後で自分でチェックしてみることにします。

668 名前:デフォルトの名無しさん mailto:sage [2008/10/26(日) 20:57:29 ]
bootcampでlinux入れちゃえばOKジャマイカ?
と思ってググッたら酷い、お勧めできない。

669 名前:デフォルトの名無しさん mailto:sage [2008/10/26(日) 21:36:37 ]
GTX260は単体で3万円切っているので、工夫すれば10万でデスクトップ組めるかも??


670 名前:デフォルトの名無しさん mailto:sage [2008/10/26(日) 21:40:29 ]
別にWinノートPCを持っているなら、ミニタワーはLinuxでもいいんじゃね?
CUDAをWinで使うとnvccがgccベースだからC++関連の内部関数がめんどくさいよ。

671 名前:662 mailto:sage [2008/10/26(日) 22:17:28 ]
まあ先に言った通り自作は手控えたいです。トラブルを楽しむほどの余裕が今はないので。
ボード一枚突っ込むくらいですかね。自分の手でやってもいいやというのは。

>>670
VS2008があるので、できればそっちと連携させながらやりたい
(ガワとか作るのはC#が便利なので…)と思っていたんですが、難しいですかね。
cudaが基本gccだというのは判っているので、まあ何ならIPCで繋げばいいやくらいに
テキトーなことを考えていたわけですが。

672 名前:デフォルトの名無しさん mailto:sage [2008/10/26(日) 22:43:00 ]
VC向けのプロジェクトテンプレートあったよね

673 名前:662 mailto:sage [2008/10/26(日) 22:51:53 ]
>>672
ああ、ありましたね

これから風呂入って寝てしまうので、今日はこのへんで。
皆様どうも、いろいろご親切にありがとうございました。

一応、明日以降もときどきこのスレをチェックするようにします。

674 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 10:21:12 ]
グラボだけ変えればいいじゃん

675 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 10:23:30 ]
PCIEマシンを持ってないなら
E1200+9400GTあたりで組めば3万以内で組める



676 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 10:27:01 ]
ちなみにうちのE1200は3Gで動いてたけど
E7200に変えたのでサブにした
3Gあればメインマシンとしても十分だと思うけど
ただマザーはそれなりにOC耐性の高いものが要るので
どうしてもミドルクラスの1万5000円前後になるけどね

677 名前:662 mailto:sage [2008/10/27(月) 23:23:34 ]
>>675
だいたいそのへんで検討中です。
Windows XPをインストールするとケチっても5万くらいにはなっちゃうようですが
(自宅PCは98SE→Vistaノートへポーンと飛ばしたので、XPを持ってない)ま、それはそれで。

678 名前:デフォルトの名無しさん [2008/10/28(火) 21:31:33 ]
強力な浮動小数演算ができる装置を手に入れても、物理屋、ごく一部の化学屋、工学屋の超上位層ぐらいしか使い道が無いぽ。

679 名前:デフォルトの名無しさん mailto:sage [2008/10/28(火) 22:09:02 ]
と無知な輩がわめいております

680 名前:デフォルトの名無しさん mailto:sage [2008/10/29(水) 03:42:30 ]
実際ない

681 名前:デフォルトの名無しさん mailto:sage [2008/10/29(水) 04:44:41 ]
GPU Gemsの3とかに沢山載ってるよ。
暗号化解析とかパケットフィルタリングとか。

682 名前:デフォルトの名無しさん mailto:sage [2008/10/29(水) 05:09:26 ]
パケットフィルタの為に200W近く常時負荷掛けるなんて無理だ

683 名前:デフォルトの名無しさん mailto:sage [2008/10/29(水) 08:49:21 ]
>物理屋、ごく一部の化学屋、工学屋の超上位層ぐらいしか
もともとゲームやCGでさんざん使い倒されているデバイスなのに何を言うのか

CUDAは、ということであれば、たとえばこれを土台にファイナンス系のミドルウェアが作られたら
そっち系の需要が一気に開花するかもしれない
今んとこCUDAのサイトで紹介されている事例はいささか高尚すぐる気がするけどな

684 名前:デフォルトの名無しさん mailto:sage [2008/10/29(水) 09:33:00 ]
どっかの銀行でやってるんじゃないか?

685 名前:デフォルトの名無しさん mailto:sage [2008/10/29(水) 12:06:23 ]
銀行ってイメージ的に扱うトランザクションは半端なく多そうだけど、それがSIMDではなさそうな。
必要なのはPOWERに乗ってるような十進演算器じゃないの?



686 名前:デフォルトの名無しさん mailto:sage [2008/10/29(水) 13:21:47 ]
そう言えば、NVIDIAの営業が得意気に「銀行系には1000台単位でお買い上げいただいてます」とか言ってたな。

687 名前:デフォルトの名無しさん mailto:sage [2008/10/29(水) 14:19:44 ]
それ演算用ではなくて表示用だったりして。

688 名前:デフォルトの名無しさん [2008/10/30(木) 00:10:25 ]
DoubleFloatのみで対決したら、最新GPU1機 vs. 最新のクアッドコアCPUのどっちが勝つと思う?
CPUはamd64と、SSE等使用時(誤差を考えればむしろこっちと比較するべき?)の両方で予想してほしい。

689 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 00:12:02 ]
CPU

690 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 00:23:35 ]
用途による。
考えるのが面倒くさければCPU。

691 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 02:35:58 ]
メモリアクセスのペナルティがあるから、その観点で比べてもしょうがないよ

692 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 04:31:20 ]
銀行で使うとしたら、勘定系ではないだろ。
そうではなくて、商品開発やシミュレーションなど、1円2円ずれてもいいような業務

693 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 15:04:09 ]
銀行とかトラフィックが確かにすさまじいけど
システム改変するコストもすさまじいぞ
数十年に一回やれるかどうかだろ
それに負荷100%で24時間なんてカードが耐えられるとは思えない

694 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 16:15:06 ]
常時負荷100%という状況になっていること自体設計ミス
60〜70%が適正

695 名前:,,・´∀`・,,)っ-●◎○ mailto:sage [2008/10/31(金) 02:29:13 ]
>>671
マーケティングの人に直接聞いた話では、そのうちそのへんは改善されると思うよ。
あ、機密事項と言われてるので具体的には言えない。




696 名前:デフォルトの名無しさん [2008/10/31(金) 17:56:27 ]
最近銀行システムの開発で、6000人のSE集めた超プロジェクト失敗したものねえ。まあ当然だが。
SEが6000人だからねえ。プログラマはもっと多いとかもう想像つかない。

697 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 21:10:20 ]
TMPGencのCUDA対応版が出たんでインストールしたんだけど
CUDAの項目にチェックできないのは何故・・?

ドライバは178.24でグラボがASUSの8800GTS(640MB)

698 名前:697 mailto:sage [2008/10/31(金) 21:19:21 ]
スマソ自己解決
g80はダメなんだってねOTL

699 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 23:34:51 ]
>>698
イキロ。

700 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 00:39:03 ]
G80はストリーム系のAPIが使えないからねぇ。

701 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 01:49:28 ]
>>696
JRとかの鉄道や、電力といったインフラ系はもっと大きい。
しかし、大きいが故にPJ失敗しまくってる。

人数を増やせば増やす程、集めた人材の質は低下する。
そして頭脳労働の場合、一番質の低い人のレベルに
足並みを揃えなきゃいけなくなるからなぁ。

しかし戦中・戦後に一気に作ったシステムが老朽化して、
銀行どころでなく大規模な改修がどれもこれも必要なのだが。

#mixiで見掛けたよ>団子の中の人


702 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 01:54:45 ]
>>662
HP ML115サーバ機に、GF9400GTあたり刺して、
Linux入れたら? 1CD-Linuxの knoppix for CUDA
なら、最初からCUDA環境が構築済みで、サンプル
も憑いて来るし。

慶應義塾大学泰岡(やすおか)顕治研究室 Yasuoka Laboratory
www.yasuoka.mech.keio.ac.jp/cuda/

個人的にはGF8200なM/BのオンボでCUDA走れば、
裸M/BのCUDAクラスタ組もうかと思ってるが、
CPUやメモリの値段を考えると、ML115の方が
安上がりなんだよな。


703 名前:662 mailto:sage [2008/11/01(土) 06:57:01 ]
>>702
これはビックリ!こんな激安サーバがあるなんて知らなかった…
激安なのにPCI-Expressとかついてて(x16必須な)nvidiaのグラボもちゃんと動く、
ということでゲームの人達にも人気があると…ふむふむ。

ところで素のML115はメモリ512Mなのだけれど
上記研究室のページによるとknoppix for CUDAの推奨動作環境はメモリ2G以上、とある
ML115を使う場合、安いやつを別に買ってきて刺し換えればよろし、ということですね?
(ML115もhp直販だとメモリ増設オプションはECCつきの高いやつしかない…)

ML115が16k、9400GTが9k、2Gメモリも安いのは3k未満、で30kを切りますな。
個人的にサーバ機もAMD64もknoppixも使ったことがないので、
それらの組み合わせとなると微妙に不安だ(笑)が、いずれにせよこの値段は魅力的

大変参考になりました。ありがとうございます。

704 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 07:57:06 ]
デモ機で借りたTeslaC1060使っているんだけど、ホストCPUがAMDのPhenom。
Xeonに較べて遅い遅い。普段使っているXeonに8800GTの組み合わせの方が早いって何さw

705 名前:,,・´∀`・,,)っ-●◎○ mailto:sage [2008/11/01(土) 08:16:53 ]
つまんない質問だけどGTX2xxの人は電源いくらよ。
+150Wくらいはマージンとったほうがいいと思うよな?よな?



706 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 10:03:17 ]
なんに対して+150?
GTX280ボード単体での消費電力は236W、GTX260でも180Wクラス消費するからね。
ついでに言えば、補助電源用コネクタもGTX280は6ピン+8ピンの特殊コネクタが必要だし。

707 名前:,,・´∀`・,,)っ-●◎○ mailto:sage [2008/11/01(土) 10:25:14 ]
>>706
システム全体で。500W電源以上推奨って言ってるけどじゃあ500Wで安定するかっていうと
信用できねー

708 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 10:25:55 ]
無理。

709 名前:,,・´∀`・,,)っ-●◎○ mailto:sage [2008/11/01(土) 10:28:03 ]
とすると、マシン一式組んで貸し出してもらうのがベストだよな?
よし参考になった。

710 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 11:59:03 ]
8800GTなら100Wだし、補助電源コネクタも6ピンだけで済むよ。

711 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2008/11/01(土) 12:04:23 ]
うん、俺も8800GTまでなら550Wで余裕といえるラインかなと思っている。


712 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 14:45:29 ]
GTX280を使うのなら、700Wクラスの電源が欲しいところだね。

713 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 15:04:39 ]
CUDAは8800以上のクラスで無ければ意味ない。
8500とかはとりあえず走るだけでパフォーマンスは全然駄目。

714 名前:,,・´∀`・,,)っ-●◎○ mailto:sage [2008/11/02(日) 17:39:50 ]
8400GSとかになると額面性能でもCore 2シングルコア以下だな。


715 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 19:59:18 ]
  そだ  |------、`⌒ー--、
  れが  |ハ{{ }} )))ヽ、l l ハ
  が   |、{ ハリノノノノノノ)、 l l
  い   |ヽヽー、彡彡ノノノ}  に
  い   |ヾヾヾヾヾヽ彡彡}  や
  !!    /:.:.:.ヾヾヾヾヽ彡彡} l っ
\__/{ l ii | l|} ハ、ヾ} ミ彡ト
彡シ ,ェ、、、ヾ{{ヽ} l|l ィェ=リ、シ} |l
lミ{ ゙イシモ'テ、ミヽ}シィ=ラ'ァ、 }ミ}} l
ヾミ    ̄~'ィ''': |゙:ー. ̄   lノ/l | |
ヾヾ   "  : : !、  `  lイノ l| |
 >l゙、    ー、,'ソ     /.|}、 l| |
:.lヽ ヽ   ー_ ‐-‐ァ'  /::ノl ト、
:.:.:.:\ヽ     二"  /::// /:.:.l:.:.
:.:.:.:.:.::ヽ:\     /::://:.:,':.:..:l:.:.
;.;.;.;.;;.:.:.:.\`ー-- '" //:.:.:;l:.:.:.:l:.:



716 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 01:57:15 ]
サブノートPCでCUDA動くようにならんかな。
通勤、出張の途中でいぢってみたい。こんな
時でもないと、仕事に直結しないプログラム
組んでる暇無いからなぁ。

>>703
AMDの場合、メモリコントローラがCPUに内蔵なので、
ECCでもnon-ECCでも使える。安い通常のnon-ECCメモリ
1GBx2枚買ってくればOK。ML115はNTT-Xで買えば、
13800円(送料込)。


717 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 02:19:41 ]
つ N10J

718 名前:662 mailto:sage [2008/11/03(月) 06:43:24 ]
>>716
回答ありがとうございます。

719 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 11:13:39 ]
>>716
俺はサブノートでソースは書いてるよ。動作確認は自宅に戻ってからだけどね。
一発で動けば気持ちいいもんだ。

720 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 11:52:24 ]
質問です

OpenCLが出たらCUDAはお払い箱ですか?

721 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 12:00:27 ]
>>719
エミュは動いている?

>>720
いいえ、画像処理だけがCUDAの使い道ではありません。

722 名前:,,・´∀`・,,)っ-●◎○ mailto:sage [2008/11/03(月) 12:55:07 ]
Apple主導の言語処理系って流行らんだろ。
GPU版Objective-Cだと思え。


ちなみにNVIDIAから補助もらってる俺は仕事につながるって言えるのかな?

723 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 13:08:35 ]
>>722
その仕事、こっちにくれw
情報少なくて、参ってるんだ。

724 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 13:10:10 ]
>>722
ObjectiveCは言語仕様からしてクソだったから流行らなかった。
それだけです。

725 名前:,,・´∀`・,,)っ-●◎○ mailto:sage [2008/11/03(月) 13:25:26 ]
>>723
メールサポートだけもらってるけどマニュアル落として自分でやったほうが早いしなぁ

俺のほうこそ各ptx命令のレイテンシ・スループットの資料欲しいんだけど。
Intelはそういうのまめに出してくれるから助かるんだが



726 名前:,,・´∀`・,,)っ-●◎○ mailto:sage [2008/11/03(月) 13:29:01 ]
YellowBoxだっけ?
WindowsでもMacでも動くアプリケーションが動くフレームワークとか
大風呂敷広げてあれ結局どうなったっけ?

MicrosoftはDX11があるからOpenCLの標準化なんて破談する可能性大
Appleのフレームワークは地雷ばかりで困る。

727 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 15:35:29 ]
>>725
なんだ、ないのか。NVIDIAの日本法人は、ろくに情報持ってないっぽいんだよね。

728 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 16:03:03 ]
>>725
ptxは中間言語だろ?

729 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 17:02:05 ]
>>726
先入観が身を滅ぼすだろう。

730 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 17:55:12 ]
質問スレッドなので、唐突に質問するわけですが、ごきげんよう

CUDAのSDKに付いてくる
Programming Guide Version2.0の60ページ目の真ん中あたり

For devices of compute capability 1.x,
the warp size is 32 and the number of banks
is 16 (see Section 5.1);
a shared memory request for a warp is split into one request
for the first half of the warp and one request for the second half of the warp.
As a consequence, there can be no bank conflict between a thread belonging to the first
half of a warp and a thread belonging to the second half of the same warp.

が分からない。
何が分からないのかというと、これはShared Memoryの最適なアクセスに関する記述なんだけど、
ワープの中に並列実行できるスレッドが32個あるというのにshared memoryのバンク数は16個しかない。
普通に考えたら2つのスレッドが同時に1つのbankにアクセスするわけで、
思いっきりバンク競合するはずよね?
でも、この記述はバンク競合が起こらないって自信を持って記述されているわけよ
nVidiaの人教えてちょ

731 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 18:59:44 ]
Half Warp(つまり16スレッド)ずつスケジューリングされるんじゃなかったかな
だからバンク競合は起きない
nVidiaの人では無いが

なら何でWarp=16スレッドとしないんだろう…というのが俺の疑問

732 名前:,,・´∀`・,,)っ管 mailto:sage [2008/11/03(月) 20:56:32 ]
中の人いわく
命令レイテンシ隠蔽のためにクロック毎にインタリーブしてるだけだから細かいことは気にすんな


733 名前:730 mailto:sage [2008/11/03(月) 22:01:55 ]
なるほど〜
ワープの正体は16並列と見つけたり
ってことですな!

734 名前:デフォルトの名無しさん [2008/11/04(火) 14:28:34 ]
GeForce 9400MってCUDA使える?

735 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 16:04:29 ]
2.1でサポートできるように頑張ってるけど間に合わないかもしんないって言ってた



736 名前:,,・´∀`・,,)っ-●◎○ mailto:sage [2008/11/08(土) 18:21:17 ]
今月中に何かしら動きが・・うわなにをする
くぁwせdrftgyふじこlp;「’」

737 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 18:28:53 ]
個人的には1.3世代の1スロット厚のGPUボードが欲しいのだけれど……
# 出ますと言ってた奴はその後連絡寄越さないしなぁ。

738 名前:,,・´∀`・,,)っ-●◎○ mailto:sage [2008/11/09(日) 21:55:53 ]
コードの実行時動的生成(分岐除去とかパラメータの定数化とかってレベルで)って
CUDAではいまんとこ無理なんだよな?
Larrabeeが出たらそういう最適化できる部分はXbyak使おうかなと思ってるんだが


っていうか、SPMDじゃないプログラミングモデルまだー?

739 名前:,,・´∀`・,,)っ-●◎○ mailto:sage [2008/11/10(月) 01:14:51 ]
>>730-732
に補足。

各SPは最大2issue同時実行なんだけどデコーダは半速。
1SPあたり4スレッドでインターリーブして同じオペレーションを実行するとちょうど命令供給が間に合う構造だな。


1warp=
16にすると、デコーダは等速か、半速×2にしないといけない。
デコーダの負荷を抑えたかったんじゃないの?

740 名前:デフォルトの名無しさん mailto:sage [2008/11/11(火) 21:20:50 ]
CUDAはじめようと思って調べ始めたんだが、
7xxxシリーズはなんで切り捨てられたのか・・・

今週末に9600GT買いに行かなきゃ

741 名前:デフォルトの名無しさん mailto:sage [2008/11/11(火) 21:26:36 ]
どうせなら260だか280あたりにしといたら

742 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2008/11/11(火) 22:15:53 ]
電源とかケースとかの敷居高くない?

743 名前:デフォルトの名無しさん mailto:sage [2008/11/11(火) 22:33:54 ]
>>740
切り捨てられたんじゃなくて、始めから想定されてない。

ttp://journal.mycom.co.jp/column/graphics/index.html
この連載のはじめの方のGPUの進化を追うと、少しは判るかも知れない。
で、どうせならQuadroFX3700をお勧めします。8800GTとほぼ同一仕様でお値段10倍w

744 名前:デフォルトの名無しさん [2008/11/12(水) 22:41:03 ]
CUDA-Zなんて便利なものがありました。
forum.nvidia.co.jp

745 名前:デフォルトの名無しさん mailto:sage [2008/11/13(木) 21:17:18 ]
それよりレイトレベンチマークのほう、Bio100%が作ったのか!
SuperDepthとかカニミソとかが蘇ってきたぜ

スレ違い済まん



746 名前:デフォルトの名無しさん mailto:sage [2008/11/13(木) 21:20:01 ]
>>745
noridon.seesaa.net/

747 名前:デフォルトの名無しさん mailto:sage [2008/11/13(木) 21:58:30 ]
>>745-746
まだ生きてたのか!
PC-98では大変お世話になりました。

そしてブログを読んでみたら、超わかりやすい!
coalescedの意味とか、8/29のエントリみたいなメモリアクセスが遅い理由とかよく分からなかったんだよ。助かった。

748 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 01:15:52 ]
vista sp1にCUDAをインストールしたいんだけど
ドライバ:○

tool kit:×インストールが終了しない。。

で上手くインストール出来ないんですが、誰かしりません?
強制終了したらアンインストールの項目にtool kitの項目があるのにアンインストールするとerror:5001で失敗しやがるし。。。

最悪

749 名前:名無し募集中。。。 mailto:sage [2008/11/15(土) 02:28:14 ]
TMpegEncのCUDA対応は4フィルタだけで今のところあまり効果がないみたい
AviUtilのCUDA対応フィルタもパフォーマンス出ないという理由で公開停止
今からでもチャンスありますかね?

750 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 03:36:03 ]
作りたいなら是非作ってくれ

751 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 06:15:48 ]
>>748
管理者権限でやっている?
後柱ね。

752 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 21:32:05 ]
なんかLinux向けのドライバにCUDA2.1入ってるらしーよ
ttp://www.nvidia.com/object/linux_display_ia32_180.06.html

753 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 19:18:56 ]
>>738
www.nvidia.com/docs/IO/47904/VolumeII.pdf
スライド87

754 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2008/11/18(火) 17:41:42 ]
>>752
ついに来てしまったか>>736

755 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 23:45:16 ]
ラジオシティできるソフトってありますか?できればソース付きで...



756 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 23:06:52 ]
Cg勉強しようと思って調べてたら、CUDAってのもあるんだな。
それぞれできる事って、具体的に何が違うの?

とりあえず7600GTしか持ってないんで、CUDAは使えないんだが、
Cg勉強するぐらいなら、CUDA勉強したほうが圧倒的に良いなら
対応グラボ買おうと思うんだが






757 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 23:34:27 ]
そういう何処にでも載っていることすら調べられないのならCgにすれば。

758 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 13:20:39 ]
CUDA 2.1 beta
ttp://forums.nvidia.com/index.php?showtopic=82290

VC++9とDX10インターオペラビリティがやっと

759 名前:デフォルトの名無しさん [2008/11/21(金) 21:39:18 ]
cuda sdkのサンプルを実行するとtest failedと出て実行できないんですけど。
環境はos xp 64, quadro FX 4600です。
先ほどnvidiaからドライバとツールとSDKをダウンロードして
インストールしました。ドライバは更新されています。
visual studio 2005も入れました。

760 名前:デフォルトの名無しさん [2008/11/22(土) 17:06:06 ]
Teslaを使っているのですが、電源コードを抜く以外の方法で、装置を再起動
する方法はないでしょうか。
バグのあるコードを何度も実行した結果、cudaMalloc()が返ってこない
状態になっています。

761 名前:デフォルトの名無しさん [2008/11/22(土) 18:21:05 ]
たわけた質問だと思いますが、お許しください。
NVIDIA製のカードが入っていないPC上で、
nvemulate.exeを利用してCUDAを使用する事は可能なのでしょうか?
実際の処理に使うのではなく、CUDAプログラミングの練習に使うのが主です。

762 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 18:21:19 ]
>>760

Sシリーズならホストを再起動するだけで復活しませんか?


763 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 18:48:56 ]
やっぱ大学くらいしかまだ使ってないのかね

764 名前:デフォルトの名無しさん [2008/11/23(日) 00:55:06 ]
最近発売された、GeForce9300、9400を積んだMB、
少し前のGeForce8200、8300を積んだMBでも実用ではないですが、
CUDAのプログラミングをして走らせる事は可能なのでしょうか?
誰もmGPUでCUDAを使っていないので…

765 名前:デフォルトの名無しさん [2008/11/23(日) 16:49:51 ]
みんな何の計算させてるの?



766 名前:デフォルトの名無しさん mailto:sage [2008/11/23(日) 16:53:52 ]
株価予測をリアルタイムに

767 名前:デフォルトの名無しさん [2008/11/23(日) 19:03:26 ]
株価の予測はできんだろ。アホか。

768 名前:デフォルトの名無しさん mailto:sage [2008/11/23(日) 20:24:25 ]
>>767
阿呆丸出し乙

769 名前:デフォルトの名無しさん [2008/11/23(日) 20:25:59 ]
株価の予測ができたって言ってるのは、数年前の慶応が出してた論文ぐらいじゃねーの?

770 名前:デフォルトの名無しさん mailto:sage [2008/11/23(日) 20:35:29 ]
>>768
予想と予測は明確に違うんだぜ?

771 名前:デフォルトの名無しさん mailto:sage [2008/11/23(日) 23:52:44 ]
論点がづれてるー髪もづれてるー

772 名前:sage [2008/11/25(火) 12:13:34 ]
>> 762
shutdown -> 電源切断 -> 電源投入の手順を踏むと、復活しました。
ただのrebootで良いかどうかは試していません。

773 名前:アク禁中なので纏めてレス mailto:sage [2008/11/25(火) 12:18:30 ]
>>772
色色と掲示板の使い方を間違っているw
で、reboot試してないなら報告しなくていいから。

>>771
髪はずれないと思うぞ、髪は。

>>765
私の所では、最近はFFTWの代わりにCUFFTでFFTを計算させている。

>>764
NVIDIAのサイトのCUDA ZONEでリストアップされていれば、使える。

>>763
んなこたーない。

774 名前:デフォルトの名無しさん [2008/11/25(火) 15:29:23 ]
--device-emulationでは正しく動くけれども、実機では動かないときには
ソースコードをにらむしかないのでしょうか。

nvcc --device-debug (-G) というオプションがあったので、これをつけて
コンパイルすると、ptxas が Parsing error を出して失敗します。

forums.nvidia.com/index.php?showtopic=66291
の会話を見ると、--device-debug は今年5月の段階ではまだ使えなかった
らしく、私の場合と現象が似ているので、以前としてまだ使えないままか
と思ったのです。



775 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 18:33:51 ]
>>769
そりゃ、予想は出来る罠
ただ、外乱はいつも不明だし、確定解は得られない。
つまり、最尤推定しかできないし、当然推定結果が大ハズレってことも、
初めから推定理論に謳われてる



776 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 19:24:20 ]
株価予想が正確になればみんなそれを信じて買うようになるでしょ
予測自体が株価に影響を与えだして本来の予測とは違う値動きを始める
そして的中率は下がる
つまり一定以上の正確な予測を行うことは不可能なのだ

777 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 20:36:28 ]
ここには、当たり前の簡単なことを、必死に難しく言おうとしてる
能無しがたくさん居るようだねw

778 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 02:25:54 ]
1つの.cuの中で実装しているglobal関数の個数によって、
Kernel呼び出しのターンアラウンドタイムが変わるという奇妙な現象に遭遇してます。
特にKernelで処理するデータが少ない時に顕著になります。
関数の数を5〜10個で変えてみると、ターンアラウンドタイムは
最悪値で80μsec、最良で30μsecでした。
この値は
timer.start();
for (int i=0;i<100;i++) test_kernel<<grid,thread>>(test);
cudaThreadSynchronize();
timer.end();
みたいな書き方で調べてます。

9個目、10個目あたりで底があるようなのですが
こういう現象について、合理的な説明はありますか?
僕にはさっぱり見当がつかないのであります。

779 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 02:28:14 ]
何かを勘違いしている

780 名前:アク禁中(以下略 mailto:sage [2008/11/26(水) 20:28:00 ]
>>778
再現できるソースを貼ってくれたら解析するじょ。

781 名前:778 mailto:sage [2008/11/26(水) 23:00:43 ]
#include <windows.h>
#include <stdio.h>
#include <cuda_runtime.h>
//Round a / b to nearest higher integer value
int cuda_iDivUp(int a, int b) {return (a + (b - 1)) / b;}
#define BLOCK_DIM ( 32)
template <unsigned int loops>
__global__ void testcuuuuKernel(float* d_h0, unsigned int size)
{
unsigned int i = blockIdx.x * blockDim.x + threadIdx.x;
if (i < size) {
float d = d_h0[i];
for (int j = 0; j < loops; j++) {d -= j * 0.1; d += 0.9;}
d_h0[i] =d ;
}
}

void dummy() {
dim3 block(BLOCK_DIM, 1, 1); dim3 grid(1, 1, 1);
testcuuuuKernel<4><<<grid, block>>>(NULL, 0);
//testcuuuuKernel<5><<<grid, block>>>(NULL, 0);
//testcuuuuKernel<6><<<grid, block>>>(NULL, 0);
}
int main(int argc, char* argv[]) {
cudaDeviceProp deviceProp;
cudaGetDeviceProperties(&deviceProp, 0);
cudaSetDevice(0);
#define DATA_SIZE ( 100)
unsigned int byte_size = DATA_SIZE * sizeof(float);

782 名前:778 mailto:sage [2008/11/26(水) 23:02:57 ]
float* data = new float[DATA_SIZE];
for (int i = 0; i < DATA_SIZE;i++) {data[i] = i;}
float* d_data; cudaMalloc((void **)&d_data, byte_size );
cudaMemcpy(d_data, data, byte_size, cudaMemcpyHostToDevice);
LARGE_INTEGER nFreq, nBefore, nAfter; //TIMER初期化
DWORD dwTime;
memset(&nFreq, 0x00, sizeof nFreq);
memset(&nBefore, 0x00, sizeof nBefore);
memset(&nAfter, 0x00, sizeof nAfter);
dwTime = 0;
QueryPerformanceFrequency(&nFreq);
#define LOOPNUM 100
dim3 block(BLOCK_DIM, 1, 1);
dim3 grid(cuda_iDivUp(DATA_SIZE, block.x), 1, 1);
for (int k = 0; k < 10; k++) { //試行の試行
//start!
QueryPerformanceCounter(&nBefore);
for (int i=0; i<LOOPNUM;i++) { testcuuuuKernel<3><<<grid, block>>>(d_data, DATA_SIZE); }
cudaError err=cudaThreadSynchronize();
//stop!!
QueryPerformanceCounter(&nAfter);
cudaMemcpy(data,d_data,byte_size,cudaMemcpyDeviceToHost) ;
dwTime = (DWORD)((nAfter.QuadPart-nBefore.QuadPart) * 1000000 / nFreq.QuadPart / LOOPNUM);
printf("%d usec for %d times kernel launch\n", dwTime, LOOPNUM);
Sleep(400); //ちょっと待つ
}
cudaFree(d_data); delete [] data; getchar(); return 0; }

783 名前:778 mailto:sage [2008/11/26(水) 23:07:45 ]
再現できるコードを書いてみました。
Dummyという関数でテンプレート展開されている__global__関数の数を調整してみてください。
ちなみに使っているチップはGTX260です

784 名前:アク禁明けw mailto:sage [2008/11/26(水) 23:21:32 ]
>>783
面倒だから動かしてもじっくり読んでもいないのだけれど、
カーネル関数はGPUに都度転送することになるから
一回の呼び出し粒度が小さいと転送コストが目立つことになるよ。
その位だと、恐らくは起動コストも無視できないからもっと処理させるべき。
つーか、カーネル呼び出し(<<<>>>)をループで包んだらそりゃ遅いって。

785 名前:778 mailto:sage [2008/11/26(水) 23:28:05 ]
>>784
もちろんそれは分かるのですが、カーネル呼び出しの処理の内容は、<<<>>>の中の次元数に束縛される
傾向にあると思います。
データ構造などが異なる色々な処理を連携して実行する場合は、カーネル内の分岐では限界があるように思われます。
なので、1回当たりのカーネルのレイテンシを正確に把握しておきたいわけです。




786 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 23:35:04 ]
>データ構造などが異なる色々な処理を連携して実行する場合は、カーネル内の分岐では限界があるように思われます。
何にも判ってないと思われ。

787 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2008/11/26(水) 23:39:07 ]
っていうか、分岐ってさ、プレディケートで全部実行するんだよな?

if (cond) { //ここの条件は要素ごとに変わる
  funcA();
} else {
  funcB();
}

だったら、funcAとfuncBをインライン展開して全部プレディケートつき実行する感じだと思ってるんだが。

788 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 23:42:08 ]
困ったことに、団子に同意。

789 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 00:03:15 ]
条件分岐したら負けかなと思ってる by GPU


790 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 00:32:04 ]
そいえばCUDAって1つのカーネルのサイズが制限されてない?
でかいやつがまったく動かなくて苦労したんだけど

791 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 01:39:04 ]
どの位かは知らんが、そりゃぁ制限はあるだろうねぇ。

792 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2008/11/27(木) 01:54:09 ]
64Kのコンスタントメモリがあるじゃん。
コンスタントメモリは自分自身では中身の入れ替えは不可能。
あとはわかるよな?

793 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 02:23:46 ]
cudaで自己書き換えプログラムってできますか?

794 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2008/11/27(木) 02:37:41 ]
GPUのカーネルコード自身で書き換えるって意味なら無理。
PTXのバイナリコードを動的生成とかなら何かやれば可能かもしれない。

その辺の資料を中の人に要求したら

「機密事項ですのでお答えできません」

795 名前:デフォルトの名無しさん [2008/11/27(木) 17:49:14 ]
大学の研究室にCUDAプログラミング用のコンピュータが導入された!と喜んでいたら、
HP ML115 + げふぉ8400GSカードだった…orz 学習用仕様で萎えた…



796 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 17:56:05 ]
まぁ、学部生なら十分だろ。
どうせ大した論文も書かないくせに。

797 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 18:59:33 ]
>>796
お前みたいなの、必ず湧くよなw
人を馬鹿にしたら、自分が偉くなるとでも思ってんの?

798 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 19:42:03 ]
でも俺もそこまでは言わないにしても
学習用仕様で萎えたってセリフは贅沢だと思うよ。

799 名前:名無し募集中。。。 mailto:sage [2008/11/27(木) 19:46:05 ]
値段を見て萎えたって意味だろうが性能的には十分な気がするんだけど

800 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 19:54:22 ]
そもそもGPGPGUはなんなんだ?8800はVGA用途だろ

801 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 20:23:28 ]
>>797
この程度で反応するなよw
社会でやっていけないぞ

802 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 22:49:14 ]
>>795
それなんて俺
CUDA使ってみたくて買い換えを考えていたけど
PCI Express x16バス搭載で1万だったのでML115と
玄人志向の8400GSカード買ってきてCUDA環境を手に入れたぜ
メインで使ってるマシンより性能がよくてこのままメインになりそうな予感

803 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 22:51:16 ]
事前に断っておくと俺は批判されるとチンコがたつよ


804 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 23:04:29 ]
自宅でCUDA使ってる人のコンピュータスペックってどんなもん?

805 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 23:05:58 ]
>>804
c2d e6320



806 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 23:11:07 ]
>>804
PenD920 GeForce9600GT

807 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 23:31:34 ]
>>804
Core i7 920 + GeForce GTX 280

808 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 00:15:30 ]
>>804
Xeon + GeForce GTX280

809 名前:798 mailto:sage [2008/11/28(金) 03:29:12 ]
>>799
いや、新技術半可通の俺が察するにGeF8000系は
CUDA対応ハードの底辺だから文句言ってるんだよ。
研究室で導入する(自腹じゃない)んだからもっと良いのよこせってことだろ?

ぶっちゃけ研究といっても今の時期じゃ全体的に未成熟だし
そのスペックでさえ限界動作なんぞせんだろと思って贅沢だなと。

810 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 03:39:20 ]
>>800
そんなことはない。GPGPUは対応ハードならグラボ1枚でも2枚でも一応使えるんだよ。
実例は押さえてないんでなんともいえないが
競合さえおきなきゃRadeon(VGA)・GeF8800以上(GPGPU専用)ということも出来るはず。

用途と価格の兼ね合いもあるだろうけど、
とりあえず試したいとかコストパフォーマンス的に有利な部分もあるかもしれん。

4gamerの記事が参考になるよ。
www.4gamer.net/games/050/G005004/20080615001/

811 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 04:14:57 ]
>>809
底辺どころかメインストリーム

812 名前:798 mailto:sage [2008/11/28(金) 06:47:41 ]
>>811
ラインナップ上は確かGeF8世代からの対応だから一応底辺だろう。
>>795の萎える理由に対しての推測だからこの説明でいいんじゃね?

もっとも現状ではSP数の差による性能差がそこまで決定的じゃないから
2x0とかQuadroを期待してるんだったら贅沢なんじゃねって話。


813 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 07:50:33 ]
GT2x0:性能は兎も角、(電源などの)要求仕様が一般的でない。
QuadroFX:同程度の性能のGeforceの数倍の価格と言う段階で、論外。
# なんて書くと、「アキバ的発想云々」って言われるんだけどねw
もしこれらが理由なら、見識不足と言わざるを得ない。
単に、>795はML115が気に入らないんだろw

まぁ、今時なら8400GSでも8600GTでも9600GTでも大して値段変わらんと思うが。

814 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 11:07:07 ]
ML115の電源じゃパフォーマンスレンジのGPUは無理ね

815 名前:名無し募集中。。。 mailto:sage [2008/11/28(金) 11:14:47 ]
ML115の電源はサーバー向けだけあってそれなりに良い電源だよ
電源投入後の全開爆音は凄いけど
ちなみに容量は370W



816 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 11:52:57 ]
それじゃ精々8600GTSか9600GT止まり。8400GSは案外無難な選択じゃないのかな。

817 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 13:12:49 ]
ちょっと誰か日本の公式フォーラムのcudaggさんの日本語をなんとかしてあげて

818 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 13:51:35 ]
Ubuntuの話なら、一応意味は判るでしょ。
つーか、ここでフォローしても意味ないしw

819 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 18:56:55 ]
>>813
GT2x0で一般的でないとか言ってたらCUDA自体一般的じゃないだろjk
ML115が不服と言うのでも十分贅沢……。俺が行ってた某理系大学なんか(ry

820 名前:流石理系大学出は日本語読むことさえ放棄しているようだな。 mailto:sage [2008/11/28(金) 18:59:40 ]
>>819
GT280は200Wの電源とそれに見合う通風環境が必要になるってこった。
この際、CUDAが一般的かどうかが問題じゃない。

821 名前:考えること放棄してるやつよりマシだよ。 mailto:sage [2008/11/28(金) 19:53:01 ]
>>820
CUDAスレでの話だからマシン云々というよりは
単に出たばっかのGT2x0系じゃなかったことに萎えてるのかと思っただけじゃん。

そもそも研究室とかだったら要求仕様が一般的でないなんてことは些細なことだ。
例えばOracle高価だから絶対使いませんなんて真似しないだろ。
そういうところは必要あれば用意するだろうよ。
GT2x0載せるとしたらそりゃML115じゃ無理だろうけど、それに載せろとは誰も言ってないし。
一般的云々言われなきゃ俺だってCUDAが一般的かどうかなぞ持ち出さんわ。


822 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 19:55:38 ]
グラボの方に萎えてると思ったもうひとつの理由が、
CUDAプログラミング用ということだから
マシン自体のスペックはそれほど高くなくても良いはずなんだ。
電源さえ足りてればな。深読みしすぎた俺が悪かったよ……。


823 名前:デフォルトの名無しさん [2008/11/29(土) 01:30:32 ]
そこいらでレスをつけてるやつらの中に、8000系では一部使えない命令がある件を指摘するやつが居ないのは何でだぜ?
お前ら実は妄想だらけでなんもしてないんじゃないの?

824 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 01:46:30 ]
8400GSならCompute Capability 1.1だから
GT200で追加された命令でもなければ使えるわけだが。

825 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 02:59:51 ]
>>823
1.0世代は8800GTX,GTS,ULTRAに積まれたG80くらいで、8600GTや8400GSに積まれたG84やG86は
1.1世代だと言う知識もなしにここ見てたの? 他人を妄想だらけなんて指摘してられる状況じゃないじゃんw



826 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 03:20:49 ]
CUDAを単純に使いたいやつは、

HP ML115 (nttxstore.jp/_II_HP12591344)

G98の8400GS買えばおkだよ。

827 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 19:48:41 ]
グラボ早い順に並べるとどんな感じ?
やっぱりSP数×クロックなの?

828 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 21:13:40 ]
仕様を限定せずに一般的に言うなら、そりゃそうだ。他にどんな要素が来ると?
特定の応用でメモリ転送が重視されるのならメモリ帯域やバス仕様にも依存するし、
メモリ量が多い方が高速なアルゴリズムを採用できる応用ならメモリ量にも依存するわけだけど。

あー、1.0世代だとストリームが使えないと言う大きな欠点はあるね。

829 名前:デフォルトの名無しさん mailto:sage [2008/11/30(日) 00:11:00 ]
チップ外は考えてなかったφ(..)フムフム…

後からSPが減ってクロックが上がった製品が出るじゃない?
だいたい値段は一緒だけど、劇的に性能が違うのかなと…

830 名前:デフォルトの名無しさん mailto:sage [2008/11/30(日) 01:46:04 ]
同じ名前のSP減ったのは、恐らく歩留まりの関係で在庫処分しているだけだと思う。
使い方にも拠るけど、クロックが利く応用なら結構変わるかもね。
# SP数が利く応用なら逆に遅くなりかねない。

831 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 03:44:29 ]
やっぱみんなPDEとか立てたり解けたりできるの?


832 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 06:49:36 ]
そうだね
SDEとかね

833 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 23:36:29 ]
>>795
あぅっ、それはウチかも知れない。

まぁどーせ学生の作るプログラムなんて、レポート見てると
自分で作ってるのは15%ぐらいで、残りの人は友人のコピペ
改変か、ググって見付けたページのコピペ改変だからな。
予算の都合ってやつで、1人1台用意するならML115+GF8400
に成ってしまう。許せ。
おっ、これは?!と思うプログラムが出てきたら、GTX280で
走らせてやるから頑がってくれ。


834 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 23:40:13 ]
>>816
PCI-Ex補助電源コネクタ無いので、GF8600GT
か、GF9500GTまでが無難なところ。


835 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 00:15:15 ]
texture<float, 1, cudaReadModeElementType> tex;
のテンプレートで
> error C2018: 文字 '0x40' は認識できません。
ってエラーが大量に出るんだが、みんな出ないですか。
オレッスカ
textureのテンプレート使わなければでないのですが。

CUDA 2.1 + VC++ Express 2005



836 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 00:20:06 ]
>>835
PDFからコピペしてない?

837 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 00:36:23 ]
>>836
一回行コピペしてエラー出たので消して書いたのですが、
ファイルに変なコードが残るとかありますかね。
でもその行消すとエラーなしで、手書きで書いたら、
↓のようになります。

1>.cu(54) : error C2018: 文字 '0x40' は認識できません。
...
1>.cu(54) : error C2018: 文字 '0x40' は認識できません。
1>.cu(54) : error C2065: 'COMPILER' : 定義されていない識別子です。
1>.cu(54) : error C2146: 構文エラー : ';' が、識別子 'ERROR' の前に必要です。
1>.cu(54) : error C2065: 'ERROR' : 定義されていない識別子です。
1>.cu(54) : error C2143: 構文エラー : ';' が '<template-id>' の前にありません。
1>.cu(54) : error C2146: 構文エラー : ';' が、識別子 'tex' の前に必要です。
1>.cu(54) : error C2275: 'texture<T,dim,__formal>' : この型は演算子として使用できません
1> with
1> [
1> T=float,
1> dim=1,
1> __formal=cudaReadModeElementType
1> ]
1>nv_som_gpu.cu(54) : error C2065: 'tex' : 定義されていない識別子です。

838 名前:837 mailto:sage [2008/12/02(火) 00:46:22 ]
texture<float1, 1, cudaReadModeElementType> *tex = new texture<float1, 1, cudaReadModeElementType>;
ならOKなので、スタックにtextureを置くとダメな条件があるのでしょうか。

839 名前:837 mailto:sage [2008/12/02(火) 01:31:47 ]
kernelに引数で渡せないので
スタックにおいたらダメみたいでした。
解決。

840 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 23:13:52 ]
まだ、初めてみようかと考えている初心者以前のものです。
現状の自作数値解析プログラムはMPIで各ノードの各コアにプロセスを振っております(ノード内もMPIで並列)。
これの自然な拡張としては、MPIの各プロセスがGPGPUを使うという形になるかと思います。
しかし、マルチCPUのノードの場合、ひとつのGPUを共有することになります。
一つのプロセスがGPUのシェーダのうち1/4だけ使って、4プロセスから同時にGPUを使うなんてことは可能なのでしょうか?

841 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 23:47:13 ]
>>839
テクスチャはコンパイルするとただの数値みたいになるので、
グローバル変数としてそのまま使う以外のことはほとんど不可能、らしいよ。

関数にパラメータとしてを渡すのも、ポインタを得るのも無理。

842 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 00:02:52 ]
>>840
CUDAを使う場合、4プロセスから同時に使うことも可能。
但し、GPUをどう割り振るかはCUDAドライバの御心次第。
厳密に制御するには、GPU1枚ごとに担当スレッドを設けることになる。
# その場合、プロセス間通信でJOB型にするか1プロセスだけでGPUを占有するかは設計次第。

それはいいけど、プロセス全部分けるとマルチスレッドに較べて効率落ちないかい?

843 名前:840 mailto:sage [2008/12/03(水) 00:20:11 ]
>>842
ありがとうございます。
やはりリソースの競合が起きるようですね。

マルチスレッドは単純に覚えることが増えるのでやってませんw
スパコンのマニュアルでMPIを覚えたので、WSクラスタでもそのままの手法を持ってきてます。
一応、ノード内では共有メモリを使って通信するようなオプションでmpichをインスコしてるので多少はマシでしょうという感覚です。

844 名前:名無し募集中。。。 mailto:sage [2008/12/03(水) 02:19:05 ]
NVIDIA、PhysX/CUDAを活用する「パワーパック」の第2弾を提供開始
journal.mycom.co.jp/news/2008/12/03/001/index.html

845 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 03:31:23 ]
0x40でググったら
>文字 '0x40' は認識できません。 原因: ソースコード中に全角空白 ' ' が使われています。

まさか、な



846 名前:デフォルトの名無しさん [2008/12/04(木) 01:11:01 ]
こんな感じで網羅的に点を回転させるプログラムを書いているのですが、
Thread数が320を越えるあたりでrotate関数に全ての引数が渡らなくなってしまいます。
その時でも計算量が少ないからか、roll_axisのz成分などは、引数として機能しています。
roll_axisのx,y成分も適当な値に変えると引数として働くようになります。
rotate(&coord, &pitch_axis,ANGLE);をコメントアウトすれば,roll_axisのx,yはThread数が多くても引数として渡ります。
計算量が多くなると(特に三角関数?)起きる気がするのですが、何が回避する方法はあるのでしょうか?

--ptxas-options=-vはUsed 42 registers, 56+28 bytes lmem, 2080+32 bytes smem, 8024 bytes cmem[0], 88 bytes cmem[1]て出ます。
-deviceemuでは正常に動作します。

847 名前:846 [2008/12/04(木) 01:13:18 ]
>>846のソースコードです。
####kernel(Thread1つが回転させる点1つに対応)####
__device__ runDevice〜〜の一部
float4 yaw_axis = make_float4(0, 0, -1, 0);
for(iyaw = 0; iyaw < limY; iyaw++){
float4 pitch_axis = make_float4(-sin(radian*iyaw), cos(radian*iyaw), 0, 0);
for(ipitch = 0; ipitch < limP; ipitch++){
float4 roll_axis = make_float4(cos(radian * iyaw) * cos(radian * ipitch), sin(radian * iyaw) * cos(radian * ipitch), sin(radian * ipitch), 0);
for(iroll = 0; iroll < limR; iroll++){
if(tid == iroll + ipitch * limR + iyaw * limR *limP)
g_mem[tid] = coord.x; //回転できているか確かめる。

rotate(&coord, &roll_axis, ANGLE); //回転させる点の座標と、回転軸と角度を与える。
}
rotate(&coord, &pitch_axis, ANGLE);
}
rotate(&coord, &yaw_axis, ANGLE);
}

__device__ void rotate(float4 *coord, float4 *axis, int angle){
coord->x = axis->x;
coord->y = axis->y; //とりあえず現段階では引数が渡るか確かめてるだけ
coord->z = axis->z;
}



848 名前:デフォルトの名無しさん mailto:sage [2008/12/05(金) 14:25:22 ]
誰か、すげぇ簡単単純だけど、真理を付いてる様な神サンプル晒してよ

849 名前:デフォルトの名無しさん mailto:sage [2008/12/05(金) 15:02:45 ]
>>848
どんなの? SDKのサンプルやbioのblog辺りじゃお気に召さない?
具体的なテーマがあって、実装が難しくなさそうなら作ってもいいけどね。

850 名前:デフォルトの名無しさん mailto:sage [2008/12/05(金) 21:35:18 ]
ATI Streamから来ました。
スイマセン、場違いな場所に来てしまった。
AもまだなのにCなんて出来ません

851 名前:デフォルトの名無しさん mailto:sage [2008/12/05(金) 23:37:57 ]
共産主義者の書いたマンガによると、Aより簡単らしいぞ。

852 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 00:23:10 ]
最近の若い連中はしょっぱながCだからな

853 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 19:46:07 ]
cudaってさ
C-daにしておけばギャグっぽくてよかったんじゃね?

854 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 12:03:03 ]
それならCarracudaの方がw

855 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 22:50:38 ]
teslaの話題が少なくて絶望した!



856 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 23:03:23 ]
えー、QuadroFX5600のアナログ回路をとっ外しただけの代物の、何を語れと言うのさ。
聞いてくれたら答えるけど。
あ、4桁シリーズは白根。どうせ事情は一緒だと思うけど。

857 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 23:44:28 ]
>>855-856
このスレの住人は GPGPUの用途にQuadroFX使ってるの・・・?
ていうかそもそもみんな何使っているの?


858 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 23:58:17 ]
ML115最強伝説

859 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 00:12:18 ]
Tesla D870 が至高

860 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 00:59:33 ]
>>857
このスレともう一つのCUDAスレを見ると、QuadroFXのメリットが書かれていると思うが。
# 普通、使うわけないだろって。
8800GTX、QuadroFX5600、Tesla C870の価格を見る限り、Teslaは未だましだと思う。

>>859
D870ってNVIDIA謹製ミニタワーにC870を二枚入れた代物だっけ?
あれだったら同じ筐体のQuadroPlexの方が潰しが利くと思うのだけど。

861 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 01:51:03 ]
GeForce GTX 280 極上

862 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 20:16:56 ]
9600GT買ったらCUDAでエラー出まくりで問い合わせたら
CUDAのようなメーカー付属のドライバで対応してない機能は保障外とのこと
CUDAをやるために買ったのにCUDAが動くことを保障してないなんて
はっきり言って詐欺だよ

863 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 20:51:59 ]
DELLにVisual Basicで組んだプログラムでエラー出るんだけど?
って聞いてるようなもんだな。

864 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 20:54:42 ]
>>862
nvidiaのドライバだとどうなんだ?
マジに教えてくれ

865 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 21:07:30 ]
>>863
CUDA SDKのテストプログラムでエラーが出まくる
実行する度に計算結果が違ってくる

>>862
どういう意味?NVIDIAのドライバ以外にCUDAが動くの?
付属のCDのドライバ以外はNVIDIAの公式ドライバでも保障しないと言われた



866 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 23:35:15 ]
>>862
一体どこの糞メーカのPCなんだ?

867 名前:デフォルトの名無しさん mailto:sage [2008/12/10(水) 23:15:44 ]
>>865
>付属のCDのドライバ以外はNVIDIAの公式ドライバでも保障しないと言われた
それが普通ですよ。販売メーカとしては、自分のところでテストした
ドライバ以外は保証してないよ。

だから公式ドライバ入れる時とかもよく言われるでしょ。
トラブっても自己責任で、ってね。

868 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 00:00:11 ]
まあ当たり前なのは分かるんだけど、そこんとこ盲点だよ。
付属のバージョンだと根本的にCUDA機能が入ってないからね。
必然的にアップデートしないといけないのに保障外でしょ。
CUDAは素晴らしいとか大々的に宣伝してるけど動くかどうかは運次第という対応だからね。
これが世間に知れたらCUDAなんて誰も相手にしなくなると思うけど。

869 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 00:16:59 ]
tesla売るためだろ

870 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 00:19:56 ]
そうだろうね。TESLAは唯一保障された製品だからCUDAやりたい奴はTESLA買えってことなんだろう。
一般人には何の恩恵もない誇大広告だったというわけですか。

871 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 00:23:48 ]
メーカー純正フロッピーディスク以外使わない奴なんていなかっただろ。
みんなそうやって保証外の物を使ってきているんだ。今更何を言っているんだか。

872 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 00:27:34 ]
で、そんなふざけた事言うのはどこなんだ?

873 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 00:27:39 ]
どこかの誰かが同様にCUDAが使えないとなると自分がCUDAを使う意味がない。
だからCUDAは必要なくなるので別に何も問題ない。
誰もが使えないプログラムなんて作っても時間の無駄でしょ。
保障がないってのはそういう事よ。個人的な恨みとかじゃなく。

874 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 01:57:49 ]
ノートPCなんてNVIDIAが公式ドライバを提供しないんだぜ。
メーカーも提供しないから、アマチュアの作ったものを探してくるしかないっていう。

875 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 04:03:59 ]
あー、WindowsでCUDA試してないな、うちのMac



876 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 21:46:41 ]
保証が無いからどうだとかいうのは自作板でやってくれ。

877 名前:デフォルトの名無しさん [2008/12/12(金) 02:15:59 ]
>>857
犬板にも書いたけど、JetWay HA05-GTのオンボッボで動きますた。
USBメモリ起動で、薄いCUDA nodeの出来上がりです。
オンボッボももっと沢山SPU載る日はいつかなぁ。

878 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 18:46:10 ]

【GPGPU】CUDA/ATI STREAM 速度・画質検証スレ
pc11.2ch.net/test/read.cgi/jisaku/1228764782/
 


879 名前:デフォルトの名無しさん [2008/12/12(金) 20:35:23 ]
これからCUDAを使おうと思っているのですが、visualC++でうまくビルドできません。どなたか解決方法を教えてください。
環境はXPx64Edition,QuadroFX570でx64版のバージョン2.0のドライバとToolkitとSDKを入れました。
VisualC++は2005Expressです。

880 名前:デフォルトの名無しさん [2008/12/12(金) 20:39:35 ]
すみません、879ですが、ビルドできないのはSDKの中にあるprojectsのsimpleTemplateです。
webで調べてみると皆さん問題なく実行できるようなのですが。。。

881 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 22:05:56 ]
どんなエラーが出るとかの情報はないの?

882 名前:879 [2008/12/12(金) 23:26:03 ]
失礼いたしました。下のようなエラーがでます。
nvcc fatal : Visual Studio configuration file '(null)' could not be found for installation at 'C:/Program Files (x86)/Microsoft Visual Studio 8/VC/bin/../..'
>>444さんと同じような問題と思われます。VisualC++のコンパイラとの相性が悪いのでしょうか。詳しい方、よろしくお願いいたします。





883 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 06:12:02 ]
こんな連中ばっかりだし、クマには生きづらい世の中になったぜ

884 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 12:41:18 ]
C++もろくに使えない人がいきなりCUDAに手を出すのもどうか

885 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 14:55:07 ]
なんか64bit環境でもVCのclは32bit版使わないとだめみたいなことCUDAフォーラム(英語のほう)に書いてあったよーな



886 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 14:55:41 ]
nvccから呼ばれるほうのclのことね>32bit版

887 名前:デフォルトの名無しさん mailto:sage [2008/12/14(日) 01:21:53 ]
>>882
パスが通ってないんじゃね?

888 名前:879 [2008/12/17(水) 18:34:27 ]
PATHは通っていると思います。消してみると、
  nvcc fatal : Cannot find compiler 'cl.exe' in PATH
となりました。platformSDKのclにすると↓のようになりました。
  nvcc fatal : nvcc cannot find a supported cl version. Only MSVC 7.1 and MSVC 8.0 are supported
結局、CUDAtoolkitを32bitにしましたところOKとなりました。885さん、886さん、887さんありがとうございました。

889 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 20:02:14 ]
最適化してregisterの数を減らしたいんですが、
なんか心がけることとかコツってありますか?

890 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 23:45:04 ]
ptx出力を読め。以上。

891 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 00:41:24 ]
なんでわからないのでご教授を・・・・
VS 2005にカスタムウィザードを組み込んでパスも通して空の.cuファイルに書き込んだのに
1>LINK : fatal error LNK1181: 入力ファイル '.\Debug\sample.obj' を開けません。
と出るのですが・・・・何か環境設定間違っているのでしょうか?

892 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 00:49:51 ]
sourceforge.net/projects/cudavswizard
どうぞ

893 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 01:47:35 ]
>>892
それ使ってるんですが・・・readmeを嫁ということですね

894 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 03:39:45 ]
ptx出力がどうなるように最適化していけばいいんですか?

895 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 07:42:38 ]
>>894
>889なら、registerの数を減らしたいんだろ。ptxの出力を読んで少なくなっていればOKだw



896 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 00:21:41 ]
>>862
NVIDIA、モバイルGPUドライバを配布開始
〜ノートでPhysXなどCUDAアプリケーションが利用可能に

12月18日(現地時間)配布開始

 米NVIDIAは18日(現地時間)、モバイルGPU用の汎用ドライバを同社ホームページ上で配布開始した。
対応GPUはGeForce 8M/9M、およびQuadro NVS 100M/300Mシリーズ。

 従来、NVIDIA製モバイルGPUのドライバは、ノートPC本体のメーカーが提供していたが、
今回よりNVIDIAが汎用ドライバを提供することになった。対応OSはWindows XP/Vista。

 バージョンはデスクトップ版の180代に近い179.28 BETAで、CUDAに対応。これにより、PhysXや、
CUDA対応の動画編集ソフト、Photoshop CS4などでアクセラレーションが効くようになる。
ただし、PhysXについてはビデオメモリが256MB以上必要となる。

 なお、ソニーVAIO、レノボThinkPad、デルVostro/Latitudeシリーズ、およびHybrid SLI構成の
製品については対象外となっている。

 現バージョンはベータ版で、WHQL準拠の正式版は2009年初頭の公開を予定している。

pc.watch.impress.co.jp/docs/2008/1219/nvidia2.htm

897 名前:デフォルトの名無しさん [2008/12/21(日) 00:11:21 ]
なんでvaioは対象外ですか?いじめですか??

898 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 07:03:38 ]
vaioとか一部のノートはリコールされてるから

899 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 19:00:56 ]
それ以前にノートだとメーカーが色々やってるから
一般的にドライバ更新さえノートのメーカー対応待ちだろ。

900 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 22:30:31 ]
シェーダプロセッサってエラーがあってもゲームでは無視されて
認識出来ないレベルで画面が崩れるだけだから
一見正常に動いてると思っててもCUDAは動かない人が多いかも
ドライバが対応してるとか以前にハードが用件を満たしてない

901 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 10:44:05 ]
どこでエラーになっているのかデバッグしろよ

902 名前:デフォルトの名無しさん [2008/12/25(木) 15:53:55 ]
ちょいちょいCUDAをいじり始めてるんですが、OpenCLの規格が決まったことで、
CUDAの仕様も大幅に変わってしまうんですかね。

903 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 18:15:24 ]
MacBookProなんかだと自前でドライバ突っ込めばCUDA使えたんだけど,
VaioやThinkPadだとどうですか?
使っている人がいれば情報求む.

904 名前:デフォルトの名無しさん [2008/12/25(木) 18:21:26 ]
5秒制限の条件とか回避の仕方とかがよくわからないのですが
教えてもらえないでしょうか?

905 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 01:44:56 ]
ThinkPad T61はOpenGL関係以外は使えた。



906 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 03:48:04 ]
OpenCLはAPIのみだからCUDAとは別にライブラリが用意されるだけだと思うよ
こっちは専用コンパイラも必要ない

907 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 14:22:18 ]
>>904
Gridを何回も起動するしかないのでは。だから、途中結果をメモリにのこしとかないといけない。
面倒だよね。

908 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 14:35:42 ]
>>904
Xを使わない、グラフィック機能を使わなければいけるはず。

…何のためのグラフィックカードやねんって感じだが

909 名前:デフォルトの名無しさん [2008/12/26(金) 17:45:27 ]
>>907>>908
やっぱりそれぐらいしかないですか。
現状でグラフィック機能止めて使うのは無理なので
Gridの分割を考えてみます。

返答ありがとうございます。

910 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 18:15:35 ]
Vistaだとレジストリ弄ればもうちょっと長くできるよーみたいなこと言ってたような、言ってなかったような

911 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 22:25:09 ]
使うグリッド数を制限すればなんとかならなくもないんだが、効率は落ちるんだよね。
つーか、効率重視ならもう一枚挿すしかない希ガス。

912 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2008/12/27(土) 00:47:07 ]
こんなの教えて貰った
compview.titech.ac.jp/Members/endot/adv-app-hpc/2008schedule


913 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 05:05:39 ]
どのみちCUDA実行中は画面の描画が止まるから割り込み入れる工夫は必要でしょ

914 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 08:47:20 ]
描画要求の方がGridよりも優先されているようにしか見えないんだけど。
止まってくれたらどんだけ効率が改善することかw

915 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 11:52:08 ]
>>912
面白そうだけど、東工大は遠いなぁ。ワープアSEに新幹線は高い。
わがまま言うと、神戸でやって欲しい。



916 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 14:13:48 ]
大岡山の東工大なら歩いて行けるぜ!

917 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2008/12/27(土) 23:27:30 ]
>>915
六甲台か?
あの急勾配の坂は登りたくないな。

918 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 05:06:23 ]
>>912
これは紹介レベルだから、たいした内容ではないよ

919 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 11:44:34 ]
CUDAをクアッドコアで動くように出来ればいいのに

920 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 12:15:26 ]
>>919
どういう意味?

CUDAをQuadCoreCPUで動かすことなら何の問題もなくできるのだけど。

921 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 12:44:32 ]
っOpenCL

922 名前:デフォルトの名無しさん [2009/01/05(月) 20:09:11 ]
VIPPERの諸君 立ち上がれ!
以前韓国を打ち破ったのは誰か知らない、小学生や、他サイトの管理人がVIPを馬鹿にしている!

全員集結せよ。そして全員で打ち倒すのだ!

もし時間がない人は、この文章をそのまま他のスレに貼ってほしい!

対策本部
takeshima.2ch.net/test/read.cgi/news4vip/1231149782/

今こそ Vipperの意地を見せつけるのだ!

923 名前:デフォルトの名無しさん [2009/01/08(木) 17:49:55 ]
nc = 100*100
bs = 50
dim3 dimBlock(bs,bs)
dim3 dimGrid(sqrt(nc)/dimBlock.x,sqrt(nc)/dimBlock.y)
kernel<<<dimGrid, dimBlock>>>(idata, odata, sqrt(nc)

__global__ void kernel(float* idata, float*, odata, int nc)
{
index=blockIdx.x * blockDim.x + threadIdx.x +
+(blockIdx.y * blockDim.y + threadIdx.y) * nc
}
この時のイメージは、Gird:2x2、Block:50x50でよいのでしょうか?
それとこのままグローバルメモリで計算するのはできるのですが、一旦
シェアードメモリに退避して計算してグローバルメモリに戻す方法が
サンプルを見てもうまくいきません。どういう感じになるのでしょうか?

924 名前:デフォルトの名無しさん [2009/01/08(木) 18:11:37 ]
いつも疑問に思いつつ使っているのですがグローバルメモリ使うときも
共有メモリ使うときも
float* data;
CUDA_SAFE_CALL(cudaMalloc((void**)&data, sizeof(float) * 100)
CUDA_SAFE_CALL(cudaMemcpy(data1, h_data, sizeof(float) * 100, cudaMemcpyHostToDevice))
になるのでしょうか?これはグローバルメモリにとっているのですよね。
共有メモリの話は、kernelのほうで使用するかどうかですよね?


コンスタントメモリ使うときだけどうも
CUDA_SAFE_CALL(cudaMemcpyToSymbol(data, h_data, sizeof(float) * 100))
としてホストからコピーするんですかね?


925 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 23:27:14 ]
>>924
cudaMemcpyToSymbolは定数メモリの他、グローバルメモリでも使えるよ。
要は、device空間で定義されたメモリと言うニュアンスでしかない。
逆に言えば、cudaMemcpyToSymbolを使わないとhost側のメモリ空間に割り付けられたアドレスを利用しようとしてしまう。
# この辺が判り難いのよね。

共有メモリはグリッド実行中しか使えないからhost側からは為す術がない。

>>923
どのサンプル見てどうやったらどう巧くいかないのか具体的に。
少なくとも、>923のような処理なら共有メモリの使いようがないんだけど。



926 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 01:50:13 ]
warp単位32スレッドで同じ命令を行って、
実際に一度に動くのは8スレッド

こういう考え方でいいのですか?

927 名前:デフォルトの名無しさん [2009/01/09(金) 18:21:54 ]
>>925
結局現状では、cudaMemcpyXXXの違いは理解できそうにないです。
まあそれはよいとして(全然良くないですが)
>>923
のidataは、実は、一次元配列なんです。なのにカーネルには2次元で利用しよう
としているんです。
float host_idata[nc]
float* idata
cudaMalloc((void**) &idata, sizeof(float) * nc)
cudaMemcpy(idata, host_idata, sizeof(float) * nc, cudaMemcpyHostToDevice)
こんな感じのグローバル変数がidata。
としたとき、ncとbsの設定値によってはうまく処理できないことがあるのです。
これが謎です。わかる方いませんか?もちろんncはsqrtで整数になる値、設定する
値は、割り切れる値です。nc=1000*1000,bs=500で処理結果がおかしくなっています。
kernelの読んだあとエラーでinvalid configuration argument.になってます。

それと、共有メモリのほうですがこれは分かりました。
kernel<<<dimGrid, dimBlock, sizeof(float) * nc>>>(idata, odata, sqrt(nc))
第3引数の共有メモリのサイズを定義しないとだめだった。ちゃんと説明書を
読んでいなかったというレベルでした。これは解決です。

928 名前:デフォルトの名無しさん [2009/01/09(金) 19:05:25 ]
>>927
ブロックは512x512x64と出ているけどいちお3次元は分からないので512x512
としてxで512使い切るとどうもyではもう1しかとれないようです。
ncは、そのままだとエラーが出ないレベルは、bs=20つまり20x20=400ブロック
使用。21,22は割り切れないので設定できない。みたいです。
とすると一次元配列を使用するのにわざわざ、x,yの次元のブロックを使いきる
テクニックは必要なさそうですね。と推察できると思います。結果からですが
ただ、これがバグであるなら次のCUDAのバージョンアップで使えるようになる
かもですね。

929 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 20:53:02 ]
>>928
次元とは別に1ブロックあたり512スレッドが上限じゃなかったっけ?
どっかにきちんと書いてあったはずだからバグではないよ。


930 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 22:23:41 ]
私は1次元でやってしまうことが多いなぁ。
で、スレッド数についてはdeviceQuery参照で。

931 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 21:32:30 ]
スレッドの最大数はAPIで取得できる。全部512だと思う。
ブロックの最大は65535だから65535*512以上は1次元のグリッドでは扱えない。
あと最大は512だけど、192か256くらいのほうがパフォーマンスが出る。

932 名前:デフォルトの名無しさん mailto:sage [2009/01/14(水) 01:57:36 ]
CUDA 2.1 Release
ttp://forums.nvidia.com/index.php?showtopic=85832

933 名前:デフォルトの名無しさん [2009/01/14(水) 21:34:37 ]
情報サンクス。早速、Linux版ゲットした。

934 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 01:08:35 ]
9600GTでVideoDecodeのサンプル動かそうとしたら正常に動かなくて、
結局SDK2.0+178.24まで戻さないとダメだった。

2.1にもソースは付いてるけど、2.0のままみたいだね。


935 名前:,,・´∀`・,,)っ-●◎○ mailto:!sage [2009/01/15(木) 07:55:42 ]
>>931
1 warp = 32 threadで、GeForce 8/9が24warp/block、GT200で32warp/blockが最大だから
768thread/blockと1024thread/blockが最大なんだけどね。本来は。
CUDAのドライバ側が512でリミッタかけてるんだ。罠としか言いようが無い。
逆に言うとCUDAを経由しなきゃ目いっぱい使えるかもね。

ただ、スレッドインターリーブすると1スレッドあたりで使えるレジスタ本数が減っちゃうんだよね。
メモリレイテンシを隠蔽するならスレッドを目いっぱい使ったほうがいいし
逆に一時変数を何度も再利用する場合は、thread/blockを減らして1スレッドあたりの仕事量を増やしたほうがいい。



936 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 15:42:19 ]
CUDAってシーユーディーエーって読んでいいの?
それともクダとか、なんか読み方あったりする?

937 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 15:57:04 ]
>>936
クーダ

938 名前:,,・´∀`・,,)っ-●◎○ mailto:sage [2009/01/15(木) 15:58:34 ]
ネイティブの人は「クーダ」って発音してたよ。
Cellは「くた」だから注意な。

939 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 16:01:48 ]
ありがとう!明日から会社でクゥゥゥウーダ!!って叫びまくるわ

940 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 16:02:44 ]
きゅーだ って発音してる俺は異端ですかね?

941 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 16:23:46 ]
>940
そんな人いたんだ。

942 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 16:29:33 ]
英語的に クー よりも キュー だと思わね?

943 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 16:56:19 ]
>>941
異端だな

944 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 16:57:46 ]
どっちでもいいんじゃね

ちなみにnudeはニュードとヌードの両方の発音が有

945 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 17:13:01 ]
キュもクも似てるし、まあ仮に間違って言ったとしても気づかれないんじゃない?



946 名前:デフォルトの名無しさん [2009/01/15(木) 19:38:28 ]
ホムペにはクーダと嫁
と書かれてたはず

947 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 22:24:41 ]
"The cuda and my wife"

948 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 23:40:36 ]
たしか英語版のfaqには
kuh-da
と書いてあったはず

949 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 23:53:57 ]
2.1はJITサポートがミソ?

950 名前:デフォルトの名無しさん [2009/01/16(金) 14:10:31 ]
2.1をつついた人に質問
2.1ではカーネルに渡す引数でポインタ配列は使えますか?

951 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 18:48:04 ]
共有メモリからグローバルメモリに連続領域をコピーするにはどうすればいいでしょうか
カーネルから呼び出せるmemcpyみたいなのがあれば教えてください

952 名前:デフォルトの名無しさん [2009/01/16(金) 18:58:33 ]
cudaMemcpyが長いようで、the launch timed out and was terminated.が
でてしまいす。これなんとかするほうほうありましたっけ?


953 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 21:53:12 ]
>>952
転送量を減らす。

>>951
cudaMemcpy

954 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 00:16:47 ]
>>951
スレッド内で連続的にメモリにアクセスするようなコードは望ましくない。
coalscedにアクセスするとなると、自分でコードを書くしかない。
共有メモリから転送を始める前に、同期を取ることも忘れずに。

>>952
参考までに、どんなハードウェアの組み合わせでどれくらい転送しようとしている?
8800GT辺りだと転送できるだけ全部転送してもタイムアウトしないのだけれど。

955 名前:デフォルトの名無しさん [2009/01/17(土) 02:52:44 ]
>>954
カーネル実行後の結果データコピーでエラーになっているのですが
sizeof(float)*1000バイトを100回連続でコピーしています。
100個とも別のアドレスに結果をコピーしたいためそうしてます。やはり
いっぺんにメインメモリにいったんコピーしてからやったほうがいいので
しょうか?



956 名前:デフォルトの名無しさん [2009/01/17(土) 03:03:49 ]
>>955
sizeof(float)*10000バイトを100回連続コピーでした。

957 名前:デフォルトの名無しさん [2009/01/17(土) 07:16:40 ]
>>954
>>952
> どんなハードウェアの組み合わせ

958 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 07:19:52 ]
>>956
同一データ部分を100箇所にコピー?
独立の100箇所をコピー?


959 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 07:55:29 ]
>>956
それ、本当にメモリのコピーでタイムアウトしてる?
カーネル実行後に同期取らずにすぐにメモリのコピー始めて
100回コピーのどこかでカーネル実行がタイムアウトしてるとか。

cudaMemcpyの戻り値は
Note that this function may also return error codes from previous, asynchronous launches.
ということだし。

960 名前:954 mailto:sage [2009/01/17(土) 08:44:25 ]
>>955=956
えーと、都合数MB程度ってことか。それだったら>959の言うようにカーネル関数のタイムアウトじゃないかな。
DEBUGつきでCUT_SAFE_CALL(間違ってたら失敬)を使うか、自前でcudaThreadsSynchronize()を呼んで戻り値を見てみて。
カーネル関数起動後は、復帰を待たずにホストの処理に戻るからカーネル関数自体のエラーはカーネル関数起動では捕捉できないのよ。
で、まさかとは思うけど同一データを100回コピーならバス越しにやってはダメ。別のデータならホスト側の用件次第かな。
# でも多分、一旦ホスト側に転送してから分配した方が速い気がする。CPUとメモリ周りがよっぽど遅くなければ。

>>957
下手な突っ込みはお郷が知れるよ。この場合、CPUが遅いんじゃないかとかバスがx1なんじゃないかとかGPUがモニタ表示か何かで
よっぽど負荷が掛かっているんじゃないかとかGPU側メモリが巨大なSTELAなのかとか、組み合わせ次第で色々条件が変わってくるのよ。

961 名前:デフォルトの名無しさん [2009/01/17(土) 09:52:40 ]
>>960
> 下手な突っ込みはお郷が知れるよ。


質問者が答えてないのを指摘しただけなんだが…
誤解させてすまんかった

962 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 11:09:08 ]
そういう意味か。あの書き方じゃぁ、誤解されるよ。
まぁ、大量転送じゃないと言う意味で、今回は関係なさそうだね。

963 名前:デフォルトの名無しさん [2009/01/17(土) 15:38:06 ]
>>952の話
>>957
ATIの統合チップセットでオンボードのATIビデオカードを無効
PCI-E 1.0 x16バスにGeforce9600GT 512MB
CPUはAMDデュアルプロセッサ(結構遅いやつ)

964 名前:デフォルトの名無しさん [2009/01/17(土) 15:55:29 ]
>>952の話
>>959
カーネル実行
a:cudaのエラーチェック(カーネルのエラーのありなし)
cudaThreadsSynchronize
for(100回
結果データをデバイスからホストにコピー
b:cudaのエラーチェック(直前のcudaMemcpyのエラーのありなし)
)
bのとこでthe launch timed out and was terminatedが出てるんです。

先週は時間がきてあきらめて帰ったのでここまでです。
言われたようにcudaThreadsSynchronizeの戻り値見てみたほうがよさそう
ですね。

965 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 18:45:09 ]
>>951
共有メモリはカーネル起動時に動的に確保されるメモリ領域だから
カーネルが終了したら消えるし、1つの実行スレッドから全部コピーなんて論理的におかしいし
共有メモリはあくまで高速動作と同期が取れる作業用のメモリとして考えたほうがいい
共有メモリを使って計算した結果は1個づつ普通のグローバルメモリに入れてやるのが正しいやり方

>>952
10000を一度に転送して実行しても
1を10000回繰り返して転送しても
実行時間は大差ないんですよ
CUDAで実行する部分は出来るだけコンパクトにまとめて
呼び出す本体の方で特殊な演算関数くらいの感覚でループさせて使うのが正解



966 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 23:59:40 ]
JCublasについて
おしえてエロイ人

967 名前:デフォルトの名無しさん [2009/01/19(月) 11:04:50 ]
>>925の話
cudaThreadsSynchronizeの戻り値をチェックしたら
the launch timed out and was terminatedが出ていました。結果コピーで
エラーで落ちてたのだけどエラーデータは、その前に実行していた
cudaThreadsSynchronizeの問題だったようです。

(cudaThreadsSynchronizeが正常になるまで待つとしても配列を
100x1000回、100x10000回、回すと1分待っても同期とれないようです。)

つまりカーネルに同期できない処理が書かれていたのが原因だと思います。
NVIDIA_CUDA_Programming_Guide_2.0.pdfのp34-35のようなコードで
かつそこのカーネルのdevPtrを参照するだけでなく書き戻す処理をや
っているのでそれがだめなのだと思います。恐らくこういうピッチ処理
の場合は、参照のみが許されるのでは?と思います。
問題のコードをこのpdfの変数に直して下記に書いておきます。
__global__ void myKernel(float* devPtr, int pitch)
{
for (int r = 0; r < height - 1; r++) {
float* row1 = (float*)((char*)devPtr + r * pitch);
float* row2 = (float*)((char*)devPtr + (r + 1) * pitch);
for (int c = 1; c < width - 1; c++) {
row2[c] = row1[c]とrow1[c + 1]とrow1[c -1]やらの計算
}
}
}

このp34-35を見て思うのはindex使わずにこんな処理書いてGPUでやる意味
あるの?と思いますが。自分で書いてなんなのですが

968 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 17:28:20 ]
お前はあほかw

969 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 17:49:31 ]
タイムアウトになる原因はそのでかいループのせい
せいぜいミリ秒単位でタイムアウトを判断してるから
ミリ秒以下で応答しないようなカーネルは絶対に書いては駄目

cudaThreadsSynchronizeは発行したカーネルがすべて終了するのを待つだけ

グローバルメモリは読み書きは出来るが前後は保障されないので
1スレッドが書き込みする箇所は限定する必要がある

共有メモリを使って他のスレッドが書き込んだ内容を参照して利用する場合に
カーネル内部で___syncthreadを使う
これが本来の同期の意味

970 名前:デフォルトの名無しさん [2009/01/19(月) 19:44:51 ]
>>952の話
>>968のように言われるのは分かって書いてみたんだけど
NVIDIA_CUDA_Programming_Guide_2.0.pdfのp34-35のようなコードが
マニュアルに書いてあるのがおかしいと思う。
__global__ void myKernel(float* devPtr, int pitch){}
そもそもこんな書き方じたいが書けるけど間違えな使い方だと。
この書き方しているとこにやらないようにこの部分に×印つけてほしい。

あとはコンパイラがえらくなったらfor多重ループをうまく処理する
アセンブラぐらい作ってほしい。(OpenMPでパラレルfor指定すると#のタグだけ
でプロセッサ使ってきって高速化なるんだけどね。そこまでぐらい将来
的にはしてほしい。)

971 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 20:53:12 ]
文句言っても何にもならない。
そう悟る時がくるまで気長に待ちましょうよ。
そうすれば成長しまっせ。

972 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 23:38:15 ]
それよりも先ず、日本語を何とかしてくれ。
>間違えな使い方
>しているとこにやらないように
>プロセッサ使ってきって

973 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 23:41:25 ]
そのサンプルはあくまでもcudaMallocPitch()がどういう風にメモリを確保するかの説明だからなぁ。
きっとライターは、まさかそのまま動かそうとされるは思っちゃいまいよ。

974 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 02:02:49 ]
ところでドライバ180なんだが2Dモードだかなんだかで消費電力抑える為に
ドライバが自動的にクロックを下げて3Dゲーム動作させると上がる仕様なんだけど
CUDA実行しても上がらないぞw


975 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 02:08:30 ]
ドライバを替えてくださいw
つーか、それって169.09のときに指摘されて直したんじゃなかったのか?>NVIDIA



976 名前:デフォルトの名無しさん [2009/01/20(火) 03:40:32 ]
d_a[0][blockIdx.x][blockIdx.y][threadIdx.x]
って使おうとしたら"expression must have arithmetic or enum type"
ってでたんだけど何がいけないんすか?
教えてください。

977 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 07:58:55 ]
>>976
d_aがポインタなら、途中で解決できない状況があるのかも。

978 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 08:41:39 ]
共有メモリで構造体を使いたいのだけど
例えば
struct data {
int a;
char b;
}

func<<<dim3(), dim3(), SIZE * sizeof(data)>>>();

__global__ kernel(){
__shared__ data d[SIZE];
}

こんな感じでやるとCUDAとC側のパック構造が違うせいだと思うけどおかしくなる
どうやれば出来るの?

979 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 08:59:56 ]
パックが違うのだけが理由なら、
struct data {int a; char b; char dummy[3];}とでもしておけばいいじゃん。

980 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 13:53:14 ]
ただでさえ少ない共有メモリをそんな無駄に使えない

981 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 20:44:37 ]
>>977
世の中夜勤帰りで朝から寝てる人だっているんだよ?
引っ越しの時ちゃんと挨拶行った?
顔合わせたら軽く会話するとかしてちゃんとコンタクト取り続けてる?
日頃からそういうコミニュケーションが取れてればいつ洗濯機を回していいのか
いつ静かにしなければならないのか
迷惑を掛けないように生活出来るはずなんだが

982 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 23:36:58 ]
>>980
マジで言っているのなら、設計が悪い。
どうしてもパディングしたくないくらい逼迫しているなら、int一個を切り分けて3バイトと1バイトで使え。

983 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 00:22:25 ]
共有メモリが制限されてるのに無駄な領域作って
ほとんどをグローバルメモリに追いやる方がよっぽど設計が悪いでしょw

984 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 00:25:51 ]
GPUのメモリレイテンシって12とかの世界だぞ
CPU用のDDR2で5だからな
intを内部でcharとして扱うプロセスを考慮しても共有メモリ使った方が早いんだよ

985 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 00:35:27 ]
CUDAで共有メモリを使うこと自体、無駄な同期待ちが発生するから避けたいところだと思うが。
coaxschedな読み書きができるなら、共有メモリより遅くないぞw



986 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 02:24:30 ]
>>975
(エンバグの)歴史は繰り返す。

987 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 12:18:47 ]
>>CUDAで共有メモリを使うこと自体、無駄な同期待ちが発生するから避けたいところだと思うが。
え?
共有メモリってCPUで言う所のただのレジスタみたいなもんで同期は指定しないと発生しないと思うけど

ところでローカル変数をすべて共有メモリに置いた場合のが早いんだけど
ローカル変数ってデバイス上のメモリに確保されるだけで共有メモリより遅いレベルのメモリを使ってるっぽいね

988 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 18:11:15 ]
あー、表現が悪かった。共有メモリを共有目的に使うと同期を取る必要が出てくるから同期待ちが発生するということ。
レジスタみたいに使うのなら確かに関係なかったね。

で、レジスタよりも速いかどうかについてはptx見てみたいところ。

989 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/21(水) 18:18:05 ]
見た感じリードレイテンシはこれくらい

レジスタ>>Const Memory>Shared Memory>>>>DRAM






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<252KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef