【GPGPU】くだすれCUDAスレ part8【NVIDIA】 [無断転載禁止]©2ch.net

2016/06/15(水) 14:41:15.11ID:d2Xou3GL
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
CUDA使いが優しくコメントを返しますが、
お礼はCUDAの布教と初心者の救済をお願いします。

CUDA・HomePage
ttp://developer.nvidia.com/category/zone/cuda-zone

関連スレ
GPGPU#5
http://peace.2ch.net/test/read.cgi/tech/1281876470/

前スレ
【GPGPU】くだすれCUDAスレ【NVIDIA】
ttp://pc12.2ch.net/test/read.cgi/tech/1206152032/
【GPGPU】くだすれCUDAスレ pert2【NVIDIA】
ttp://pc12.2ch.net/test/read.cgi/tech/1254997777/
【GPGPU】くだすれCUDAスレ pert3【NVIDIA】
ttp://hibari.2ch.net/test/read.cgi/tech/1271587710/
【GPGPU】くだすれCUDAスレ pert4【NVIDIA】
ttp://hibari.2ch.net/test/read.cgi/tech/1291467433/
【GPGPU】くだすれCUDAスレ part5【NVIDIA】
http://toro.2ch.net/test/read.cgi/tech/1314104886/
【GPGPU】くだすれCUDAスレ part6【NVIDIA】
ttp://peace.2ch.net/test/read.cgi/tech/1348409867/
【GPGPU】くだすれCUDAスレ part7【NVIDIA】
http://echo.2ch.net/test/read.cgi/tech/1416492886/
2022/08/16(火) 22:23:45.49ID:dhgyOuoD
>>270
https://www.%61mazon.co.jp/dp/B085TH77RT

カードに安いやつかっても10万円コース
AWSなくてもいけるが電気代要るわな
それとThunderboltがボトルネックになることはほぼ確定
2022/08/16(火) 22:44:07.06ID:dhgyOuoD
sharedメモリは
https://zukaaax.com/archives/530
ここの最後に書いてる

>シェアードメモリを使用しなくても高速にできるようにする方針

これホント?
2022/08/17(水) 01:02:58.66ID:V/z4ESnc
Dynamic Parallelism で親スレッドと子スレッドの属するブロックを
同一ブロックに属するような指定はできますか?
同一ブロックにして親スレッドが確保したShared Memory を子スレッドからアクセスしたいんだですが.
2022/08/17(水) 01:38:27.72ID:V/z4ESnc
訂正です
○同一ブロックにして親スレッドが確保したShared Memory を親スレッドからアクセスしたいんですが.

myKernel<<<gridSize, blockSize, nI*sizeof(int))>>>(...);

親スレッドで確保して子スレッドに引き渡すnI*sizeof(int)サイズのshared memoryですが
この領域を親スレッドからアクセスできないんでしょーか?
275273,274
垢版 |
2022/08/17(水) 08:15:14.36ID:GVtrukEl
事故レスです
そもそも親子スレッド間でグローバルメモリのローカル変数の参照渡しが無理らしい
ローカル変数なんかやめにして、大域変数にして__device__つけろとorz
当然のごとくshared memoryもだめっぽい

C++でUser I/Fを使いやすく仕上げたいと思ってたけど
そーゆーおしゃれなことは
いろんな制限が頭に入っるまでは素直にゴリゴリCで書いてたほうがよさそう
2022/08/27(土) 12:49:33.14ID:shuaF+y6
__global__のなかでnew,delete使えるので
もしやと思ってmake_unique使おうとしたらだめだった
2022/08/27(土) 13:08:06.52ID:shuaF+y6
make_unique以前にstd::unique_ptrの時点でだめだったわ
cudaMalloc使ったunique_ptrバージョンはネットで公開してる人いるのめっけた
https://proc-cpuinfo.fixstars.com/2019/02/cuda_smart_pointer/

