【GPGPU】くだすれCUDAスレ part8【NVIDIA】 [無断転載禁止]©2ch.net (407レス)
【GPGPU】くだすれCUDAスレ part8【NVIDIA】 [無断転載禁止]©2ch.net http://mevius.5ch.net/test/read.cgi/tech/1465969275/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
383: デフォルトの名無しさん [sage] 2023/06/30(金) 06:45:59.93 ID:HGq0NS3h >>381 streamてCPUとGPUの協調のこと言ってるの? 協調はこの際,まったく関係ないんだが, CPUからGPUに制御を移して完全にCPUとは分離する話をしてんの そのほうが遥かにプログラムが楽に簡潔に書けるからそれを言ってる. GPUのほうが8倍から1桁速度が速いので実験的な計算ならこれで十分な速度が得られる CPUとの協調とか難しいプログラムを書くんじゃなく GPUだけで計算を完結させるためにDynamic Parallelismを使う Dynamicに並列化したいわけじゃなくGPUのプロセスを一つ立ち上げたいためにそれを使う http://mevius.5ch.net/test/read.cgi/tech/1465969275/383
384: デフォルトの名無しさん [sage] 2023/06/30(金) 06:53:13.13 ID:HGq0NS3h >>380 何のアドバイス?ww GPUプロセスの中で全プロセスどうやってwaitするのさw ま, cudaのユーザサイトには代替案とか書いてる人いるよ cudaDeviceSynchronize()と比較して速度は期待できないが一応使える. せめてそれぐらいのアドバイスできるようになってから言いな. 俺のようなコード書いてGPUプロセスの中からcudaDeviceSynchronize()コールしてるユーザは一定数いるってこった どーせ__global__でnew/deleteふつーに使えること知らんかったんだろお前ww http://mevius.5ch.net/test/read.cgi/tech/1465969275/384
385: デフォルトの名無しさん [sage] 2023/06/30(金) 07:16:01.83 ID:HGq0NS3h >>382 誰も聞いてないunique_ptrて CPU側でGPUのマルチスレッド実体を起動しようとすると, GPU内部でしか利用しないローカルメモリまでCPUから管理する羽目になる そのときcudamalloc/cudafreeなんか使ってたんじゃメモリ管理が大変で, gpu::unique_ptrでも作らないとCコード書いてるのと変わらんことになるから言ってる そんなことせずとも__global__でnew/deleteがデフォで使えるんだからメモリ管理はC++03並には書ける __global__でnew/deleteを使ってGPUだけで完結処理するには 親スレッドの__global__内で子スレッドの待ち合わせ処理がどうしても必要になる場合があるから言ってる できるもんなら>>374のcudaDeviceSynchronize(); を同等処理に置き換えてみ あ, すでに cudaのユーザーサイトに投稿してる人が居るんで探せばしまいだけどねww http://mevius.5ch.net/test/read.cgi/tech/1465969275/385
387: デフォルトの名無しさん [sage] 2023/06/30(金) 11:03:40.92 ID:HGq0NS3h >>386 作ったことないんだろww こっちは書いてるから言ってる. >>374を見ろ この構成の場合がそれに該当する CPUはgpu内でnew/deleteに使う最大値のみ設定する.デフォルトは小さいんでな 例えば 1.GPUで用意してる数学関数だけでできる数値計算 2.信号もノイズも乱数から作るモンテカルロ・シミュレーション 要はファイルやなんらかのデバイス,ネットから読み込んでその処理をGPUに転送する場合は CPUは無関係じゃいられないが, 上のような場合はGPUだけで計算可能だ. 具体例として 1. f(x) = ∫_0^x sin(t)/t dt 0<= x <= 10 を計算して計算結果をファイルにセーブする 2. ある変調方式のエラーレートをシミュレーションで計算し. ファイルにセーブする. これらならCPUとほぼ無関係に計算できる ファイルや外部デバイスからデータを読み込んでくる必要がないんでね. あと__global__でのprintfはふつーにリダイレクトが有効. GPU内でファイルオープンとかの必要もなくファイルに落とせる ま,これらは極端な例だが, 最低限, 初期値とか処理データ, GPUで計算終了後の GPU-CPU間のインターフェース用メモリのみcudamalloc/dudafreeで管理してやればよくて GPU内部だけで使うようなメモリはCPU側で一切管理する必要がなくなる. gpu内ではC++03レベルのnew/deleteしか使えないけどな. http://mevius.5ch.net/test/read.cgi/tech/1465969275/387
388: デフォルトの名無しさん [sage] 2023/06/30(金) 11:07:50.35 ID:HGq0NS3h >>386 ウソだと思うなら,>>374のコードを実際cudaでコンパイルして確認してみろや 実際__global__内でnew/malloc使えて__global__から__global__を起動できることだけがポイントなんだから ちなみに, dynamic parallelismサポートしてないような古いグラボは使用禁止な. http://mevius.5ch.net/test/read.cgi/tech/1465969275/388
389: デフォルトの名無しさん [sage] 2023/06/30(金) 11:38:34.15 ID:HGq0NS3h >>386 new/deleteが__global__内でふつーに使えるってことなら cuda c programming guide 最新版の 7.34. Dynamic Global Memory Allocation and Operations どっちが思い込みかね?ww http://mevius.5ch.net/test/read.cgi/tech/1465969275/389
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.020s