host側からgpuメモリ確保したいならコレでいいけど
__global__の中で使うmalloc,freeはGPUメモリを使うバージョンが正しくリンクされるので
malloc, free使って各関数は__device__指定すれば,
cuda::unique_ptrで正しく使えるのかな?
2022/08/30(火) 17:35:41.58ID:BUcEB6jI
cudaMallocやcudaFreeってのはホスト側からGPUとのインターフェース用として
プログラムの中で1度呼ぶだけなんだよね
GPUへの初期設定メモリ inmem
GPUの計算結果 outmem
として
ホスト側で
kernel<<<1,1>>>(inmem, outmem);
を立ち上げる際 この前後でcudaMalloc, cudaMemcpy, cudaFreeを使うだけ
kernel関数で一旦制御をGP側に移したあと
おもむろにDynamic Parallelism を使ってkernel関数の中からマルチスレッドを起動する方がよっぽど書きやすい
new/deleteは__global__関数のなかで自由に使えるので
cudaMalloc/cudaFreeにuniqu_ptr使えてもあんま有り難みは少ないな
279デフォルトの名無しさん
垢版 |
2022/09/01(木) 19:39:29.54ID:Tzt57hSP
質問です。
cpuは64コア、gpuは年末のvram48ギガ2つ、メモリはddr5 256g
これ以上は経済的事情により無理ですw
vram48ギガ二つで深層学習したいんですけど
どの規模でどのくらいのデータ処理ができますか?
マルチcudaで処理速度はどれくらい高速化できますか?
CUDA Python (Numba) を使用して気象分析の分野で 200,000 倍高速化する
こういう記事がありました。
このようなデータがありましたが20万倍以上の高速化ってできますか?
きになります。もしグラボがvram48一つと二つで差がなければ
vram一つにしたいと思います。
280デフォルトの名無しさん
垢版 |
2022/09/01(木) 20:36:24.07ID:IftgsB+t
NVIDIA HGX H100 はどうでしょう?
281デフォルトの名無しさん
垢版 |
2022/09/01(木) 20:37:55.19ID:Tzt57hSP
予算オーバーですw
282デフォルトの名無しさん
垢版 |
2022/09/01(木) 23:54:48.88ID:xm6voT2o
>>279
VRAM48Gもあれば、相当の大きさのモデルでも、バッチサイズある程度取れると思う。
2枚にするなら、NVLINKやったかのボード間通信できるやつやらないと、
同時に使ってバッチサイズ倍にするぜってやつが遅い。
一枚でもいいんでない?って気はする。
何と比較して速くしたいのか分からんけど、3090ti(24GBメモリ)1枚でも普通のモデルなら
ちゃんと学習できる。長いと数日学習に時間がかかるけど。
爆速学習したいなら、クラウドで大富豪するしかないぞ。
具体的に動かしたいモデルとかあるの?
283デフォルトの名無しさん
垢版 |
2022/09/02(金) 05:25:23.36ID:gNiGWU4j
>>282
返信サンキュー!情報ありがとさん!!
気象予測がしたくて(とある記事に20万倍の高速化と書いてあった)
クラウドいいですね〜!
どうしてもpythonのnumbaがやりたくて!
ちなみにpycharmかgoogle coalb pro plusはどちらが良いのでしょうか?
284デフォルトの名無しさん
垢版 |
2022/09/04(日) 06:32:34.26ID:Z3ORh9R5
>>254
cudaつかっても1週間もかかるんですか?
2022/09/04(日) 22:01:18.62ID:z+JpWVLU
気象予測て流体力学だろ
学習とかの前に基礎方程式がわかってるものは
粒子フィルタで検討したほうがいいんじゃないの?
もっぱら線形微分方程式に使われるカルマンフィルタを拡張した
アンサンブルカルマンフィルタで見たことあるけど
今だと線形非線形にかかわらず利用可能な粒子フィルタに頼るほうが簡単だと思うけど
286デフォルトの名無しさん
垢版 |
2022/09/05(月) 05:17:33.36ID:xy0LK1q6
>>285
おすすめのサイトとかありますか?
2022/09/06(火) 12:58:14.35ID:c2oYpxoe
https://www.sice.jp/
https://www.nagare.or.jp/
https://www.saiensu.co.jp/magazine/
288デフォルトの名無しさん
垢版 |
2022/09/06(火) 18:55:48.97ID:iU1ybZ8L
https://www.cradle.co.jp/media/column/a188
289デフォルトの名無しさん
垢版 |
2022/09/16(金) 13:59:03.50ID:cImVlNrb
RTX 4090 Ti
48GB
GDDR6X
これ買う人いますか?
290デフォルトの名無しさん
垢版 |
2022/09/16(金) 20:06:35.06ID:fjE4y/uE
消費電力によります。
2022/09/22(木) 11:24:00.63ID:RnuCJ+18
>>289
その辺のが一般化してきたら
albertを使った実装例とかがもっと増えるか
ま、もっと高性能なのがクラウドに多数デプロイされそうだけど
292デフォルトの名無しさん
垢版 |
2022/09/23(金) 21:15:50.98ID:Qf6uDb81
RTX 4090 Tiを複数差せばおもしろそうやん?
293デフォルトの名無しさん
垢版 |
2022/09/23(金) 21:24:28.27ID:Qf6uDb81
600WのTBPで動作すると予想されます。
だそう。つまり3枚差せば1800wですね。
つまり電源ユニットを2枚で4000ワット以上必要ですね。
電源ユニットが3000wとか4000wとかでないのかな?
困るよね。
2022/10/08(土) 13:36:18.12ID:d409kTqm
.cuファイルで何とか普通のメモリと
GPUのVRAMを同居させて使えるなら
容量の大き過ぎる計算でもスピードは落ちるが
普通のCPUだけの時より速く計算できる、

とか出来たらいいんだけど、まず無理なんだろうなあ
(沖電気はそういうのを上手くやったらしいが詳細が分からない)
2022/10/08(土) 13:53:17.87ID:XEAL3BhY
何を問題視してるのかよくわからんけど
例えばmkl入れるとかじゃ駄目なのか?
2022/10/08(土) 14:37:57.21ID:TKlSmRLn
>>294
LinuxならUnifiedMemoryでできるな。
2022/10/08(土) 16:09:18.26ID:j9nJcF5K
>>296
それは凄い!!!
2022/10/09(日) 00:49:49.72ID:KNQys/Sq
ホスト側のメモリをピンして使うことはできるけど多分そういう用途ではないよなあ
2022/10/09(日) 08:33:30.58ID:DpFtFESu
>>294が言ってるのはOversubscriptionだろ。
300デフォルトの名無しさん
垢版 |
2022/10/26(水) 02:06:11.16ID:XY9sqarF
C#でCUDAを使おうとして悪戦苦闘してようやくこのスレにたどり着いたのだが・・・
GPUで計算した結果をCPUに取り出すには結局どうやったらいいんだ?
検索してもサンプルプログラムはほとんど出てこないし、GPU動かして終わりでその結果を使うやり方が示されてない。
教えろくださいお願いしますだ
301デフォルトの名無しさん
垢版 |
2022/10/26(水) 05:14:53.09ID:2ajidUUz
CUDAでdll作成してC#に読み込ませる
こんだけ
2022/10/26(水) 10:08:16.86ID:Gl6HUSuY
>>268
C言語で普通にCuda使うときだったら、GPU側にメモリ確保してGPUで計算した結果をそこに書き込む。
GPUでの計算が終わったらGPU側のメモリをCPU側のメモリにコピーするみたいな感じだ。
後unified memoryとかいうのでGPUから直接CPU側のメモリに書き込めるらしい。
C言語だったらCUDA sdkにサンプルコードがたくさん入ってるだけどね。
どういう関数使えばいいかはCUDAのドキュメントをちゃんと読めば見つけられるでしょう。
2022/10/26(水) 10:09:44.08ID:Gl6HUSuY
↑のは>>300への返信です。
304デフォルトの名無しさん
垢版 |
2022/10/26(水) 10:49:12.85ID:XY9sqarF
ありがとうございます。
昨日はとりあえず↓を参考にして以下のように書き換えてみたんですが、これじゃダメってことですよね?
(textBox1の結果は0のままです)

double temp = 0;
var gpu = Gpu.Default; // GPUインスタンス取得
gpu.For(0, 10, i =>
{
temp = 10;
});
gpu.Synchronize(); // ここで同期する
textBox1.Text = temp.ToString();

Alea GPUライブラリを使ってC#で簡単GPU並列プログラミング ? Crow's eye
https://kzmmtmt.pgw.jp/?p=1170

Alea GPUで簡単C# GPUプログラミング - Qiita
https://qiita.com/y_miyoshi/items/921903e3499abf18abdd
305デフォルトの名無しさん
垢版 |
2022/10/26(水) 11:05:33.68ID:2ajidUUz
Alea GPUなんて知らなかったな
で、もう使われてなくね?
それでやる必要ある?
2022/10/26(水) 11:15:01.82ID:XY9sqarF
GPU使って並列計算できるってのを昨日知った初心者なんで、すいません。
「gpu 並列計算 C#」で検索してもこれしか出てこないんです。
307デフォルトの名無しさん
垢版 |
2022/10/26(水) 11:21:28.43ID:2ajidUUz
で、あればGPUの使い方、CUDAの使い方を、まず勉強した方が良いのでは?
まだGPUとホストのメモリ間のデータ転送とか、さっぱりわからないよね
2022/10/26(水) 11:45:49.61ID:Gwv5fEeF
cudaは別にコンパイルしてC#から呼べば?このほうが調べやすそう
2022/10/26(水) 12:52:17.28ID:XY9sqarF
趣味でやっているだけなので調べてすぐにできればいいと思ったんですよ。
>>304でGPU側で計算した結果を渡すだけなのにそれを乗せてるウェブサイトが見つからないなんて、そんな手間な作業なの?
2022/10/26(水) 13:29:27.83ID:Gwv5fEeF
>>309
cpuとgpuで別々のメモリを見てるんで >>302 のようなことが必要です
2022/10/26(水) 16:16:55.85ID:Gl6HUSuY
CUDA本体はC言語かC++言語で使う前提なのでそれらの言語ならサンプルコードや情報がたくさん見つかるんだけど。
C#からCUDA使うとなるとマイナーなライブラリを使うことになって情報を見つけづらいかもしれない。英語の情報までくまなく調べればそうじゃないのかもしれないが。
312デフォルトの名無しさん
垢版 |
2022/10/26(水) 16:57:54.98ID:2ajidUUz
C#から使う場合は上にも書いた通り、cuda でdllを作成して
C#からはDllImportで読み込む
2022/10/26(水) 17:35:34.36ID:XY9sqarF
そうなんですね。ありがとうございます。
ライブラリが用意されているのでそれでできないのなら何のためのライブラリなのかと素人的には感じてしまいました。
314デフォルトの名無しさん
垢版 |
2022/10/26(水) 21:01:13.64ID:8mk+cARY
出来ないかどうかはちゃんと調べないとわからないだろう
簡単に出来るかどうかはライブラリは保証しないよ、特にC#とCUDAみたいな組み合わせだったら。
めちゃくちゃ沢山のグルーコードをC++/CLIで書かなきゃいけないのを省略してくれる、ぐらいなもんでCUDAに対する理解なしに使える代物じゃないと思うけどな。
2022/10/26(水) 23:22:43.17ID:XY9sqarF
すいません、↓にテストコードが載っていたのでそれを動かしたところ、GPUの計算結果を取り出せました。
お騒がせしました。


Alea GPUで簡単C# GPUプログラミング - Qiita
https://qiita.com/y_miyoshi/items/921903e3499abf18abdd
316デフォルトの名無しさん
垢版 |
2022/11/26(土) 11:57:28.57ID:BVUhPWJi
CUDA初心者です。RTX2060 superでCUDA環境構築したいのですが、どうしてもcuda.is_availableの結果がFalseとなってしまいます。(Nvidiaのドライバ、Python・CUDA・Pytorchのバージョンを新しくしたり古くして見たり、CUDNN入れてもダメでした。)
python -m torch.utils.collect_envで読み込みした現在の環境は下記の通りとなります。Trueとさせる方法がわからず、もう自分では完全に手詰まりとなっておりますので、ご教授頂けますと大変有難いです。

C:\Users\●●●>python -m torch.utils.collect_env
Collecting environment information...
PyTorch version: 1.13.0+cu116
Is debug build: False
CUDA used to build PyTorch: 11.6
ROCM used to build PyTorch: N/A
OS: Microsoft Windows 10 Pro
GCC version: Could not collect
Clang version: Could not collect
CMake version: Could not collect
Libc version: N/A
Python version: 3.9.13 (tags/v3.9.13:6de2ca5, May 17 2022, 16:36:42) [MSC v.1929 64 bit (AMD64)] (64-bit runtime)
Python platform: Windows-10-10.0.19045-SP0
Is CUDA available: False
CUDA runtime version: 11.6.124
CUDA_MODULE_LOADING set to: N/A
GPU models and configuration: GPU 0: NVIDIA GeForce RTX 2060 SUPER
Nvidia driver version: 511.65
cuDNN version: Could not collect
HIP runtime version: N/A
MIOpen runtime version: N/A
Is XNNPACK available: True

Versions of relevant libraries:
[pip3] numpy==1.23.5
[pip3] torch==1.13.0+cu116
[pip3] torchaudio==0.13.0+cu116
[pip3] torchvision==0.14.0+cu116
[conda] Could not collect
317デフォルトの名無しさん
垢版 |
2022/11/26(土) 12:10:47.07ID:8YfGLTST
pytorchはよく知らんけど
toolkit入れた?
cuda.is_availableてtorchのメッセージだよね?

てな感じで全然情報不足だわな
318デフォルトの名無しさん
垢版 |
2022/11/26(土) 12:51:08.87ID:GN65Kd03
そうです。Torchのメッセージです。
CUDA Toolkitなら入れてますね。
現在は11.6.2をインストールしています。

以下コマンドプロンプトの出力結果。

■Nvcc -V で表示される内容
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Tue_Mar__8_18:36:24_Pacific_Standard_Time_2022
Cuda compilation tools, release 11.6, V11.6.124
Build cuda_11.6.r11.6/compiler.31057947_0

■print(torch.__version__)で表示される内容
1.13.0+cu116

■torch.cuda.is_available()で表示される内容
False

過去にcuda_11.3.1とか10.2をツールキットからインストールした事もありますが、それでもダメでした。
319デフォルトの名無しさん
垢版 |
2022/11/26(土) 12:53:48.55ID:8YfGLTST
まずcudaは動いてるの?
devicequeryとかsampleのプログラムが動くかどうか確認して問題なければ
torch周りの問題かと
320デフォルトの名無しさん
垢版 |
2022/11/26(土) 22:03:13.46ID:GN65Kd03
ありがとうございます!
サンプル試したことなかったのでやってみました。

https://github.com/NVIDIA/cuda-samples/releases
上記サイトからCUDA Samples v11.6をダウンロードして、VisualStudio2017.slnをビルド
ビルド結果:ビルド: 175 正常終了、11 失敗、0 更新不要、0 スキップ(ただしビルド文書の中にいくつか失敗という文字あり)

deviceQueryをコマンドプロンプトから実行したところ・・・。

cudaGetDeviceCount returned 100
-> no CUDA-capable device is detected
Result = FAIL

という結果だったので、CUDA対応デバイスが検出されていないようです・・・。
321デフォルトの名無しさん
垢版 |
2022/11/26(土) 22:06:59.94ID:GN65Kd03
あっ、ビルド結果、11個失敗しているって意味なんですね・・・。
2022/11/26(土) 23:52:01.01ID:HQ9nVBdA
GPUがちゃんと刺さって無いとか、電源不足とかドライバがちゃんとインストールされてないとか。
323デフォルトの名無しさん
垢版 |
2022/11/28(月) 08:14:28.58ID:MM544pas
ん〜、GPU自体は認識されてるみたいなんですよね。
GPU-Zで調べてみたらCUDAのところチェック外れてたので、やはりCUDAは認識されていないみたいです。
https://gpuz.techpowerup.com/22/11/27/e6p.png

現在の電源は550Wなのですが、もうちょっと大きい容量のに変えてみて、それでダメならやはりドライバが合っていないという事でしょうか・・・。
324デフォルトの名無しさん
垢版 |
2022/11/28(月) 08:33:47.92ID:D2ZVp0By
gpu-zはハードウェア情報なのでcudaのチェックが外れてるって
何かがかなりおかしい

20年前のgeforceなら分からんでもないがRTXなら
偽物をつかまされたか、ハードウェア故障を疑った方が良い気がする
325デフォルトの名無しさん
垢版 |
2022/11/28(月) 08:52:47.95ID:FFe6eh0R
まずはsystem32にnvcuda.dll があるかどうか確認するかな
326デフォルトの名無しさん
垢版 |
2022/11/28(月) 12:53:30.32ID:MM544pas
316です。
Sytem32にnvcuda.dll入ってました。

やはりハードウェアの故障でしょうか? (今のGPUは約2年前にドスパラで買いました)
とりあえず電源ユニット注文しちゃったんで、電源交換&GPUも付け直してみて、それでダメだったら新しいGPU購入ですかね(T_T)
327デフォルトの名無しさん
垢版 |
2022/12/02(金) 20:33:45.27ID:2cIkFTzc
グラボを3060TIに変えてみましたが、それでもGPU-ZでCUDAにチェックが入っていませんでした・・・。
328デフォルトの名無しさん
垢版 |
2022/12/02(金) 20:51:14.24ID:NwS5Fypu
あとはマザボかね~???
329デフォルトの名無しさん
垢版 |
2022/12/02(金) 20:53:44.01ID:NwS5Fypu
差す穴変えてみた?
2022/12/02(金) 21:26:41.40ID:xlTggD6P
12V繋いでないってことはないよな
331デフォルトの名無しさん
垢版 |
2022/12/02(金) 22:03:05.09ID:2B2OMrFT
>>326
Linuxでも入れて確認してみたら?
332デフォルトの名無しさん
垢版 |
2022/12/02(金) 22:11:35.41ID:2cIkFTzc
接続するPCIEスロットも変えてみましたが・・・ダメでした。
グラボ上部にある補助電源?用のケーブルはちゃんと繋いでるはずなのですが、他に必要な接続とかあるんでしょうか?

現状のGPU-Zでの結果
https://gpuz.techpowerup.com/22/12/02/pn6.png
2022/12/03(土) 06:08:21.14ID:9AvqKyUf
OpenGL, DirectX, vulkanとかのグラフィッ関係のAPIを使ったプログラムやゲームも動かないの?
本当にハードウェア関係に問題があるんならそういうプログラムも動かないだろうけど。
2022/12/03(土) 12:15:17.56ID:s9fm/abx
他のGPU全部殺してドライバアンインストール
3060Tiのドライバ入れなおせ
2022/12/03(土) 12:19:52.15ID:Xj+KmoE3
別のドライブにOSクリーンインストールしてみれば
336デフォルトの名無しさん
垢版 |
2022/12/04(日) 11:39:28.03ID:2Pwe8xJ8
>>329
337デフォルトの名無しさん
垢版 |
2022/12/06(火) 21:28:34.09ID:VA2y8qjn
316です。
思い切ってCドライブ初期化してみたらCUDA認識されました。
皆さんありがとうございました。
338デフォルトの名無しさん
垢版 |
2022/12/06(火) 22:09:54.37ID:lBiSjHRF
経験上、一番難しいと感じたのはpython
listとかタプルとかデータ型が沢山あってこの変換がやたら発生
pandaとnumpyでも型が違うとか

torchは経験ないけどtensorflowは理屈が分かればそれほど難しくないと思う
339デフォルトの名無しさん
垢版 |
2022/12/07(水) 02:07:47.36ID:imjH6UhZ
>>338
普通にC++の方が難しいと思うけど、どんな言語を試した経験上なの?
340デフォルトの名無しさん
垢版 |
2022/12/07(水) 06:20:47.46ID:YHin935u
もしかしてCUDAでC++を覚えようとしてるの?
CUDAはCの知識でもできるけどCは?
341デフォルトの名無しさん
垢版 |
2022/12/07(水) 13:28:40.27ID:wqy1K1SQ
C++は変態過ぎて
経験豊富ならべつにC++かまわんが
経験無いならCからやった方が良い
342デフォルトの名無しさん
垢版 |
2022/12/07(水) 17:47:48.05ID:4gcyj4i9
>>341
Cは便利じゃないけど、確実だよね。マイコンとかでC++を使うのは、開発時間が十分に取れるなら(慣れてるなら)いいけど、処理系の変な制限にハマりそうで怖くて使えないわ。
2022/12/23(金) 20:34:26.37ID:ovzWFFv+
処理系の変な制限て何?
2022/12/23(金) 20:38:43.13ID:ovzWFFv+
小規模マイコンでもC++は便利だぞ
345デフォルトの名無しさん
垢版 |
2022/12/27(火) 00:37:40.45ID:szDr1TAR
>>343
お気持ちC++実装でフル規格満たしてないとか普通にある。調べるのが手間すぎる。
2022/12/27(火) 04:54:17.83ID:Y8dS0LJm
フル規格を満たしてない事が普通にあるのはCも同じ
恐くて使えないのは経験が少ないからだな
2022/12/27(火) 13:10:12.33ID:vQ4ixuph
MSVCで作っておけば大体オッケー
g++依存は死ぬ
2022/12/28(水) 21:30:57.66ID:VGHawTJO
今時C++で開発してる会社あるのかな?
349デフォルトの名無しさん
垢版 |
2022/12/28(水) 21:33:16.19ID:IIYChppW
当然
高速処理が要求されるようなところはC/C++だよ
350デフォルトの名無しさん
垢版 |
2023/01/14(土) 11:12:05.67ID:hF49Vv2k
質問です。
cudaの9.0バージョンで
nvcc -V
このようなことをうっても、一切反応しないです。
誰か教えてえらいひとーー!
351デフォルトの名無しさん
垢版 |
2023/01/14(土) 11:36:54.44ID:ITBYYn4q
>>一切反応しないです

もう少し具体的に
352デフォルトの名無しさん
垢版 |
2023/01/14(土) 13:28:49.96ID:HwrORXYU
無修正を観ても、一切反応しないです。
誰か教えてえろいひとーー!
2023/01/23(月) 20:21:43.20ID:VfNttDi/
NVIDIA HPC SDK使ってる人いる?
windows版がないんだけどそのうちサポートされるんかね?
2023/01/23(月) 20:47:20.55ID:1CzktcoW
HPC SDKになった2020年にはWindows版は翌年公開予定と言っていたけど,
その記載もなくなったし永遠に出ない可能性が高いと思われる

当時とは違ってCUDA on WSL2でHPC SDKも使えるようになったから
Windows需要もそこで解消されるし
2023/01/25(水) 11:08:54.16ID:/YL2yMwg
>>354
詳しい人降臨キター
旧PGIのユーザはほぼLinuxばっかだったようだしWindowsは見捨てられたのかと思ったけど必ずしもそうじゃないのかな
WSLで本当に性能出るの?ってのは気にはなるけど
ありがとうございました
2023/03/05(日) 20:30:51.25ID:skhIF3To
てst
2023/03/05(日) 21:06:34.13ID:skhIF3To
亀レス
>>348
あるっしょ
いくらでも,
このまえいびられて死んだ三菱電機の社員は電気系でも物性系の修士出てるのに
会社に入ってC++まともに書けなくて死んだ
物性選んだ時点でプログラム苦手なのにいきなりC売り物用のC++コード書け,
しかも,意地の悪い上司が適当なサンプルコードも見せてくれなきゃ死にたくなるかもな
2023/05/14(日) 05:25:29.03ID:EUIAlyu+
test
2023/05/14(日) 06:02:02.90ID:EUIAlyu+
おまえら教えろください
cudaDeviceSynchronizeが将来サポート打ち切りになることが決定し,
CUDA 12では既にオプションを指定しないとコンパイルできなくなっています.
これの代替APIは何でしょうか?
__global__関数内での待ち合わせ処理はどうすればいいのでしょう?


グローバルメモリに1M(1kx1k)の数値データがあります.そこから最大値を検索したい.

プログラムとしては
1Mデータを1kごとにグループ分割します.合計1k個のグループができます.
1つのグループを1つのスレッドに割り当て最大値を検索します. 当然スレッド数も1k個立ち上げます.
各スレッドは割り当てられたグループの1k個の中から最大値を検索し,見つけた値をシェアードメモリに書き込みます.
シェアードメモリもスレッド数と同じ1k個の配列から成リ, 各スレッドIDに紐づけされたアドレスに書き込みます.
例えばシェアードメモリを配列submaxとしたとき,
submax[threadIDx.x] = each_group_max;
みたいな感じです.

このとき各スレッドの書き込み完了を待ち合わせるのにcudaDeviceSynchronizeを使います.
書き込み完了後, 特定スレッドIDをもつスレッド(例えばthreadIDx.x==0)だけが1k個のsubmax中の最大値を検索することで
1M個データの最大値が決まります
これですとatomic関数を一切使わず高速処理が可能となります
2023/05/14(日) 06:21:14.34ID:EUIAlyu+
Dynamic parallelismでも使える実行時間測定関数でも
キャプチャ直前にcudaDeviceSynchronize();をコールしています

__device__
long long int
CaptureTimer() noexcept {
auto timer = (long long int)0; //コンパイラが文句いうので初期化しました
cudaDeviceSynchronize();
asm volatile("mov.u64 %0, %globaltimer;" : "=l"(timer));

return timer;
}

cudaStreamSynchronize()じゃ__global__でコールできないので駄目なんですよ
2023/05/28(日) 07:37:34.81ID:rAN5cbTU
何もレスないけど
cudaDeviceSynchronize なくても困らないコード書いてるの?
shared memory使うときどーしても使うと思うんだがこのAPI
2023/05/30(火) 17:45:24.83ID:GWh7Fu6m
ふつうは __syncthreads() 使うなあ。
というかカーネル内から全スレッド同期出来たとは知らなかった。
やっぱりいろいろ無理があったから廃止になったんじゃね?
2023/06/01(木) 19:34:35.47ID:woZHz0xe
カーネルの実行完了を待つ関数をカーネル内から呼び出せるのはおかしいだろ
2023/06/02(金) 21:14:34.84ID:GpIK8Zp9
>>362
>>363
お前らマジでレベル低いわ
シェアードメモリとかまったく使いこなせてないだろ
シェアードメモリってのはブロック内スレッドでのみ共通のメモリ
カーネル関数内で待ち合わせ処理できずにどうやって使うんだこんなもん
2023/06/02(金) 21:16:18.40ID:GpIK8Zp9
>>363にいたってはCUDA Dynamic Parallelizmすら理解してない
2023/06/02(金) 21:29:40.49ID:GpIK8Zp9
>>362
ふつうは?
__syncthreads()自体とっくに廃止されてそのかわりのcudaDeviceSynchronize()だろ
2023/06/02(金) 21:32:58.33ID:GpIK8Zp9
>>362
CUDA Runtime API rev.1 をみても __syncthreadsなんて載ってないんだが,
どこに載ってるか教えてくれ
2023/06/02(金) 22:14:21.99ID:GpIK8Zp9
>>362
https://docs.nvidia.com/cuda/pdf/CUDA_Runtime_API.pdf
↑から最新のAPIマニュアルをダウソして検索したが __syncthreadsなんてものは存在しない
お前の書いたコードが最新のcuda 12.1.1コンパイラで使えるかどうか確認してみろ
とっくにサポートが打ち切られたAPIを使うと嘯吹いてただけじゃねーのか?
お前はとんでもなく長い間cudaコードを書いてなかったんじゃないのか?
2023/06/02(金) 23:26:41.73ID:zbQswG7U
カーネルからRuntime API使うのがそもそも違和感あるんだがイマドキのCUDAはそういうものなんか?
370デフォルトの名無しさん
垢版 |
2023/06/02(金) 23:38:04.08ID:44SgMOSU
>>366
同期する範囲がぜんぜん違ぇだろうが
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況