>>38
https://developer.nvidia.com/cuda-example
ここのzipじゃいかんの?
探検
【GPGPU】くだすれCUDAスレ part8【NVIDIA】 [無断転載禁止]©2ch.net
2016/11/30(水) 00:29:37.97ID:TC5Bjkv3
2016/12/09(金) 03:45:46.66ID:fw3DcJe0
>>39 ちゃんと探せてませんでしたありがとうございます。
2017/01/06(金) 07:11:43.14ID:8Ia4s/0Q
windowsでcudaやってるんだけど
visual studio commutity消してcl.exeだけ残しておけば
コンパイル通る?
visual studio commutity消してcl.exeだけ残しておけば
コンパイル通る?
2017/01/06(金) 14:44:04.26ID:XtKi9eaG
リンクしなくていいのか
2017/01/07(土) 11:30:33.70ID:8pTxT9Y7
>>42
シャンプーの後にはちゃんとリンスはしてる
シャンプーの後にはちゃんとリンスはしてる
2017/01/07(土) 17:06:51.33ID:aP/UyWiv
cl.exeだけじゃコンパイルも出来ない。
コンパイラ本体は c1.dll と c1xx.dll と c2.dll。
昔はWindowsSDKにVSのIDEなしでコマンドラインツールだけ入ってたりしたけどな。
よく解らんかったら インストールディレクトリの VC/bin/ をまるごと残しとけ。
コンパイラ本体は c1.dll と c1xx.dll と c2.dll。
昔はWindowsSDKにVSのIDEなしでコマンドラインツールだけ入ってたりしたけどな。
よく解らんかったら インストールディレクトリの VC/bin/ をまるごと残しとけ。
2017/01/07(土) 17:12:36.97ID:4jt/Q9EM
リンカだけならSDKにも入ってる
46デフォルトの名無しさん
2017/01/09(月) 18:23:46.66ID:jHsLLpyz 超初歩的な質問ですが、
三次元配列をGPUにメモリ確保してCPUからデータコピーってどうやればいいんでしょうか
三次元配列をGPUにメモリ確保してCPUからデータコピーってどうやればいいんでしょうか
2017/01/09(月) 18:25:23.28ID:4OeNzyzM
三次元配列とは?
x,y,z頂点の一次元配列のことを言ってる?
x,y,z頂点の一次元配列のことを言ってる?
48デフォルトの名無しさん
2017/01/09(月) 18:47:08.26ID:jHsLLpyz そんな感じです、C言語でいうとarray[][][]みたいな
1次元のように簡単にはできないですよね…
1次元のように簡単にはできないですよね…
2017/01/09(月) 20:17:49.87ID:qK/ZEr7s
キラッ☆
2017/01/09(月) 20:36:08.40ID:EVa/TTkG
GPUじゃない普通のプログラムは配列のサイズ計算してmallocするだろ?GPUでも同じだ。
51デフォルトの名無しさん
2017/01/09(月) 21:12:30.61ID:jHsLLpyz 三次元配列で連続したアドレスにしたいんですが、CPUはできるんですけどGPUはそのままだとエラーが出てできませんでした…
エラーはa value of type "cudaError_t" cannot be assigned to an entity of typeです
エラーはa value of type "cudaError_t" cannot be assigned to an entity of typeです
2017/01/10(火) 08:26:07.18ID:WdYb5nlV
そりゃ関数の使い方間違えてるんだろ
53デフォルトの名無しさん
2017/01/10(火) 14:21:30.09ID:s989ZmsY >>51
alignmentかな
alignmentかな
2017/01/10(火) 17:18:06.48ID:oQDfLvCT
初歩的な質問かもしれませんが、
.cファイルから.cuファイルの関数を呼び出す際にリンカエラーが
出るのですがどうすればよいのでしょうか
.cファイルから.cuファイルの関数を呼び出す際にリンカエラーが
出るのですがどうすればよいのでしょうか
2017/01/10(火) 18:10:08.05ID:UBJKCQag
export
56デフォルトの名無しさん
2017/01/10(火) 20:12:19.14ID:saSw9C20 >>51
四次元にしてみたら
四次元にしてみたら
2017/01/12(木) 13:45:58.21ID:E2IxQoCs
DRAMのパーティションはパーティションの数が3こあるとすると
3つおきの連続した256バイトが一つのパティーションになると
いう理解であってますか?
3つおきの連続した256バイトが一つのパティーションになると
いう理解であってますか?
58デフォルトの名無しさん
2017/01/20(金) 22:13:42.62ID:8IF0nMvZ gpuを買い替えるか迷ってるんだけどcuda使う上で参考になるベンチマーク的なものを公開してるサイトってありますか?
ちなみに現在使ってるのはgtx970です
10シリーズは機械学習に最適化していると聞いたので気になっています。
ちなみに現在使ってるのはgtx970です
10シリーズは機械学習に最適化していると聞いたので気になっています。
2017/01/20(金) 23:20:57.30ID:2XlTkpSB
うん
60デフォルトの名無しさん
2017/01/20(金) 23:30:22.94ID:GGUqy8t5 >>58
のようなサイトがあればURLを教えてください
のようなサイトがあればURLを教えてください
2017/01/21(土) 07:48:29.10ID:CO+HRz8i
2017/01/21(土) 09:11:33.99ID:ij3ZsOnR
CompuBenchが定番。
63デフォルトの名無しさん
2017/01/21(土) 13:43:41.18ID:2F79DqM264デフォルトの名無しさん
2017/02/02(木) 13:38:03.58ID:OYwNsjcS cudaコアはどういう単位なの?
cudaコアがn個あったら、n種類のcudaプログラムを同時実行できますか?
コア内でスレッド数等が足りるとして。
cudaコアがn個あったら、n種類のcudaプログラムを同時実行できますか?
コア内でスレッド数等が足りるとして。
2017/02/02(木) 17:08:50.92ID:j/3vYI1G
cudaコア1個でスレッドが1個動く
2017/02/10(金) 05:08:21.15ID:o/o/Ki2Y
viennacl
実質1年ぐらい更新ない気がするんだが
使って大丈夫なのかな
実質1年ぐらい更新ない気がするんだが
使って大丈夫なのかな
67デフォルトの名無しさん
2017/02/10(金) 08:22:35.29ID:s5e3qUT1 シンギュラリティしてるぅ?
68デフォルトの名無しさん
2017/02/15(水) 12:32:42.97ID:6MEGowR3 Alea GPUでええな
69デフォルトの名無しさん
2017/05/07(日) 11:41:59.26ID:ehHyxLGM a.exe: a.cu
nvcc -Xcompiler "/wd 4819" a.cu -o a.exe
ウインドーズでメイクファイルで上みたいにやってクダーCコンパイラーでコンパイルしたんですけど
コマンドラインにちゃんと
nvcc -Xcompiler "/wd 4819" a.cu -o a.exe
と表示されたあと
wd
4819
c1xx: fatal error C1083: ソース ファイルを開けません。'略':No such file or directory
a.cu
c1xx: fatal error C1083: ソース ファイルを開けません。'4819':No such file or directory
と出ます。たぶん"に囲まれた中の/がメタ文字じゃないのになぜか消されているとおもうんですけど
なぜエラーになるのか教えてください。
/を//あるいは-に置き換えたらちゃんとコンパイルできました
よろしくお願いします。
" /wd 4819"と"と/の間にスペースを入れても出来ました。
nvcc -Xcompiler "/wd 4819" a.cu -o a.exe
ウインドーズでメイクファイルで上みたいにやってクダーCコンパイラーでコンパイルしたんですけど
コマンドラインにちゃんと
nvcc -Xcompiler "/wd 4819" a.cu -o a.exe
と表示されたあと
wd
4819
c1xx: fatal error C1083: ソース ファイルを開けません。'略':No such file or directory
a.cu
c1xx: fatal error C1083: ソース ファイルを開けません。'4819':No such file or directory
と出ます。たぶん"に囲まれた中の/がメタ文字じゃないのになぜか消されているとおもうんですけど
なぜエラーになるのか教えてください。
/を//あるいは-に置き換えたらちゃんとコンパイルできました
よろしくお願いします。
" /wd 4819"と"と/の間にスペースを入れても出来ました。
2017/05/07(日) 15:33:02.73ID:ehHyxLGM
色々実験してみたらnmake.exeではメイクできました。
mingwのmake.exeは駄目でした。
mingwのmake.exeは駄目でした。
2017/05/10(水) 23:13:56.55ID:ecawysuy
ウインドーズなんて書いてる人、この二十数年の間でも聞いたことがない。初めて見たよw
あまりに斬新過ぎてワロタ
あまりに斬新過ぎてワロタ
2017/05/10(水) 23:18:39.73ID:wBX7tx0w
そんなことで笑えるならすごい人生楽しそう
2017/05/11(木) 00:41:43.46ID:s9cCeBkh
みたことあるな
新聞だったかな
新聞だったかな
2017/05/30(火) 01:31:23.24ID:Dd0ZuLcv
空いてるメモリ目一杯floatの配列で埋めたい
メモリ容量足りなくてエラーになると遅くなるので
ちょい余裕あるぐらいでmallocする方法ない?
メモリ容量足りなくてエラーになると遅くなるので
ちょい余裕あるぐらいでmallocする方法ない?
2017/05/31(水) 23:20:29.74ID:R/fqZ1ir
C++に触るの自体がほぼ初めてなのですが、CUDAと併せて勉強できるいい本は有りませんか?
プログラムはFortranしか触ったことがなく、CUDA by exampleだけだと難易度が高く困ってます
プログラムはFortranしか触ったことがなく、CUDA by exampleだけだと難易度が高く困ってます
76デフォルトの名無しさん
2017/06/01(木) 11:43:59.76ID:o/dQD8LP 詳しくはwebで検索
77デフォルトの名無しさん
2017/06/20(火) 11:52:28.52ID:IZ7YVmtC cuspが疎行列だけじゃなくて密行列も便利だった
2017/07/03(月) 14:29:28.07ID:0WiPHc69
2017/07/03(月) 14:32:00.95ID:0WiPHc69
80デフォルトの名無しさん
2017/08/06(日) 16:23:07.09ID:XG7YRxUk カーネル呼び出し含むループをOpenMPで並列化すると遅くなっちゃったんですけど、
心当たりある方居ませんか?
nvvpで見たらcudaLaunchが伸び伸びで200ms近くなってます。並列化前は数ms程度です。
各カーネル呼び出しは別個のストリームを使用してます。
LinuxでCUDA8、GTX1080です。
心当たりある方居ませんか?
nvvpで見たらcudaLaunchが伸び伸びで200ms近くなってます。並列化前は数ms程度です。
各カーネル呼び出しは別個のストリームを使用してます。
LinuxでCUDA8、GTX1080です。
2017/08/10(木) 06:57:43.66ID:YyeIUrZv
openmpは並列処理開始前にスレッド生成、終了後に同期して後始末しているらしく、そこでそこそこ時間を食う
並列化する箇所があまり時間がかからない処理だとopenmpで遅くなることもある
並列化する箇所があまり時間がかからない処理だとopenmpで遅くなることもある
2017/08/10(木) 07:55:32.26ID:OxRJE4uH
多くのスレッドからCUDAを使えばそりゃ遅くなるでしょ
並列化はOpenMPかCUDAかどちらにしなさい
並列化はOpenMPかCUDAかどちらにしなさい
8380
2017/08/11(金) 09:30:37.96ID:TMX2lDFt84デフォルトの名無しさん
2017/08/15(火) 16:51:41.09ID:3/BBM8NB2017/08/21(月) 21:00:28.62ID:Q24iB0o5
vs2017で使えん
86デフォルトの名無しさん
2017/08/31(木) 18:49:59.24ID:MFovTTnL 初歩的な質問なんですがcuFFTを複数同時に呼び出して並列の並列みたいなことってできるんでしょうか?
2017/08/31(木) 18:58:29.12ID:Ce9FMcgb
何のために?
2017/08/31(木) 19:58:21.56ID:oZkhTD7w
モンテカルロ内でやりたいんだろ
89デフォルトの名無しさん
2017/09/26(火) 05:36:17.39ID:/zEF5028 Ubuntu Linux のNvccでコンパイルしたのをcentosで動かすことできますか?
2017/09/26(火) 06:32:45.58ID:mvSUAuA/
もし異なるOS で、バイナリ互換があるなら、1つのバイナリで、
すべてのLinux ディストリビューションで動くはず
でも実際には、たいていのアプリは、
Ubuntu か、CentOS 用ぐらいの、バイナリしか用意していない
兼用バイナリというのは、ない
ソースコードを異なるディストリビューションへコピーして、
コンパイルすれば動くかも知れないけど、
修正しないと動かないかも知れない
すべてのLinux ディストリビューションで動くはず
でも実際には、たいていのアプリは、
Ubuntu か、CentOS 用ぐらいの、バイナリしか用意していない
兼用バイナリというのは、ない
ソースコードを異なるディストリビューションへコピーして、
コンパイルすれば動くかも知れないけど、
修正しないと動かないかも知れない
2017/10/19(木) 22:15:29.66ID:O7DpKIC1
DirectSoundの処理をCUDAで処理するようなライブラリないのかしら
2017/12/04(月) 23:59:10.12ID:2+MXhE1C
配列の中の1要素だけ排他制御する関数って自分で作るしかない?
稀に同じ要素を読み書きするスレッドがあるんだけどthreadfenceみたいな関数だと関係ないスレッドまで止めそうで
稀に同じ要素を読み書きするスレッドがあるんだけどthreadfenceみたいな関数だと関係ないスレッドまで止めそうで
2017/12/05(火) 08:13:25.32ID:lkNfeWcr
配列要素でもatomic関数は使えるんじゃないかな。
まぁ毎回atomic関数使ってパフォーマンスはどうか知らんけど。
まぁ毎回atomic関数使ってパフォーマンスはどうか知らんけど。
94デフォルトの名無しさん
2017/12/20(水) 04:47:46.09ID:tW5VNkV2 windowsでnvccを使うとclコンパイラが使われますができればgccを使いたいと思ってます
可能でしょうか?
可能でしょうか?
95デフォルトの名無しさん
2017/12/21(木) 13:14:18.72ID:PbmhXIq3 おk
96デフォルトの名無しさん
2017/12/31(日) 05:34:34.69ID:vNK2XdUl 科学技術計算に使うならtitanではなくteslaでしょうか?
97デフォルトの名無しさん
2017/12/31(日) 10:17:54.45ID:KA+WHx0L scipy
2017/12/31(日) 12:13:16.21ID:7AfK40Dq
>>96
買えればな
買えればな
2018/01/03(水) 03:49:56.24ID:t6kCNeZE
visual profilerのwindows環境での使い方を解説してるサイトって無いですか?
100デフォルトの名無しさん
2018/01/03(水) 04:21:39.75ID:beBP1q3i >>99
調べる前に使う方が手っ取り早く覚えられるよ。
調べる前に使う方が手っ取り早く覚えられるよ。
101デフォルトの名無しさん
2018/01/04(木) 03:47:25.18ID:TAoyqhSr >>100
https://qiita.com/Hiroki11x/items/3737e4e267c1035a4b55
ちょっといじったりはしてるんですけどこのページの「nvprofでprofileをとる」の部分でwindowsでのやり方が分からず詰んでます
ちなみにこのソフトって実行中のプログラムの動きを見るのではなくソースコードからどういう風に動くかを表示してくれるものですよね?
https://qiita.com/Hiroki11x/items/3737e4e267c1035a4b55
ちょっといじったりはしてるんですけどこのページの「nvprofでprofileをとる」の部分でwindowsでのやり方が分からず詰んでます
ちなみにこのソフトって実行中のプログラムの動きを見るのではなくソースコードからどういう風に動くかを表示してくれるものですよね?
102デフォルトの名無しさん
2018/01/04(木) 07:08:13.82ID:SKENGrTB103デフォルトの名無しさん
2018/01/04(木) 14:37:10.89ID:TAoyqhSr104デフォルトの名無しさん
2018/02/01(木) 16:47:45.03ID:Oiw/v1s8 cuda9.1 でコンパイルに成功している人はいませんか?
サンプル simpleTemplates を VisualStudio2017(msvc++19.11) で鬼のようエラーが出てコンパイルできません
http://codepad.org/2kWkUrQ0
サンプル simpleTemplates を VisualStudio2017(msvc++19.11) で鬼のようエラーが出てコンパイルできません
http://codepad.org/2kWkUrQ0
105デフォルトの名無しさん
2018/02/02(金) 07:32:53.45ID:sggyuymU エラー無視すんな
106デフォルトの名無しさん
2018/02/02(金) 14:42:34.94ID:NNrLuZbI >>105
メーカー提供のライブラリがこんなエラーを吐くんですが…
メーカー提供のライブラリがこんなエラーを吐くんですが…
107デフォルトの名無しさん
2018/02/02(金) 16:24:33.04ID:UHwa6yjc >cl : コマンド ライン warning D9002 : 不明なオプション 'Wp64' を無視します。
108デフォルトの名無しさん
2018/02/12(月) 10:28:57.39ID:0YWRNu0p nvccだけ使えればいいと思ってVirtualBox+Ubuntu16.04にCUDA 9.1 Toolkitをインストールしてみたら
ログイン直後にgnome-sessionが死ぬようになってGUIが使えなくなってしまった。
どこで聞こうか迷ったけど、とりあえず同じような経験の人いないだろうか。
ドライバ周りが原因のような気もするけど、Windows版みたいにディスプレイドライバだけ除いて
インストールするとかできないのかな。
ログイン直後にgnome-sessionが死ぬようになってGUIが使えなくなってしまった。
どこで聞こうか迷ったけど、とりあえず同じような経験の人いないだろうか。
ドライバ周りが原因のような気もするけど、Windows版みたいにディスプレイドライバだけ除いて
インストールするとかできないのかな。
109デフォルトの名無しさん
2018/02/12(月) 14:52:40.91ID:e1PHkpUL >>108
そもそも一般ユーザーでインストールすれば、ドライバが書き換わってしまうことはない
そもそも一般ユーザーでインストールすれば、ドライバが書き換わってしまうことはない
110デフォルトの名無しさん
2018/02/12(月) 16:57:29.11ID:0YWRNu0p cudaとかの大きなくくりのメタパッケージじゃなくてcuda-compilersとか個別に指定すりゃいいんだな。
ドライバを含まないcuda-toolkit-9-1でも駄目だったから何かGUIツールでも関係していたんだろうか。
ドライバを含まないcuda-toolkit-9-1でも駄目だったから何かGUIツールでも関係していたんだろうか。
111デフォルトの名無しさん
2018/02/16(金) 14:06:42.48ID:dBpGhFbZ NVIDIA GeForce MX150 って使える?
112デフォルトの名無しさん
2018/02/16(金) 21:00:32.13ID:6Qg41lNJ 対応GPUがスタートガイドやマニュアルにあるからそれを確認
113デフォルトの名無しさん
2018/02/17(土) 02:17:22.97ID:ub0BBZWD 逝けるよって書けば信用するのか
すばらしき2ちゃん
すばらしき2ちゃん
114デフォルトの名無しさん
2018/02/17(土) 02:31:09.51ID:/cKWkF1j115デフォルトの名無しさん
2018/02/17(土) 02:36:13.64ID:/cKWkF1j116デフォルトの名無しさん
2018/02/18(日) 02:05:22.31ID:xYXxBey2117デフォルトの名無しさん
2018/02/18(日) 11:07:01.37ID:6C73cEwr118デフォルトの名無しさん
2018/02/18(日) 11:32:49.61ID:+kz6+qRG これからCUDAを勉強するなら問題ないでしょ
基本は変わっていないんで
基本は変わっていないんで
119デフォルトの名無しさん
2018/02/18(日) 13:03:27.13ID:AAhzNgFK 問題なのは、最新のcuda9.1が最新のmsvc++ でコンパイルできないことなんだが…
120デフォルトの名無しさん
2018/02/19(月) 23:00:57.77ID:sfd5KCmN121デフォルトの名無しさん
2018/02/21(水) 14:09:43.32ID:fC+mQq8B >>119
gcc使おう!
gcc使おう!
122デフォルトの名無しさん
2018/02/21(水) 14:23:56.10ID:jU0tYaxw >>121
Windows バイナリーは microsoft VC++ にしか対応していない、とのこと
http://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html
Windows バイナリーは microsoft VC++ にしか対応していない、とのこと
http://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html
123デフォルトの名無しさん
2018/02/21(水) 15:49:25.59ID:zwuXHePG そりゃバイナリならそうだがそういう話じゃなくて
124デフォルトの名無しさん
2018/02/21(水) 16:30:30.19ID:jU0tYaxw >>123
Windows 環境で cuda に対応するコードを生成するには、msvc++ しか選択できない、Windows で走るバイナリーを作るのに g++ は使えない
Windows 環境で cuda に対応するコードを生成するには、msvc++ しか選択できない、Windows で走るバイナリーを作るのに g++ は使えない
125デフォルトの名無しさん
2018/02/22(木) 17:44:56.30ID:j8QCdBbM >>122
WSLでubuntu動かせばよくね?
WSLでubuntu動かせばよくね?
126デフォルトの名無しさん
2018/02/22(木) 18:06:40.02ID:Ee7revq9127デフォルトの名無しさん
2018/02/23(金) 16:52:21.65ID:0tA6Y4q1 最新のはクロスコンパイル不可能なん?
128デフォルトの名無しさん
2018/02/23(金) 17:00:07.99ID:mpvgXBL2 >>127
クロスコンパイルとはいわないのでは?
Linux 上で gcc を使ったコンパイル成果物は、Windows では動かない
Windows 上で cl を使ったコンパイル成果物は、Linux 上では動かない
クロスコンパイルとはいわないのでは?
Linux 上で gcc を使ったコンパイル成果物は、Windows では動かない
Windows 上で cl を使ったコンパイル成果物は、Linux 上では動かない
129デフォルトの名無しさん
2018/02/23(金) 22:59:05.62ID:+N3Z3Usd >>128
Linux上のgccでWindows用バイナリを吐くこともできる。
Linux上のgccでWindows用バイナリを吐くこともできる。
130デフォルトの名無しさん
2018/02/28(水) 14:29:08.26ID:S610+cRR (棒)すげー
131デフォルトの名無しさん
2018/03/11(日) 12:38:36.83ID:YI7oymp5 CUDA ToolkitはまだVS2017 15.4までしか対応してないんだよな。
もう15.6出たのから15.4は入手できなくなるし、どうにかしてほしいなぁ。
もう15.6出たのから15.4は入手できなくなるし、どうにかしてほしいなぁ。
132デフォルトの名無しさん
2018/03/14(水) 22:02:39.83ID:KBR3xAs9 え?コンパイルやビルドができないほど深刻な問題でてるっけ?
133デフォルトの名無しさん
2018/03/14(水) 23:17:19.01ID:0fdBf/WL やってみた?nvcc動かんよ。たしかNSIGHTのインストールも失敗するはず。
フォーラムでも公式が「サポートしてるのは15.4まで」と言っている。
フォーラムでも公式が「サポートしてるのは15.4まで」と言っている。
134デフォルトの名無しさん
2018/03/15(木) 21:42:37.30ID:9ujU8BdG フォーラムの中の人も、半年くらい前は「申し訳ない」とかなんとか言ってたのが
最近はもう投げ遣りな感じだね。
修正がそんなに難しいのかね?NVIDIAの中で何が起きているんだろうか。
最近はもう投げ遣りな感じだね。
修正がそんなに難しいのかね?NVIDIAの中で何が起きているんだろうか。
135デフォルトの名無しさん
2018/03/16(金) 14:20:39.88ID:3ma6aQHv 公務員体質
136デフォルトの名無しさん
2018/03/16(金) 15:23:49.95ID:GsmhGHn7 勘弁してほしい、VS installer を思わず起動してアップデートを開始させてしまっては後悔しているんだ…
137デフォルトの名無しさん
2018/03/17(土) 01:16:13.43ID:x+YiOp0G138デフォルトの名無しさん
2018/03/17(土) 07:59:31.00ID:hl7Y0kGo 15.4までが大丈夫。そのページが15.5になってしまったらおしまいってこと。
139デフォルトの名無しさん
2018/03/24(土) 20:53:51.41ID:6+fQqcMh CUDA試してみたいんですが、入門としてはGeforce GTX 1060くらいあれば有意にCPU core i7 4Ghz より速くなりますか?
140デフォルトの名無しさん
2018/03/25(日) 00:11:04.74ID:nZih/wjn 単精度で性能を活かせる処理なら速い
AVXを駆使しても1060の性能は出ない
AVXを駆使しても1060の性能は出ない
141デフォルトの名無しさん
2018/03/25(日) 00:16:26.55ID:nZih/wjn 単精度
1060 2.8TFlops
i7 4GHz 0.5TFlops
1060 2.8TFlops
i7 4GHz 0.5TFlops
142139
2018/03/25(日) 00:29:09.29ID:zxeoFdzJ ほほう、5倍速以上ですか。
ありがとうございます。
ありがとうございます。
143139
2018/03/25(日) 00:38:35.35ID:zxeoFdzJ ちなみに用途はパイソンのディープラーニング用ライブラリの使用です。
145デフォルトの名無しさん
2018/03/25(日) 02:40:05.71ID:5uyFYwe4 Keras/TensorflowでCUDA9.0とCuDNN7.0.5を使ってるけど、
980でCPUの4〜5倍ぐらい、1060・1070だと7〜8倍ぐらい速くなった
あとは、GPUの性能よりもマザボやメモリとの相性が大きかったりする
ECCメモリ積んだサーバ機だと足を引っ張られるし、
1070のデスクトップ機よりも1060のゲーミング用ノートPCの方が速かったりする
あと、スペックの違うグラボを2枚挿しすると、単体運用よりも演算が遅くなることがあるから注意
980でCPUの4〜5倍ぐらい、1060・1070だと7〜8倍ぐらい速くなった
あとは、GPUの性能よりもマザボやメモリとの相性が大きかったりする
ECCメモリ積んだサーバ機だと足を引っ張られるし、
1070のデスクトップ機よりも1060のゲーミング用ノートPCの方が速かったりする
あと、スペックの違うグラボを2枚挿しすると、単体運用よりも演算が遅くなることがあるから注意
146デフォルトの名無しさん
2018/03/25(日) 08:15:49.40ID:iml51cux 複数枚刺しでCUDA使うならSLI-offがデフォ。
147デフォルトの名無しさん
2018/03/25(日) 11:36:30.54ID:WaYZZq21 >143-144
https://ja.wikipedia.org/wiki/GPGPU
https://ja.wikipedia.org/wiki/GPGPU
148デフォルトの名無しさん
2018/03/25(日) 11:53:57.75ID:23VTYDhm149139
2018/03/25(日) 19:52:41.28ID:zxeoFdzJ Geforce GTX 1060買ってきました。
早速試そうと思ったが、電源ユニットに6pinケーブルがないT△T
電源も買い替えかなぁorz
早速試そうと思ったが、電源ユニットに6pinケーブルがないT△T
電源も買い替えかなぁorz
150デフォルトの名無しさん
2018/03/25(日) 20:17:14.43ID:23VTYDhm おめでとう
まずは2.8TFlopsで動くテストコードの記述から
単精度でひたすら積和
まずは2.8TFlopsで動くテストコードの記述から
単精度でひたすら積和
151デフォルトの名無しさん
2018/03/25(日) 20:51:30.02ID:zxeoFdzJ スリムタワーなんか買うんじゃなかったorz
電源もそうだがグラボがケースに収まらないしorz orz
蓋外せば済むことだけど orz orz orz
電源もそうだがグラボがケースに収まらないしorz orz
蓋外せば済むことだけど orz orz orz
152デフォルトの名無しさん
2018/03/26(月) 01:19:57.55ID:y2ZIO+Gj 電源容量気をつけてな
300wとかだと足りないかもしれない
300wとかだと足りないかもしれない
153デフォルトの名無しさん
2018/03/26(月) 04:49:23.49ID:OxsjGzhh154デフォルトの名無しさん
2018/03/26(月) 04:57:26.52ID:OxsjGzhh155139
2018/03/27(火) 22:47:39.83ID:1N1BEpYm 一応電源買ったが平日はまとまった時間が取れないので土日で作業しよう。
保証期間とかあるけど平気だよね?
ちな750W
保証期間とかあるけど平気だよね?
ちな750W
156デフォルトの名無しさん
2018/03/28(水) 06:47:45.49ID:fYzIlbdt また無駄にデカイ電源を
157デフォルトの名無しさん
2018/03/31(土) 00:00:36.28ID:NrUsiMB7 いっそzen+で一台組もうか?w
158デフォルトの名無しさん
2018/03/31(土) 04:23:03.69ID:2Z4gCLvW 極地に引っ越せ
159139
2018/04/01(日) 00:23:36.11ID:C5bt+EHA 1060設置完了しました。
とりあえず、core i7 のiGPUから解像度が上がっていい感じ。
いままでディスプレイのMAX解像度出てなかったからね。
あとはpytorchが動いてくれれば…
とりあえず、core i7 のiGPUから解像度が上がっていい感じ。
いままでディスプレイのMAX解像度出てなかったからね。
あとはpytorchが動いてくれれば…
160139
2018/04/02(月) 22:02:29.92ID:gbB6Aon1 動いたっぽいけど消費時間の測り方が分からんw
まあパイソンの勉強するしかないか
まあパイソンの勉強するしかないか
161デフォルトの名無しさん
2018/04/03(火) 00:26:12.77ID:cU9BUIMs 最近pythonスレで速度計測コード貼ってる人がいた
162139
2018/04/03(火) 22:11:12.18ID:uBm1Z43v kwsk
163デフォルトの名無しさん
2018/04/03(火) 23:12:19.70ID:RICRRaNn 1060安くなったね
164デフォルトの名無しさん
2018/04/10(火) 14:29:01.82ID:JIHFaEMv Nvidiaは今月で32ビットオペレーティングシステムのパフォーマンスの向上、新機能、バグ修正などのサポートを終了する
重要なセキュリティアップデートは、2019年1月まで32ビット用に提供されます。
これには、以下のオペレーティングシステムが含まれます。
- Microsoft Windows 7 8 / 8.1 10
- Linux FreeBSD
重要なセキュリティアップデートは、2019年1月まで32ビット用に提供されます。
これには、以下のオペレーティングシステムが含まれます。
- Microsoft Windows 7 8 / 8.1 10
- Linux FreeBSD
165デフォルトの名無しさん
2018/04/12(木) 21:45:56.77ID:YSG95pib すいません、自分のグラボがcudaのどのバージョンで使えるのか
どこを見たらわかるか教えていただけないでしょうか?
windows 10で
GeForceGT610という弱めのグラボを使っています。
↓グラボのHPを見るとCUDAは対応しているようなのですが
ttp://www.nvidia.co.jp/object/geforce-gt-610-jp.html#pdpContent=1
cudaのHPでは対応グラボにのってませんでした(例だから?)
ttp://www.nvidia.co.jp/object/cuda_learn_products_jp_old.html
どこを見たらわかるか教えていただけないでしょうか?
windows 10で
GeForceGT610という弱めのグラボを使っています。
↓グラボのHPを見るとCUDAは対応しているようなのですが
ttp://www.nvidia.co.jp/object/geforce-gt-610-jp.html#pdpContent=1
cudaのHPでは対応グラボにのってませんでした(例だから?)
ttp://www.nvidia.co.jp/object/cuda_learn_products_jp_old.html
166デフォルトの名無しさん
2018/04/13(金) 00:51:21.10ID:OIii2v2C167デフォルトの名無しさん
2018/04/13(金) 02:54:37.02ID:4E3ZJNs7 610Mは演算能力2.1で最低スペックだけど、一応対応しているみたいだよ
https://developer.nvidia.com/cuda-gpus
https://developer.nvidia.com/cuda-gpus
168デフォルトの名無しさん
2018/04/13(金) 02:56:52.47ID:4E3ZJNs7 ↑610Mだけじゃなくて、610の方でも同じ
169デフォルトの名無しさん
2018/04/13(金) 11:00:08.69ID:/4JAUyBc 大昔のcuda コア数4個とかのグラボでも対応しているといえば対応してること になるけど
おもちゃのつもりで買って結局ゴミにした思い出
悪いこと言わないので最低限でもgtx1070tiとかにしておけ
おもちゃのつもりで買って結局ゴミにした思い出
悪いこと言わないので最低限でもgtx1070tiとかにしておけ
170デフォルトの名無しさん
2018/04/13(金) 12:53:26.22ID:QDi0ylkU >>165
例だからじゃなくて古いページの情報観てるからじゃね?
例だからじゃなくて古いページの情報観てるからじゃね?
171165
2018/04/13(金) 22:53:22.51ID:bpFwwSEy172デフォルトの名無しさん
2018/04/14(土) 09:03:48.32ID:SSnO0vA6 gtx960利用でx265nvencエンコードしてるけどGPU可動が何時も30%くらいで少ないけど
もっとGPU使用率を増やすにはどうしたら良いですか?
もっとGPU使用率を増やすにはどうしたら良いですか?
173デフォルトの名無しさん
2018/04/14(土) 11:20:07.58ID:C8Da/aR0174デフォルトの名無しさん
2018/04/14(土) 15:36:05.57ID:Oo4/Wx3V Occupancyが上がらない状態かバスが支配的なことが考えられるが、
とりあえずVisualProfilerかなんかでどこが原因か見てみれば?
とりあえずVisualProfilerかなんかでどこが原因か見てみれば?
175デフォルトの名無しさん
2018/05/23(水) 19:49:54.06ID:Au5e7VGg 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
Q45FH
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
Q45FH
176デフォルトの名無しさん
2018/05/23(水) 21:24:03.57ID:uiVT0ZzW Q45FH
177デフォルトの名無しさん
2018/07/05(木) 00:33:41.64ID:RfoszcD2 T85
178デフォルトの名無しさん
2018/10/08(月) 11:29:19.78ID:+5qyKWRv179デフォルトの名無しさん
2018/10/22(月) 20:29:13.91ID:w4+wf4gQ RTXのtensorコアってどうなの?
180デフォルトの名無しさん
2019/01/03(木) 14:15:50.59ID:pSmmWchb 1080Ti買ってきてドライバインストールしたんだけど、GPU-Zで見たときOpen-CLだけチェック入ってなくて
困ってるんだけど、コレって別にドライバー持ってくる必要があるの?
困ってるんだけど、コレって別にドライバー持ってくる必要があるの?
181デフォルトの名無しさん
2019/01/03(木) 14:29:58.49ID:ek3slq0P182デフォルトの名無しさん
2019/07/23(火) 17:02:22.82ID:/TcX3lBx quadro p600のWSにcuda入れようとしてるのだけど
10.1がパスカル世代の面倒見るのはteslaだけって認識でいいの?
390系のドライバしか入らなくて困ってる。
cuda9.1だとこんどはgcc 6以上はあかんとサンプルプログラムのヘッダがコンパイル時にハネてくる。
なんか詰んでる
10.1がパスカル世代の面倒見るのはteslaだけって認識でいいの?
390系のドライバしか入らなくて困ってる。
cuda9.1だとこんどはgcc 6以上はあかんとサンプルプログラムのヘッダがコンパイル時にハネてくる。
なんか詰んでる
183デフォルトの名無しさん
2019/07/23(火) 17:03:06.53ID:/TcX3lBx >>179
倍精度ゲロ遅なんでしょ
倍精度ゲロ遅なんでしょ
184デフォルトの名無しさん
2019/08/04(日) 08:51:33.67ID:1yK6graO でかいjpegファイルを手頃なサイズに縮小することがよくあって、
数が多いので結構な時間(数時間)がかかる
これを何とかGPUのパワーで短縮できないものか
数が多いので結構な時間(数時間)がかかる
これを何とかGPUのパワーで短縮できないものか
185デフォルトの名無しさん
2019/08/04(日) 10:17:38.13ID:Ae1Ff/1h スレチ
186デフォルトの名無しさん
2019/11/27(水) 13:29:04.23ID:JvyecW3n GTX1080のあるPCでcudaとcuDNNとAnacondaとTensorflowをインストール
GTX1080には9.0が合うのかと調べて、VS2015をインストールしてからcudaもバージョン合わせて入れる
Anaconda入れて早速仮想環境作ったが何故かその時はPython3.7しか選べなかった
そしたらconda install tensorflow-gpuで勝手に2.0を選び、型が合わないとエラー
conda install tensorflow-gpu==1.15でもcuda runtimeと合わない
cudaが10じゃないとダメという
1.12にしたら、今度はPythonが3.6でないとダメという
つまりこの仮想環境丸ごとダメ
捨てたあとで、もう一回作ろうとしたらPython3.6選べた
だからconda install tensorflow-gpu==1.12で、やっと動いた
ちょっとでも古い機器だともう合わないとか、敏感だよなあ
GTX1080には9.0が合うのかと調べて、VS2015をインストールしてからcudaもバージョン合わせて入れる
Anaconda入れて早速仮想環境作ったが何故かその時はPython3.7しか選べなかった
そしたらconda install tensorflow-gpuで勝手に2.0を選び、型が合わないとエラー
conda install tensorflow-gpu==1.15でもcuda runtimeと合わない
cudaが10じゃないとダメという
1.12にしたら、今度はPythonが3.6でないとダメという
つまりこの仮想環境丸ごとダメ
捨てたあとで、もう一回作ろうとしたらPython3.6選べた
だからconda install tensorflow-gpu==1.12で、やっと動いた
ちょっとでも古い機器だともう合わないとか、敏感だよなあ
187デフォルトの名無しさん
2019/12/04(水) 13:02:39.14ID:tCRQbFTx ところがRTX2000番台は事前にVSもCUDAもcuDNNも入れずにAnacondaだけで
tensorflowがインストールできてしまった
この数日で色々変わったらしい
tensorflowがインストールできてしまった
この数日で色々変わったらしい
188デフォルトの名無しさん
2019/12/04(水) 13:24:12.88ID:sb3P/SSe おめおめ
189デフォルトの名無しさん
2020/02/14(金) 11:55:27.53ID:ApdIcKC6 RTX2000番台はAnacondaからPyTorchでGPUを使う設定に出来たがChainerでcupyからGPU呼ぶのは失敗
GTX1000番台はAnacondaからChainerでGPU使えるように苦労して設定したら、PyTorchは
「これ古すぎてGPU使えない」と表示された
一長一短
ところで16xx系列ではどうなるんだろう
GTX1000番台はAnacondaからChainerでGPU使えるように苦労して設定したら、PyTorchは
「これ古すぎてGPU使えない」と表示された
一長一短
ところで16xx系列ではどうなるんだろう
190デフォルトの名無しさん
2020/04/08(水) 11:14:16.32ID:kpKMKUpB PyTorch使いたかったら2000番台がいいか
2070以上、せめて2060superがいいか
でも中古でもそれなりの値段
そしてGPU上のメモりが8gb以上ないと動かないモジュールも多くて2060無印があかん事に
2070以上、せめて2060superがいいか
でも中古でもそれなりの値段
そしてGPU上のメモりが8gb以上ないと動かないモジュールも多くて2060無印があかん事に
191デフォルトの名無しさん
2020/06/25(木) 09:14:06.05ID:MmNin/8J wddm2.7対応ドライバで
bandwidthTestにおいてpagedメモリの転送速度向上を確認した
pinedだとhtod、dtohともに13GB/sec
pageableだとwddm2.6は8GB/sec、2.7だと12GB/secくらい
bandwidthTestにおいてpagedメモリの転送速度向上を確認した
pinedだとhtod、dtohともに13GB/sec
pageableだとwddm2.6は8GB/sec、2.7だと12GB/secくらい
192デフォルトの名無しさん
2020/09/29(火) 22:45:56.87ID:8OEjGTOk GTX 1660 SUPERはCUDAに対応してますか?
193デフォルトの名無しさん
2020/09/30(水) 01:11:13.65ID:XQsVzQWu >>192
https://www.nvidia.com/ja-jp/geforce/graphics-cards/gtx-1660-super/
GPU エンジンの仕様:
1408 NVIDIA CUDA® コア
6GB GDDR6標準メモリ構成
192-ビット
https://www.nvidia.com/ja-jp/geforce/graphics-cards/gtx-1660-super/
GPU エンジンの仕様:
1408 NVIDIA CUDA® コア
6GB GDDR6標準メモリ構成
192-ビット
194デフォルトの名無しさん
2020/10/04(日) 03:16:42.67ID:tvE5z3VX CUDAのバージョンを不問とするならGeforce 200シリーズ(Tesla世代)から対応はしてる
って書こうとしたら8シリーズ(2007年)からあったんかよCUDA
って書こうとしたら8シリーズ(2007年)からあったんかよCUDA
195デフォルトの名無しさん
2020/10/13(火) 20:53:42.89ID:6GL96WuY CPUでの画像処理で速度が上がらずCudaを使いたいです。(windows)
@画像をGPUメモリに読み込み
A領域分割、パラレルで画像処理
(分割部エッジにオフセット?をつけたい)
BGPUメモリの処理結果をCPUメモリに返してファイルにおとす。
こういったサンプルプログラムでいいのないでしょうか?
画像処理部だけしたい処理に書き換えればいいような。
よろしくお願いします。
@画像をGPUメモリに読み込み
A領域分割、パラレルで画像処理
(分割部エッジにオフセット?をつけたい)
BGPUメモリの処理結果をCPUメモリに返してファイルにおとす。
こういったサンプルプログラムでいいのないでしょうか?
画像処理部だけしたい処理に書き換えればいいような。
よろしくお願いします。
196デフォルトの名無しさん
2020/10/14(水) 13:17:48.94ID:qfzj9xUm numpyをcupyに替えて
ただしcupyはGPUを使うと宣言して
みたいな奴かなあ
ただしcupyはGPUを使うと宣言して
みたいな奴かなあ
197195
2020/10/14(水) 15:54:49.86ID:4Zn1G8Lw すみません。言語を書いていませんでした。使いたいのはPythonじゃないです。
WindowsでC++で実現したいです。
WindowsでC++で実現したいです。
198デフォルトの名無しさん
2020/10/14(水) 16:32:24.96ID:ZV1nncqg ttps://qiita.com/Keech/items/381495ed90e012d69f1a
ttps://www.kkaneko.jp/tools/win/cuda10.html
ttps://www.kkaneko.jp/tools/win/cuda10.html
199デフォルトの名無しさん
2020/10/14(水) 16:34:20.05ID:ZV1nncqg ttps://ameblo.jp/naginosen/entry-12443269443.html
200デフォルトの名無しさん
2020/11/19(木) 09:55:49.41ID:RIzKHKet RTX3080などで、cuda11が使えるようになってる
だがtensorflowは現時点でまだ使えない
だがPyTorchが動くとのこと!
だがtensorflowは現時点でまだ使えない
だがPyTorchが動くとのこと!
201デフォルトの名無しさん
2020/12/01(火) 20:58:05.41ID:nBZth83f cudaええな。
2万3千円の GF 1660 SUPER で tensorflow が
2x Xeon E5 2697A v4 の10倍速くなった
2万3千円の GF 1660 SUPER で tensorflow が
2x Xeon E5 2697A v4 の10倍速くなった
202デフォルトの名無しさん
2020/12/07(月) 14:54:49.93ID:sgdo/0mF 1660sでも天下のXEON様の10倍も速いのか
cudaコア数に速度が比例するからなあ
3090だと更に7倍?
cudaコア数に速度が比例するからなあ
3090だと更に7倍?
203デフォルトの名無しさん
2020/12/07(月) 21:54:00.27ID:UxKk8T9A intelのコンパイラ買えばCPUももうちょっとマシなんだろうけどケチってやってない。
GPUのメモリの量で、やれることとやれないことが変わってくるので
コア数クロック低くてもメモリ多いみたいなのがあればいいのにね
GPUのメモリの量で、やれることとやれないことが変わってくるので
コア数クロック低くてもメモリ多いみたいなのがあればいいのにね
204デフォルトの名無しさん
2020/12/08(火) 15:17:27.13ID:enlXKoHl パソコン工房のブログ記事に
RTX2060superを2枚使って、しかしSLIとかVLLinkとか使わずに性能1.8倍って例が出ている
34308番の記事か
RTX2060superを2枚使って、しかしSLIとかVLLinkとか使わずに性能1.8倍って例が出ている
34308番の記事か
205デフォルトの名無しさん
2020/12/10(木) 23:34:49.63ID:lK79U13H 3080tiでpytorch回してえ
206デフォルトの名無しさん
2021/01/12(火) 01:54:13.37ID:QwUx+qJl 1050で戦ってるが、ぐぐるこらぼの半分の速度しか出ねえ
今買い換えるならおすすめどれ?
3万くらいなら払えそう
今買い換えるならおすすめどれ?
3万くらいなら払えそう
207デフォルトの名無しさん
2021/01/13(水) 07:56:47.02ID:7sNWJYPv 1660SUPERぐらいなら買えそう
208デフォルトの名無しさん
2021/01/14(木) 10:18:01.38ID:khWOsAy5 RTX3060デスクトップ版のコスパが
これまでのNVIDIAの一般ユーザー向けGPUでは深層学習に最適かな
3584cudaコアとVRAM12GBでアメリカ価格329ドルは有難い
教師データが巨大でも助かる
なおノート向けはcudaコアはちょっと多いがVRAM6GBなので注意
またRTX30xx番台はcuda11を使えばTensorflowを動かせるとのこと
これまでのNVIDIAの一般ユーザー向けGPUでは深層学習に最適かな
3584cudaコアとVRAM12GBでアメリカ価格329ドルは有難い
教師データが巨大でも助かる
なおノート向けはcudaコアはちょっと多いがVRAM6GBなので注意
またRTX30xx番台はcuda11を使えばTensorflowを動かせるとのこと
209195
2021/01/14(木) 13:43:39.46ID:RlCOioEo caffeが異様にメモリ食うんだが。
困った。
困った。
210デフォルトの名無しさん
2021/01/14(木) 21:42:12.40ID:qplKalHw RTX3060良さそうだよな。
Google colab は無料なのは助かるけど、毎回環境構築しなきゃいけないし、やっぱりローカルで動かせると捗る。
Google colab は無料なのは助かるけど、毎回環境構築しなきゃいけないし、やっぱりローカルで動かせると捗る。
211デフォルトの名無しさん
2021/01/18(月) 09:07:06.27ID:svUqu+sR 3000番台はまだSLI出来るんだっけ
2060superでただ2枚挿しただけでとりあえず深層学習用途なら性能上がったというのが気になる
ノートPC用のRTX3080って16GBなんだなあ
是非欲しいけど当面は総額40万円くらいだろうな
2060superでただ2枚挿しただけでとりあえず深層学習用途なら性能上がったというのが気になる
ノートPC用のRTX3080って16GBなんだなあ
是非欲しいけど当面は総額40万円くらいだろうな
212デフォルトの名無しさん
2021/01/18(月) 12:33:28.51ID:LEwyyQvF ゲームやらんし
3060でいいかな
3060でいいかな
213デフォルトの名無しさん
2021/02/25(木) 09:17:50.75ID:evheNpFl 3060発売日か
214デフォルトの名無しさん
2021/03/01(月) 12:17:15.83ID:8GQloKKK 機械学習しようとrtx3090を2枚買ったんだが中古でも25万円で売れるから売ってrtx A6000に買い替えるメリットある?
gpgpu的な観点から
gpgpu的な観点から
215デフォルトの名無しさん
2021/03/01(月) 15:53:37.93ID:ahGFzuGs 電力は少なくて済むな
216デフォルトの名無しさん
2021/06/02(水) 02:14:34.84ID:TuNemlZF 3080tiと3070tiが販売されるか
しかし3080tiでもVRAM12GB
しかし3080tiでもVRAM12GB
217デフォルトの名無しさん
2022/03/11(金) 11:03:09.15ID:vTxyPKiv ようやく
CPUマルチスレッドをCUDAプログラミングに乗り換えようと来てみたけど
ほんと人少ないな。
ompオフロードじゃなくCUDAでやろうとしてる
ちょっと思ったのはデバイス側のスレッドから、複数のデバイス側のスレッドを起動できれば
ホストデバイス間のメモリ転送をぐっと少なく出切るんだけど
こういうことって出来ないのかな?
__device__
void
SubThread()
{
...
}
__gloval__
void
SubThread()
{
}
CPUマルチスレッドをCUDAプログラミングに乗り換えようと来てみたけど
ほんと人少ないな。
ompオフロードじゃなくCUDAでやろうとしてる
ちょっと思ったのはデバイス側のスレッドから、複数のデバイス側のスレッドを起動できれば
ホストデバイス間のメモリ転送をぐっと少なく出切るんだけど
こういうことって出来ないのかな?
__device__
void
SubThread()
{
...
}
__gloval__
void
SubThread()
{
}
218デフォルトの名無しさん
2022/03/11(金) 15:20:37.94ID:vTxyPKiv 途中で送信してしもた
__device__
void
SubThread(){
...
}
__gloval__
void
Thread(){
SubThread<<<1,1024>>>();
}
int
main(){
Thread<<<1,1>>>Thread();
}
みたいな。
これができないとCPUマルチコアプログラムからGPUプログラムに簡単に移行できんわ。
CPUもC#やインテルコンパイラから入ったんで、大体様子がわかって、
ompでは用意されてなかったPartitionerを先ず作ってめちゃ楽にコーディングできるようになった。
GPUはまだ手探り状態
__device__
void
SubThread(){
...
}
__gloval__
void
Thread(){
SubThread<<<1,1024>>>();
}
int
main(){
Thread<<<1,1>>>Thread();
}
みたいな。
これができないとCPUマルチコアプログラムからGPUプログラムに簡単に移行できんわ。
CPUもC#やインテルコンパイラから入ったんで、大体様子がわかって、
ompでは用意されてなかったPartitionerを先ず作ってめちゃ楽にコーディングできるようになった。
GPUはまだ手探り状態
219デフォルトの名無しさん
2022/03/11(金) 18:41:56.87ID:yfypcQRg 細かく見てないけどSubThread をグローバルにしたら呼べる
220デフォルトの名無しさん
2022/03/12(土) 01:12:58.32ID:2Ys6LOmP >>218
CUDA Dynamic Parallelism
CUDA Dynamic Parallelism
221デフォルトの名無しさん
2022/03/12(土) 10:13:53.90ID:GhWebJZd __device__を__global__に置換してみたけど
__global__内でスレッドを立ち上げるコードを書くと
THread内のSubThread<<<1,1024>>>(); 行と
main関数のThread<<<1,1>>>Thread(); 行の2箇所で"式が必要です"とコンパイルがエラーがでる
もちろん
Thread内のSubThread<<<1,1024>>>();をコメントアウトするとコンパイルもとおるし、正しく実行できる
__global__内でスレッドを立ち上げるコードを書くと
THread内のSubThread<<<1,1024>>>(); 行と
main関数のThread<<<1,1>>>Thread(); 行の2箇所で"式が必要です"とコンパイルがエラーがでる
もちろん
Thread内のSubThread<<<1,1024>>>();をコメントアウトするとコンパイルもとおるし、正しく実行できる
222デフォルトの名無しさん
2022/03/12(土) 10:16:20.60ID:GhWebJZd223デフォルトの名無しさん
2022/03/12(土) 18:11:29.89ID:GhWebJZd ようやくわかりました
Relocatable Deice Code をenableでコンパイルが通りました
あちがとうございました
Relocatable Deice Code をenableでコンパイルが通りました
あちがとうございました
224デフォルトの名無しさん
2022/03/23(水) 16:55:21.73ID:4ldsbCNM 今のGeForceは倍精度遅すぎてなんとかならんか?とおもてたら
Kelper世代のTeslaが8万円ぐらいで売ってるのな 1.8TFlps
c.f.
R3090 FP64 0.556TFPS ww なんそれッ
Kelper世代のTeslaが8万円ぐらいで売ってるのな 1.8TFlps
c.f.
R3090 FP64 0.556TFPS ww なんそれッ
225デフォルトの名無しさん
2022/03/23(水) 19:49:40.61ID:4ldsbCNM k80とか外付けGPUBOXで正常動作すんのかな?
動作報告探してみたけど見つからないんでよくわからん
消費電力大きいし、使いたいときだけつないぎたい
動作報告探してみたけど見つからないんでよくわからん
消費電力大きいし、使いたいときだけつないぎたい
226デフォルトの名無しさん
2022/03/23(水) 21:39:42.99ID:L/8Jb0Ma 8万円分AWSのGPUインスタンス借りたほうがよくね?
227デフォルトの名無しさん
2022/03/24(木) 04:46:34.26ID:A9GFlV37 課金がアクセス時間なのか正味のGPU駆動時間かわからんけど
8万だとほぼほぼ1ケ月やね。k80本体は6.7万ってのを見つけたわ
機材レンタルじゃないのでもっと上衣スペックのGPUサービスとか期待してチェックしたけど
目ん玉飛び出るぐらい高いね。もっと安くしてくれ
8万だとほぼほぼ1ケ月やね。k80本体は6.7万ってのを見つけたわ
機材レンタルじゃないのでもっと上衣スペックのGPUサービスとか期待してチェックしたけど
目ん玉飛び出るぐらい高いね。もっと安くしてくれ
228デフォルトの名無しさん
2022/03/24(木) 05:17:57.72ID:A9GFlV37 A100ならAWSよりGPUSOROBANが半額以下やね
22万/月なんて個人じゃ出せないけど
22万/月なんて個人じゃ出せないけど
229デフォルトの名無しさん
2022/03/25(金) 15:16:22.97ID:K6Ygc++J 仮面ライダー GPGPU
https://pc.watch.impress.co.jp/docs/news/1396728.html
700Wて
10年たってジャンクで入手しても個人で稼動して遊べるシロモノじゃなくなったな
https://pc.watch.impress.co.jp/docs/news/1396728.html
700Wて
10年たってジャンクで入手しても個人で稼動して遊べるシロモノじゃなくなったな
230デフォルトの名無しさん
2022/03/25(金) 15:57:54.09ID:9D1V2Tj7 電力はまだしも排熱が難しいな。
231デフォルトの名無しさん
2022/04/15(金) 16:37:56.16ID:sD2CwuNi CUDAてなんで3次元でスレッド管理するの?
DRAMが実装構造としては2次元でもアドレスでコーダがrow. columnは吸収して1次元で管理するように
スレッドもそうしちゃ駄目な理由を知りたい。
そもそも、3次元ってのとgrid, blockがなんの関係もないんじゃないの?
2次元を block として管理して
3次元の奥行が必要になった時点でgridが登場するならまだ理解できるんだけど。
しかも
threads/block = 1024 と少ない。こんなんじゃ32x32行列越えたら一挙にメンドクサイ
DRAMが実装構造としては2次元でもアドレスでコーダがrow. columnは吸収して1次元で管理するように
スレッドもそうしちゃ駄目な理由を知りたい。
そもそも、3次元ってのとgrid, blockがなんの関係もないんじゃないの?
2次元を block として管理して
3次元の奥行が必要になった時点でgridが登場するならまだ理解できるんだけど。
しかも
threads/block = 1024 と少ない。こんなんじゃ32x32行列越えたら一挙にメンドクサイ
232デフォルトの名無しさん
2022/04/15(金) 22:42:02.88ID:+O2sB4yV 3DCG処理やる場合、最初から3次元のID貰った方が楽じゃん?
233デフォルトの名無しさん
2022/04/15(金) 23:30:24.49ID:ySHkHnZ8 >>232
3DCGの次元とは全然別物だが
3DCGの次元とは全然別物だが
234デフォルトの名無しさん
2022/04/16(土) 07:46:19.05ID:njc5gQYC block,grid へのスレッドの割当て方とかでパフォーマンス変わりますか?
1000個のスレッドを起動したいとき、
block内だけで起動する方が速いのかいのか?
それとも
10個/grid, 100個/blockと分ける方が速いのか?
OpenCLでNVidiaがAMDほどパフォーマンスが上がらないのはスレッドの立ち上げかたで
癖のようなものがあるからってのはないですか?
block,gridってパーティションは単にソフトの問題なのかハード上の制約でこうしてるのかが知りたい
1000個のスレッドを起動したいとき、
block内だけで起動する方が速いのかいのか?
それとも
10個/grid, 100個/blockと分ける方が速いのか?
OpenCLでNVidiaがAMDほどパフォーマンスが上がらないのはスレッドの立ち上げかたで
癖のようなものがあるからってのはないですか?
block,gridってパーティションは単にソフトの問題なのかハード上の制約でこうしてるのかが知りたい
235デフォルトの名無しさん
2022/04/16(土) 09:18:24.96ID:lq6dfVd7 変わるけど、今のGPUそんなん意識しなくても速いからいいだろ
Keplerまでは色々考えないと速くならんかったけど、Maxwell以降はそんな考えなくてもよくなったからおけ
Keplerまでは色々考えないと速くならんかったけど、Maxwell以降はそんな考えなくてもよくなったからおけ
236デフォルトの名無しさん
2022/04/16(土) 10:42:24.69ID:njc5gQYC なるほど
じゃblockとかgridとかのパーティションはその時々作成するアプリ側の都合で
作りやすいように自由に設定していいってことですね?
OpwnCL使うとCUDAより大分速度低下する理由は何ですかね?
AMDはOpenCLしかないけどNVidiaでCUDAで書いたのと遜色ないぐらいのベンチマーク出してるサイトがあったんですが。
単にNvidiaがOpenCLやる気ないだけ?
じゃblockとかgridとかのパーティションはその時々作成するアプリ側の都合で
作りやすいように自由に設定していいってことですね?
OpwnCL使うとCUDAより大分速度低下する理由は何ですかね?
AMDはOpenCLしかないけどNVidiaでCUDAで書いたのと遜色ないぐらいのベンチマーク出してるサイトがあったんですが。
単にNvidiaがOpenCLやる気ないだけ?
237デフォルトの名無しさん
2022/04/16(土) 10:53:55.11ID:MoK8GTpb 昔ウチで試したときは同じGPUでCUDAとOpenCLはそんなに差は無かったがなぁ。
ものによってはOpenCLの方が速い場合もあったり。
そんなに差が出るのはバリバリにチューニングしたCUDAカーネルをOpenCLにベタ移植したとかかねぇ?
ものによってはOpenCLの方が速い場合もあったり。
そんなに差が出るのはバリバリにチューニングしたCUDAカーネルをOpenCLにベタ移植したとかかねぇ?
238デフォルトの名無しさん
2022/04/16(土) 11:06:17.75ID:lq6dfVd7 厳密には、ハードウェアを意識するならちゃんと考えたほうがいい
あと適当に言ったけどさすがに今の世代でも1スレッドブロックしか立ち上げないとかだとめっちゃ遅いと思う
GPUの並列性を埋めるなら、1SMに対して複数のスレッドブロックを当てられるぐらいであり、全SMに対してそれができるぐらい、つまり数万スレッドを立ち上げた方がいい
とはいえレジスタ数との兼ね合いもあるからそこはバランスを見て
あと適当に言ったけどさすがに今の世代でも1スレッドブロックしか立ち上げないとかだとめっちゃ遅いと思う
GPUの並列性を埋めるなら、1SMに対して複数のスレッドブロックを当てられるぐらいであり、全SMに対してそれができるぐらい、つまり数万スレッドを立ち上げた方がいい
とはいえレジスタ数との兼ね合いもあるからそこはバランスを見て
239デフォルトの名無しさん
2022/04/16(土) 11:11:10.82ID:lq6dfVd7 OpenCLとCUDAに本質的な速度の差はないよ。最適化がどれぐらいかかるかの違いじゃない?
一般的な使い方をするならOpenCLはオンラインコンパイルだからあんま最適化かからんけど、CUDAなら最適化がかかるとかそういう感じ
一般的な使い方をするならOpenCLはオンラインコンパイルだからあんま最適化かからんけど、CUDAなら最適化がかかるとかそういう感じ
240デフォルトの名無しさん
2022/04/16(土) 11:42:04.90ID:xCzrvTZx nVIDIAがCLやる気ないのはわかりきってることだろうに
241デフォルトの名無しさん
2022/04/16(土) 11:52:05.37ID:MoK8GTpb 一般にはオンラインコンパイラの方がその環境に合わせた最適化ができると思うがな。
NVIDIAがどこまでやってくれているかは知らないがIntel OpenCLは頑張っていた印象。
NVIDIAがどこまでやってくれているかは知らないがIntel OpenCLは頑張っていた印象。
242デフォルトの名無しさん
2022/04/16(土) 13:08:09.18ID:xCzrvTZx nVIDIAはclCreateProgramWithIL無いんだったなw
243デフォルトの名無しさん
2022/04/28(木) 01:34:13.82ID:tOn4KFIj 今度のゲフォ fp64で
ラデなみの速度でるとか情報ないの?
ラデなみの速度でるとか情報ないの?
244デフォルトの名無しさん
2022/05/14(土) 21:22:02.62ID:pnhp2Adq 11.7 にしたらoptix のdirect callがこわれた
245デフォルトの名無しさん
2022/06/29(水) 06:55:54.64ID:hJJv21MU 今月のIF誌GPUプログラム特集ですなー
AMDも含むけど
最近のIF誌Pythonとラスパイばっかでうんざりしてた
AMDも含むけど
最近のIF誌Pythonとラスパイばっかでうんざりしてた
246デフォルトの名無しさん
2022/07/03(日) 16:32:19.91ID:ZA7I4EsQ IF誌読んだけど、
中級以上のCUSAプログラマ諸氏にはなんの価値もないです
意識してコーディングするとたちまち複雑化するシェアードメモリになんらかの言及があると思ったのですが、
サンプルプログラムはシェアードメモリで速度かせいでます。
だけでした
そんな解説なら俺でも出来るわ
中級以上のCUSAプログラマ諸氏にはなんの価値もないです
意識してコーディングするとたちまち複雑化するシェアードメモリになんらかの言及があると思ったのですが、
サンプルプログラムはシェアードメモリで速度かせいでます。
だけでした
そんな解説なら俺でも出来るわ
247246
2022/07/03(日) 16:32:51.51ID:ZA7I4EsQ CUSA
じゃなく
CUDAです
じゃなく
CUDAです
248デフォルトの名無しさん
2022/07/03(日) 20:29:17.30ID:pCZRSLKH >>246
初級の私には役立ちそうですね‥‥ぽち‥‥
初級の私には役立ちそうですね‥‥ぽち‥‥
249デフォルトの名無しさん
2022/07/04(月) 13:18:06.68ID:/6oW4Zmu と思うなら読んでみればいいよ
Nvidiaのプログラミングガイド以上の情報あったら教えて
Nvidiaのプログラミングガイド以上の情報あったら教えて
250デフォルトの名無しさん
2022/07/04(月) 14:20:47.70ID:QcH7dMjb251デフォルトの名無しさん
2022/07/04(月) 14:25:19.24ID:QcH7dMjb bank conflictだった
252デフォルトの名無しさん
2022/07/05(火) 12:33:18.52ID:hRE3by/z cudaはグラボ2枚差し使えますか?
コンシューマ向きのグラボだとvramが24Gですが
48Gになれば購入したいです。
そもそもvram24Gもってる人でどんな処理をしてるのか
知りたいです。例えば深層学習で〇時間を▽というグラボで
こんだけ時間がかかるとか。
そういうデータがほしいです!
よろしく!
コンシューマ向きのグラボだとvramが24Gですが
48Gになれば購入したいです。
そもそもvram24Gもってる人でどんな処理をしてるのか
知りたいです。例えば深層学習で〇時間を▽というグラボで
こんだけ時間がかかるとか。
そういうデータがほしいです!
よろしく!
253デフォルトの名無しさん
2022/07/05(火) 15:28:47.86ID:CUrAgxNd とりあえず立ち読みしてくるわ
254デフォルトの名無しさん
2022/07/05(火) 23:08:08.38ID:r9k68Dlj >>252
A6000 (48GB) 使ってるけど pix2pix とかやったら画像1000枚でも数日かかるよ。
vgg16 とか mobilenet で数時間の学習が多いけど、画像集めるのに一週間かかる。
A6000 (48GB) 使ってるけど pix2pix とかやったら画像1000枚でも数日かかるよ。
vgg16 とか mobilenet で数時間の学習が多いけど、画像集めるのに一週間かかる。
255デフォルトの名無しさん
2022/08/08(月) 11:00:53.55ID:sinjC4yw 積分する関数をCUDAで書こうと思っています
リストのIntegrateのように関数テンプレートにすることで,
通常のC++であれば
呼び出し時に
被積分関数(ここではSinc)として
関数へのポインタでも,
ラムダ式でも
直接関数名を書いてもうまく動作させることができるのですが,
CUDAではうまくいかないようです.
もちろんIntegrateの中で被積分関数を直接記述すれば問題なく動作するのですが,
これだと毎回エディタでIntegrateの修正が必要になってきます.
呼び出し時の引数として被積分関数を与えるにはどーすればいいんでしょうか?
リストのIntegrateのように関数テンプレートにすることで,
通常のC++であれば
呼び出し時に
被積分関数(ここではSinc)として
関数へのポインタでも,
ラムダ式でも
直接関数名を書いてもうまく動作させることができるのですが,
CUDAではうまくいかないようです.
もちろんIntegrateの中で被積分関数を直接記述すれば問題なく動作するのですが,
これだと毎回エディタでIntegrateの修正が必要になってきます.
呼び出し時の引数として被積分関数を与えるにはどーすればいいんでしょうか?
256255
2022/08/08(月) 11:01:35.81ID:sinjC4yw プログラム リストです
__global__
void
//__device__
//float
Sinc() {
printf("Ahyahya\n");
//return start;
}
template< typename Functor>
__global__
void
Integrate(Functor func){
func <<<1, 1024>>> ();
//Sinc << <1, 1024 >> > ();
__syncthreads();
}
int
main() {
Integrate <<<1, 1>>> (0, 10, Sinc);
//Sinc << <1, 1024 >> > ();
}
__global__
void
//__device__
//float
Sinc() {
printf("Ahyahya\n");
//return start;
}
template< typename Functor>
__global__
void
Integrate(Functor func){
func <<<1, 1024>>> ();
//Sinc << <1, 1024 >> > ();
__syncthreads();
}
int
main() {
Integrate <<<1, 1>>> (0, 10, Sinc);
//Sinc << <1, 1024 >> > ();
}
257255
2022/08/08(月) 11:59:44.42ID:sinjC4yw main 中
誤 Integrate <<<1, 1>>> (0, 10, Sinc);
正 Integrate <<<1, 1>>> ( Sinc );
プログラムリストのコピペ時 0,10, を消すの忘れてました
誤 Integrate <<<1, 1>>> (0, 10, Sinc);
正 Integrate <<<1, 1>>> ( Sinc );
プログラムリストのコピペ時 0,10, を消すの忘れてました
258デフォルトの名無しさん
2022/08/08(月) 14:22:43.82ID:6PldGrDe すまんが、MacやdGPUのないWindowsノートでコード書けたらいいなと思うんだけどさ
CUDAを扱えるオンラインIDEとかエミュレーターとかなんかないもんなのかな?
CUDAを扱えるオンラインIDEとかエミュレーターとかなんかないもんなのかな?
259デフォルトの名無しさん
2022/08/08(月) 16:23:48.54ID:XhYLtnJ4 >>256
最近CUDA使ってないから間違ってるかもしれんが、__global__がついた関数からは__device__しか呼べなかったきがする。__global__関数から__global__が呼べるかちゃんとマニュアルで確認しよう。
最近CUDA使ってないから間違ってるかもしれんが、__global__がついた関数からは__device__しか呼べなかったきがする。__global__関数から__global__が呼べるかちゃんとマニュアルで確認しよう。
260デフォルトの名無しさん
2022/08/08(月) 16:31:00.99ID:XhYLtnJ4 >>258
google colaboratoryのGPUインスタンスで昔ちょっとしたCudaのコードを動かしたことはある。
基本はpythonで動かすことが前提なのでちょっと面倒なことしないとCのコードは動かせなかった。
後有料アカウントしないとGPUインスタンスに制限時間がつくかも。
google colaboratoryのGPUインスタンスで昔ちょっとしたCudaのコードを動かしたことはある。
基本はpythonで動かすことが前提なのでちょっと面倒なことしないとCのコードは動かせなかった。
後有料アカウントしないとGPUインスタンスに制限時間がつくかも。
261デフォルトの名無しさん
2022/08/09(火) 09:01:04.67ID:NQSwSFSX262デフォルトの名無しさん
2022/08/09(火) 09:20:50.28ID:NQSwSFSX >>256
AWS
AWS
263デフォルトの名無しさん
2022/08/09(火) 09:23:37.72ID:NQSwSFSX264デフォルトの名無しさん
2022/08/09(火) 13:15:46.68ID:FuYE0Ba9 せんきゅー!
Colaboratoryは怪しいことをしてると警告が出てビビっちゃうし、AWSは高いし、コードを書く時点で契約するには勇気がいるな・・・・
Colaboratoryは怪しいことをしてると警告が出てビビっちゃうし、AWSは高いし、コードを書く時点で契約するには勇気がいるな・・・・
265デフォルトの名無しさん
2022/08/09(火) 16:43:54.58ID:+p53eoJ7 >>264
Linux使うのでもよかったら一万円ぐらいのjetson nano買えばCuda使えるよ
Linux使うのでもよかったら一万円ぐらいのjetson nano買えばCuda使えるよ
266デフォルトの名無しさん
2022/08/12(金) 22:53:57.30ID:m8p3x/l6 んなもん使うぐらいならふつーにx64でコード書いたほうがよっぽどいい
エンベ用途でもないのに何を好んでわざわざワンボードマイコンで計算せにゃならんのだ
エンベ用途でもないのに何を好んでわざわざワンボードマイコンで計算せにゃならんのだ
267デフォルトの名無しさん
2022/08/13(土) 00:14:35.60ID:13DWsM+a268デフォルトの名無しさん
2022/08/13(土) 22:01:46.34ID:h81CLsAE269デフォルトの名無しさん
2022/08/14(日) 11:31:10.95ID:VI2zLni0 M5StickV 薦めてる香具師がいた
270264
2022/08/14(日) 13:40:06.95ID:p/YIGTAI コードを手元で書いて、実際に計算する際は実機を用意するかAWSを借りるつもりでいます
ただコードを書くだけの段階でAWSを借りると負担なので、何かいい方法があればいいなと思った次第です
ただコードを書くだけの段階でAWSを借りると負担なので、何かいい方法があればいいなと思った次第です
271デフォルトの名無しさん
2022/08/16(火) 22:23:45.49ID:dhgyOuoD >>270
https://www.%61mazon.co.jp/dp/B085TH77RT
カードに安いやつかっても10万円コース
AWSなくてもいけるが電気代要るわな
それとThunderboltがボトルネックになることはほぼ確定
https://www.%61mazon.co.jp/dp/B085TH77RT
カードに安いやつかっても10万円コース
AWSなくてもいけるが電気代要るわな
それとThunderboltがボトルネックになることはほぼ確定
272デフォルトの名無しさん
2022/08/16(火) 22:44:07.06ID:dhgyOuoD273デフォルトの名無しさん
2022/08/17(水) 01:02:58.66ID:V/z4ESnc Dynamic Parallelism で親スレッドと子スレッドの属するブロックを
同一ブロックに属するような指定はできますか?
同一ブロックにして親スレッドが確保したShared Memory を子スレッドからアクセスしたいんだですが.
同一ブロックに属するような指定はできますか?
同一ブロックにして親スレッドが確保したShared Memory を子スレッドからアクセスしたいんだですが.
274デフォルトの名無しさん
2022/08/17(水) 01:38:27.72ID:V/z4ESnc 訂正です
○同一ブロックにして親スレッドが確保したShared Memory を親スレッドからアクセスしたいんですが.
myKernel<<<gridSize, blockSize, nI*sizeof(int))>>>(...);
親スレッドで確保して子スレッドに引き渡すnI*sizeof(int)サイズのshared memoryですが
この領域を親スレッドからアクセスできないんでしょーか?
○同一ブロックにして親スレッドが確保した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で書いてたほうがよさそう
そもそも親子スレッド間でグローバルメモリのローカル変数の参照渡しが無理らしい
ローカル変数なんかやめにして、大域変数にして__device__つけろとorz
当然のごとくshared memoryもだめっぽい
C++でUser I/Fを使いやすく仕上げたいと思ってたけど
そーゆーおしゃれなことは
いろんな制限が頭に入っるまでは素直にゴリゴリCで書いてたほうがよさそう
276デフォルトの名無しさん
2022/08/27(土) 12:49:33.14ID:shuaF+y6 __global__のなかでnew,delete使えるので
もしやと思ってmake_unique使おうとしたらだめだった
もしやと思ってmake_unique使おうとしたらだめだった
277デフォルトの名無しさん
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で正しく使えるのかな?
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で正しく使えるのかな?
278デフォルトの名無しさん
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使えてもあんま有り難みは少ないな
プログラムの中で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一つにしたいと思います。
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枚でも普通のモデルなら
ちゃんと学習できる。長いと数日学習に時間がかかるけど。
爆速学習したいなら、クラウドで大富豪するしかないぞ。
具体的に動かしたいモデルとかあるの?
VRAM48Gもあれば、相当の大きさのモデルでも、バッチサイズある程度取れると思う。
2枚にするなら、NVLINKやったかのボード間通信できるやつやらないと、
同時に使ってバッチサイズ倍にするぜってやつが遅い。
一枚でもいいんでない?って気はする。
何と比較して速くしたいのか分からんけど、3090ti(24GBメモリ)1枚でも普通のモデルなら
ちゃんと学習できる。長いと数日学習に時間がかかるけど。
爆速学習したいなら、クラウドで大富豪するしかないぞ。
具体的に動かしたいモデルとかあるの?
283デフォルトの名無しさん
2022/09/02(金) 05:25:23.36ID:gNiGWU4j >>282
返信サンキュー!情報ありがとさん!!
気象予測がしたくて(とある記事に20万倍の高速化と書いてあった)
クラウドいいですね〜!
どうしてもpythonのnumbaがやりたくて!
ちなみにpycharmかgoogle coalb pro plusはどちらが良いのでしょうか?
返信サンキュー!情報ありがとさん!!
気象予測がしたくて(とある記事に20万倍の高速化と書いてあった)
クラウドいいですね〜!
どうしてもpythonのnumbaがやりたくて!
ちなみにpycharmかgoogle coalb pro plusはどちらが良いのでしょうか?
284デフォルトの名無しさん
2022/09/04(日) 06:32:34.26ID:Z3ORh9R5 >>254
cudaつかっても1週間もかかるんですか?
cudaつかっても1週間もかかるんですか?
285デフォルトの名無しさん
2022/09/04(日) 22:01:18.62ID:z+JpWVLU 気象予測て流体力学だろ
学習とかの前に基礎方程式がわかってるものは
粒子フィルタで検討したほうがいいんじゃないの?
もっぱら線形微分方程式に使われるカルマンフィルタを拡張した
アンサンブルカルマンフィルタで見たことあるけど
今だと線形非線形にかかわらず利用可能な粒子フィルタに頼るほうが簡単だと思うけど
学習とかの前に基礎方程式がわかってるものは
粒子フィルタで検討したほうがいいんじゃないの?
もっぱら線形微分方程式に使われるカルマンフィルタを拡張した
アンサンブルカルマンフィルタで見たことあるけど
今だと線形非線形にかかわらず利用可能な粒子フィルタに頼るほうが簡単だと思うけど
286デフォルトの名無しさん
2022/09/05(月) 05:17:33.36ID:xy0LK1q6 >>285
おすすめのサイトとかありますか?
おすすめのサイトとかありますか?
287デフォルトの名無しさん
2022/09/06(火) 12:58:14.35ID:c2oYpxoe288デフォルトの名無しさん
2022/09/06(火) 18:55:48.97ID:iU1ybZ8L289デフォルトの名無しさん
2022/09/16(金) 13:59:03.50ID:cImVlNrb RTX 4090 Ti
48GB
GDDR6X
これ買う人いますか?
48GB
GDDR6X
これ買う人いますか?
290デフォルトの名無しさん
2022/09/16(金) 20:06:35.06ID:fjE4y/uE 消費電力によります。
291デフォルトの名無しさん
2022/09/22(木) 11:24:00.63ID:RnuCJ+18292デフォルトの名無しさん
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とかでないのかな?
困るよね。
だそう。つまり3枚差せば1800wですね。
つまり電源ユニットを2枚で4000ワット以上必要ですね。
電源ユニットが3000wとか4000wとかでないのかな?
困るよね。
294デフォルトの名無しさん
2022/10/08(土) 13:36:18.12ID:d409kTqm .cuファイルで何とか普通のメモリと
GPUのVRAMを同居させて使えるなら
容量の大き過ぎる計算でもスピードは落ちるが
普通のCPUだけの時より速く計算できる、
とか出来たらいいんだけど、まず無理なんだろうなあ
(沖電気はそういうのを上手くやったらしいが詳細が分からない)
GPUのVRAMを同居させて使えるなら
容量の大き過ぎる計算でもスピードは落ちるが
普通のCPUだけの時より速く計算できる、
とか出来たらいいんだけど、まず無理なんだろうなあ
(沖電気はそういうのを上手くやったらしいが詳細が分からない)
295デフォルトの名無しさん
2022/10/08(土) 13:53:17.87ID:XEAL3BhY 何を問題視してるのかよくわからんけど
例えばmkl入れるとかじゃ駄目なのか?
例えばmkl入れるとかじゃ駄目なのか?
296デフォルトの名無しさん
2022/10/08(土) 14:37:57.21ID:TKlSmRLn >>294
LinuxならUnifiedMemoryでできるな。
LinuxならUnifiedMemoryでできるな。
297デフォルトの名無しさん
2022/10/08(土) 16:09:18.26ID:j9nJcF5K >>296
それは凄い!!!
それは凄い!!!
298デフォルトの名無しさん
2022/10/09(日) 00:49:49.72ID:KNQys/Sq ホスト側のメモリをピンして使うことはできるけど多分そういう用途ではないよなあ
299デフォルトの名無しさん
2022/10/09(日) 08:33:30.58ID:DpFtFESu >>294が言ってるのはOversubscriptionだろ。
300デフォルトの名無しさん
2022/10/26(水) 02:06:11.16ID:XY9sqarF C#でCUDAを使おうとして悪戦苦闘してようやくこのスレにたどり着いたのだが・・・
GPUで計算した結果をCPUに取り出すには結局どうやったらいいんだ?
検索してもサンプルプログラムはほとんど出てこないし、GPU動かして終わりでその結果を使うやり方が示されてない。
教えろくださいお願いしますだ
GPUで計算した結果をCPUに取り出すには結局どうやったらいいんだ?
検索してもサンプルプログラムはほとんど出てこないし、GPU動かして終わりでその結果を使うやり方が示されてない。
教えろくださいお願いしますだ
301デフォルトの名無しさん
2022/10/26(水) 05:14:53.09ID:2ajidUUz CUDAでdll作成してC#に読み込ませる
こんだけ
こんだけ
302デフォルトの名無しさん
2022/10/26(水) 10:08:16.86ID:Gl6HUSuY >>268
C言語で普通にCuda使うときだったら、GPU側にメモリ確保してGPUで計算した結果をそこに書き込む。
GPUでの計算が終わったらGPU側のメモリをCPU側のメモリにコピーするみたいな感じだ。
後unified memoryとかいうのでGPUから直接CPU側のメモリに書き込めるらしい。
C言語だったらCUDA sdkにサンプルコードがたくさん入ってるだけどね。
どういう関数使えばいいかはCUDAのドキュメントをちゃんと読めば見つけられるでしょう。
C言語で普通にCuda使うときだったら、GPU側にメモリ確保してGPUで計算した結果をそこに書き込む。
GPUでの計算が終わったらGPU側のメモリをCPU側のメモリにコピーするみたいな感じだ。
後unified memoryとかいうのでGPUから直接CPU側のメモリに書き込めるらしい。
C言語だったらCUDA sdkにサンプルコードがたくさん入ってるだけどね。
どういう関数使えばいいかはCUDAのドキュメントをちゃんと読めば見つけられるでしょう。
303デフォルトの名無しさん
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
昨日はとりあえず↓を参考にして以下のように書き換えてみたんですが、これじゃダメってことですよね?
(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なんて知らなかったな
で、もう使われてなくね?
それでやる必要ある?
で、もう使われてなくね?
それでやる必要ある?
306デフォルトの名無しさん
2022/10/26(水) 11:15:01.82ID:XY9sqarF GPU使って並列計算できるってのを昨日知った初心者なんで、すいません。
「gpu 並列計算 C#」で検索してもこれしか出てこないんです。
「gpu 並列計算 C#」で検索してもこれしか出てこないんです。
307デフォルトの名無しさん
2022/10/26(水) 11:21:28.43ID:2ajidUUz で、あればGPUの使い方、CUDAの使い方を、まず勉強した方が良いのでは?
まだGPUとホストのメモリ間のデータ転送とか、さっぱりわからないよね
まだGPUとホストのメモリ間のデータ転送とか、さっぱりわからないよね
308デフォルトの名無しさん
2022/10/26(水) 11:45:49.61ID:Gwv5fEeF cudaは別にコンパイルしてC#から呼べば?このほうが調べやすそう
309デフォルトの名無しさん
2022/10/26(水) 12:52:17.28ID:XY9sqarF 趣味でやっているだけなので調べてすぐにできればいいと思ったんですよ。
>>304でGPU側で計算した結果を渡すだけなのにそれを乗せてるウェブサイトが見つからないなんて、そんな手間な作業なの?
>>304でGPU側で計算した結果を渡すだけなのにそれを乗せてるウェブサイトが見つからないなんて、そんな手間な作業なの?
310デフォルトの名無しさん
2022/10/26(水) 13:29:27.83ID:Gwv5fEeF311デフォルトの名無しさん
2022/10/26(水) 16:16:55.85ID:Gl6HUSuY CUDA本体はC言語かC++言語で使う前提なのでそれらの言語ならサンプルコードや情報がたくさん見つかるんだけど。
C#からCUDA使うとなるとマイナーなライブラリを使うことになって情報を見つけづらいかもしれない。英語の情報までくまなく調べればそうじゃないのかもしれないが。
C#からCUDA使うとなるとマイナーなライブラリを使うことになって情報を見つけづらいかもしれない。英語の情報までくまなく調べればそうじゃないのかもしれないが。
312デフォルトの名無しさん
2022/10/26(水) 16:57:54.98ID:2ajidUUz C#から使う場合は上にも書いた通り、cuda でdllを作成して
C#からはDllImportで読み込む
C#からはDllImportで読み込む
313デフォルトの名無しさん
2022/10/26(水) 17:35:34.36ID:XY9sqarF そうなんですね。ありがとうございます。
ライブラリが用意されているのでそれでできないのなら何のためのライブラリなのかと素人的には感じてしまいました。
ライブラリが用意されているのでそれでできないのなら何のためのライブラリなのかと素人的には感じてしまいました。
314デフォルトの名無しさん
2022/10/26(水) 21:01:13.64ID:8mk+cARY 出来ないかどうかはちゃんと調べないとわからないだろう
簡単に出来るかどうかはライブラリは保証しないよ、特にC#とCUDAみたいな組み合わせだったら。
めちゃくちゃ沢山のグルーコードをC++/CLIで書かなきゃいけないのを省略してくれる、ぐらいなもんでCUDAに対する理解なしに使える代物じゃないと思うけどな。
簡単に出来るかどうかはライブラリは保証しないよ、特にC#とCUDAみたいな組み合わせだったら。
めちゃくちゃ沢山のグルーコードをC++/CLIで書かなきゃいけないのを省略してくれる、ぐらいなもんでCUDAに対する理解なしに使える代物じゃないと思うけどな。
315デフォルトの名無しさん
2022/10/26(水) 23:22:43.17ID:XY9sqarF すいません、↓にテストコードが載っていたのでそれを動かしたところ、GPUの計算結果を取り出せました。
お騒がせしました。
Alea GPUで簡単C# GPUプログラミング - Qiita
https://qiita.com/y_miyoshi/items/921903e3499abf18abdd
お騒がせしました。
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
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のメッセージだよね?
てな感じで全然情報不足だわな
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をツールキットからインストールした事もありますが、それでもダメでした。
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周りの問題かと
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対応デバイスが検出されていないようです・・・。
サンプル試したことなかったのでやってみました。
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個失敗しているって意味なんですね・・・。
322デフォルトの名無しさん
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なのですが、もうちょっと大きい容量のに変えてみて、それでダメならやはりドライバが合っていないという事でしょうか・・・。
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なら
偽物をつかまされたか、ハードウェア故障を疑った方が良い気がする
何かがかなりおかしい
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)
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 差す穴変えてみた?
330デフォルトの名無しさん
2022/12/02(金) 21:26:41.40ID:xlTggD6P 12V繋いでないってことはないよな
331デフォルトの名無しさん
2022/12/02(金) 22:03:05.09ID:2B2OMrFT >>326
Linuxでも入れて確認してみたら?
Linuxでも入れて確認してみたら?
332デフォルトの名無しさん
2022/12/02(金) 22:11:35.41ID:2cIkFTzc 接続するPCIEスロットも変えてみましたが・・・ダメでした。
グラボ上部にある補助電源?用のケーブルはちゃんと繋いでるはずなのですが、他に必要な接続とかあるんでしょうか?
現状のGPU-Zでの結果
https://gpuz.techpowerup.com/22/12/02/pn6.png
グラボ上部にある補助電源?用のケーブルはちゃんと繋いでるはずなのですが、他に必要な接続とかあるんでしょうか?
現状のGPU-Zでの結果
https://gpuz.techpowerup.com/22/12/02/pn6.png
333デフォルトの名無しさん
2022/12/03(土) 06:08:21.14ID:9AvqKyUf OpenGL, DirectX, vulkanとかのグラフィッ関係のAPIを使ったプログラムやゲームも動かないの?
本当にハードウェア関係に問題があるんならそういうプログラムも動かないだろうけど。
本当にハードウェア関係に問題があるんならそういうプログラムも動かないだろうけど。
334デフォルトの名無しさん
2022/12/03(土) 12:15:17.56ID:s9fm/abx 他のGPU全部殺してドライバアンインストール
3060Tiのドライバ入れなおせ
3060Tiのドライバ入れなおせ
335デフォルトの名無しさん
2022/12/03(土) 12:19:52.15ID:Xj+KmoE3 別のドライブにOSクリーンインストールしてみれば
336デフォルトの名無しさん
2022/12/04(日) 11:39:28.03ID:2Pwe8xJ8337デフォルトの名無しさん
2022/12/06(火) 21:28:34.09ID:VA2y8qjn 316です。
思い切ってCドライブ初期化してみたらCUDA認識されました。
皆さんありがとうございました。
思い切ってCドライブ初期化してみたらCUDA認識されました。
皆さんありがとうございました。
338デフォルトの名無しさん
2022/12/06(火) 22:09:54.37ID:lBiSjHRF 経験上、一番難しいと感じたのはpython
listとかタプルとかデータ型が沢山あってこの変換がやたら発生
pandaとnumpyでも型が違うとか
torchは経験ないけどtensorflowは理屈が分かればそれほど難しくないと思う
listとかタプルとかデータ型が沢山あってこの変換がやたら発生
pandaとnumpyでも型が違うとか
torchは経験ないけどtensorflowは理屈が分かればそれほど難しくないと思う
339デフォルトの名無しさん
2022/12/07(水) 02:07:47.36ID:imjH6UhZ >>338
普通にC++の方が難しいと思うけど、どんな言語を試した経験上なの?
普通にC++の方が難しいと思うけど、どんな言語を試した経験上なの?
340デフォルトの名無しさん
2022/12/07(水) 06:20:47.46ID:YHin935u もしかしてCUDAでC++を覚えようとしてるの?
CUDAはCの知識でもできるけどCは?
CUDAはCの知識でもできるけどCは?
341デフォルトの名無しさん
2022/12/07(水) 13:28:40.27ID:wqy1K1SQ C++は変態過ぎて
経験豊富ならべつにC++かまわんが
経験無いならCからやった方が良い
経験豊富ならべつにC++かまわんが
経験無いならCからやった方が良い
342デフォルトの名無しさん
2022/12/07(水) 17:47:48.05ID:4gcyj4i9 >>341
Cは便利じゃないけど、確実だよね。マイコンとかでC++を使うのは、開発時間が十分に取れるなら(慣れてるなら)いいけど、処理系の変な制限にハマりそうで怖くて使えないわ。
Cは便利じゃないけど、確実だよね。マイコンとかでC++を使うのは、開発時間が十分に取れるなら(慣れてるなら)いいけど、処理系の変な制限にハマりそうで怖くて使えないわ。
343デフォルトの名無しさん
2022/12/23(金) 20:34:26.37ID:ovzWFFv+ 処理系の変な制限て何?
344デフォルトの名無しさん
2022/12/23(金) 20:38:43.13ID:ovzWFFv+ 小規模マイコンでもC++は便利だぞ
345デフォルトの名無しさん
2022/12/27(火) 00:37:40.45ID:szDr1TAR >>343
お気持ちC++実装でフル規格満たしてないとか普通にある。調べるのが手間すぎる。
お気持ちC++実装でフル規格満たしてないとか普通にある。調べるのが手間すぎる。
346デフォルトの名無しさん
2022/12/27(火) 04:54:17.83ID:Y8dS0LJm フル規格を満たしてない事が普通にあるのはCも同じ
恐くて使えないのは経験が少ないからだな
恐くて使えないのは経験が少ないからだな
347デフォルトの名無しさん
2022/12/27(火) 13:10:12.33ID:vQ4ixuph MSVCで作っておけば大体オッケー
g++依存は死ぬ
g++依存は死ぬ
348デフォルトの名無しさん
2022/12/28(水) 21:30:57.66ID:VGHawTJO 今時C++で開発してる会社あるのかな?
349デフォルトの名無しさん
2022/12/28(水) 21:33:16.19ID:IIYChppW 当然
高速処理が要求されるようなところはC/C++だよ
高速処理が要求されるようなところはC/C++だよ
350デフォルトの名無しさん
2023/01/14(土) 11:12:05.67ID:hF49Vv2k 質問です。
cudaの9.0バージョンで
nvcc -V
このようなことをうっても、一切反応しないです。
誰か教えてえらいひとーー!
cudaの9.0バージョンで
nvcc -V
このようなことをうっても、一切反応しないです。
誰か教えてえらいひとーー!
351デフォルトの名無しさん
2023/01/14(土) 11:36:54.44ID:ITBYYn4q >>一切反応しないです
もう少し具体的に
もう少し具体的に
352デフォルトの名無しさん
2023/01/14(土) 13:28:49.96ID:HwrORXYU 無修正を観ても、一切反応しないです。
誰か教えてえろいひとーー!
誰か教えてえろいひとーー!
353デフォルトの名無しさん
2023/01/23(月) 20:21:43.20ID:VfNttDi/ NVIDIA HPC SDK使ってる人いる?
windows版がないんだけどそのうちサポートされるんかね?
windows版がないんだけどそのうちサポートされるんかね?
354デフォルトの名無しさん
2023/01/23(月) 20:47:20.55ID:1CzktcoW HPC SDKになった2020年にはWindows版は翌年公開予定と言っていたけど,
その記載もなくなったし永遠に出ない可能性が高いと思われる
当時とは違ってCUDA on WSL2でHPC SDKも使えるようになったから
Windows需要もそこで解消されるし
その記載もなくなったし永遠に出ない可能性が高いと思われる
当時とは違ってCUDA on WSL2でHPC SDKも使えるようになったから
Windows需要もそこで解消されるし
355デフォルトの名無しさん
2023/01/25(水) 11:08:54.16ID:/YL2yMwg >>354
詳しい人降臨キター
旧PGIのユーザはほぼLinuxばっかだったようだしWindowsは見捨てられたのかと思ったけど必ずしもそうじゃないのかな
WSLで本当に性能出るの?ってのは気にはなるけど
ありがとうございました
詳しい人降臨キター
旧PGIのユーザはほぼLinuxばっかだったようだしWindowsは見捨てられたのかと思ったけど必ずしもそうじゃないのかな
WSLで本当に性能出るの?ってのは気にはなるけど
ありがとうございました
356デフォルトの名無しさん
2023/03/05(日) 20:30:51.25ID:skhIF3To てst
357デフォルトの名無しさん
2023/03/05(日) 21:06:34.13ID:skhIF3To 亀レス
>>348
あるっしょ
いくらでも,
このまえいびられて死んだ三菱電機の社員は電気系でも物性系の修士出てるのに
会社に入ってC++まともに書けなくて死んだ
物性選んだ時点でプログラム苦手なのにいきなりC売り物用のC++コード書け,
しかも,意地の悪い上司が適当なサンプルコードも見せてくれなきゃ死にたくなるかもな
>>348
あるっしょ
いくらでも,
このまえいびられて死んだ三菱電機の社員は電気系でも物性系の修士出てるのに
会社に入ってC++まともに書けなくて死んだ
物性選んだ時点でプログラム苦手なのにいきなりC売り物用のC++コード書け,
しかも,意地の悪い上司が適当なサンプルコードも見せてくれなきゃ死にたくなるかもな
358デフォルトの名無しさん
2023/05/14(日) 05:25:29.03ID:EUIAlyu+ test
359デフォルトの名無しさん
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関数を一切使わず高速処理が可能となります
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関数を一切使わず高速処理が可能となります
360デフォルトの名無しさん
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__でコールできないので駄目なんですよ
キャプチャ直前に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__でコールできないので駄目なんですよ
361デフォルトの名無しさん
2023/05/28(日) 07:37:34.81ID:rAN5cbTU 何もレスないけど
cudaDeviceSynchronize なくても困らないコード書いてるの?
shared memory使うときどーしても使うと思うんだがこのAPI
cudaDeviceSynchronize なくても困らないコード書いてるの?
shared memory使うときどーしても使うと思うんだがこのAPI
362デフォルトの名無しさん
2023/05/30(火) 17:45:24.83ID:GWh7Fu6m ふつうは __syncthreads() 使うなあ。
というかカーネル内から全スレッド同期出来たとは知らなかった。
やっぱりいろいろ無理があったから廃止になったんじゃね?
というかカーネル内から全スレッド同期出来たとは知らなかった。
やっぱりいろいろ無理があったから廃止になったんじゃね?
363デフォルトの名無しさん
2023/06/01(木) 19:34:35.47ID:woZHz0xe カーネルの実行完了を待つ関数をカーネル内から呼び出せるのはおかしいだろ
364デフォルトの名無しさん
2023/06/02(金) 21:14:34.84ID:GpIK8Zp9365デフォルトの名無しさん
2023/06/02(金) 21:16:18.40ID:GpIK8Zp9 >>363にいたってはCUDA Dynamic Parallelizmすら理解してない
366デフォルトの名無しさん
2023/06/02(金) 21:29:40.49ID:GpIK8Zp9367デフォルトの名無しさん
2023/06/02(金) 21:32:58.33ID:GpIK8Zp9368デフォルトの名無しさん
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コードを書いてなかったんじゃないのか?
https://docs.nvidia.com/cuda/pdf/CUDA_Runtime_API.pdf
↑から最新のAPIマニュアルをダウソして検索したが __syncthreadsなんてものは存在しない
お前の書いたコードが最新のcuda 12.1.1コンパイラで使えるかどうか確認してみろ
とっくにサポートが打ち切られたAPIを使うと嘯吹いてただけじゃねーのか?
お前はとんでもなく長い間cudaコードを書いてなかったんじゃないのか?
369デフォルトの名無しさん
2023/06/02(金) 23:26:41.73ID:zbQswG7U カーネルからRuntime API使うのがそもそも違和感あるんだがイマドキのCUDAはそういうものなんか?
370デフォルトの名無しさん
2023/06/02(金) 23:38:04.08ID:44SgMOSU >>366
同期する範囲がぜんぜん違ぇだろうが
同期する範囲がぜんぜん違ぇだろうが
371デフォルトの名無しさん
2023/06/03(土) 01:32:33.61ID:f1mb9frl submit済みカーネルが2並列同じキューで動いていて、両方が完了待ちしたらデッドロック起こすなwww
372デフォルトの名無しさん
2023/06/03(土) 10:34:44.84ID:hgrjzBME プログラムわかってないやつがいきなりの攻撃性を発揮するのガイジっぽくていいね
373デフォルトの名無しさん
2023/06/03(土) 16:01:42.94ID:f1mb9frl374デフォルトの名無しさん
2023/06/10(土) 08:16:47.35ID:gJM3u8Zc cudaDeviceSynchronizeはこんなときに使う. Ki=1024, Mi = Ki*Ki, Gi = Ki*Miとでもして
__global__ void
cuda_main(){
double *idata = new [Mi]; double *odata1 = new [Mi]; double *odata2 = new [Mi];
body1<<< Ki, Ki >>> ( idata, odata1 ); //マルチスレッド実体
cudaDeviceSynchronize();
body2<<< Ki, Ki >>> ( odata1, odara2 ); //マルチスレッド実体
cudaDeviceSynchronize();
for( int i = 0; i < Mi; i++ ){
cudaDeviceSynchronize(); // *** こいつは毎回要ったと思う
printf(" %d %e\n", i, odata2[i]); //計算結果表示
}
cudaDeviceSynchronize(); // 上の***だけで こいつはなくても構わなかったと思う
delete[] odata2; delete[] odata1; delete[] idata;
}
main(){
//cuda 内newで確保するメモリが8MBを超える場合は設定要
cudaDeviceSetLimit(cudaLimitMallocHeapSize, size_t(Gi + Gi));
//printf fifoを16Miにしてみた
cudaDeviceSetLimit(cudaLimitPrintfFifoSize, 16 * Mi);
cuda_main<<<1、1>>>();
}
__global__ void
cuda_main(){
double *idata = new [Mi]; double *odata1 = new [Mi]; double *odata2 = new [Mi];
body1<<< Ki, Ki >>> ( idata, odata1 ); //マルチスレッド実体
cudaDeviceSynchronize();
body2<<< Ki, Ki >>> ( odata1, odara2 ); //マルチスレッド実体
cudaDeviceSynchronize();
for( int i = 0; i < Mi; i++ ){
cudaDeviceSynchronize(); // *** こいつは毎回要ったと思う
printf(" %d %e\n", i, odata2[i]); //計算結果表示
}
cudaDeviceSynchronize(); // 上の***だけで こいつはなくても構わなかったと思う
delete[] odata2; delete[] odata1; delete[] idata;
}
main(){
//cuda 内newで確保するメモリが8MBを超える場合は設定要
cudaDeviceSetLimit(cudaLimitMallocHeapSize, size_t(Gi + Gi));
//printf fifoを16Miにしてみた
cudaDeviceSetLimit(cudaLimitPrintfFifoSize, 16 * Mi);
cuda_main<<<1、1>>>();
}
375デフォルトの名無しさん
2023/06/10(土) 08:17:55.93ID:gJM3u8Zc つづき
ホスト側からcuda用のエントリポイント cuda_main()を一つ起動して
そこで計算に必要なgpuメモリをnew/mallocで確保
delete/freeもしくはデストラクタでメモリ解放してほとんどふつーのC++プログラム作成
エントリポイントとなるcuda_mainスレッドを一つ起動するだけでほぼgpu側だけで閉じたふつーのc++コードになる
gpuが計算した結果をどー出力するか?ってのはあるんだが、
__global__関数内のprintfが標準出力にちゃーんと出力してくれる
つまり、 リダイレクトでファイルに落とせる
コマンドラインから
> cuda_program.exe >> file.dat
て感じ
ホスト側からcuda用のエントリポイント cuda_main()を一つ起動して
そこで計算に必要なgpuメモリをnew/mallocで確保
delete/freeもしくはデストラクタでメモリ解放してほとんどふつーのC++プログラム作成
エントリポイントとなるcuda_mainスレッドを一つ起動するだけでほぼgpu側だけで閉じたふつーのc++コードになる
gpuが計算した結果をどー出力するか?ってのはあるんだが、
__global__関数内のprintfが標準出力にちゃーんと出力してくれる
つまり、 リダイレクトでファイルに落とせる
コマンドラインから
> cuda_program.exe >> file.dat
て感じ
376デフォルトの名無しさん
2023/06/10(土) 08:20:34.56ID:gJM3u8Zc つづき
こういうコードスタイルにすることでcudamallocで確保するgpuメモリはホスト<->gpuのインターフェースに使う最低限のメモリに限定することができて
コーディングが格段に楽になる ほぼふつーのC++プログラムと変わらん
この書き方で問題なのは__global__内でunique_ptrが使えないことなんだが、
数値計算でunique_ptr使えなくて困る場合ってどんな場合か逆に聞きたいわ.
それより
ホスト側でgpu内部処理にしか使わないメモリまで確保して、そいつをcuda::unique_ptrなんか作って管理するよりよほど楽だと思うが?
こういうのはディレクトリの外からディレクトリ操作するのに似た感覚でとても耐えられんし、
cuda Dynamic Parallelismと__global__関数内でnew/deleteを書けるようになってるお陰でふつーのC++コードが書けるようになってるんだわ.
んで肝心の cudaDeviceSynchronize() だが
マルチスレッド実態は body1、 body2だがbody2の実行と計算結果odata2の表示はbody1とbody2の計算完了が前提としてる
それらの待ち合わせ処理としてを使うんだが、
ここで cudaDeviceSynchronize() がないと dynamic Parallelismがあっても上のようなコードは書けない
こういうコードスタイルにすることでcudamallocで確保するgpuメモリはホスト<->gpuのインターフェースに使う最低限のメモリに限定することができて
コーディングが格段に楽になる ほぼふつーのC++プログラムと変わらん
この書き方で問題なのは__global__内でunique_ptrが使えないことなんだが、
数値計算でunique_ptr使えなくて困る場合ってどんな場合か逆に聞きたいわ.
それより
ホスト側でgpu内部処理にしか使わないメモリまで確保して、そいつをcuda::unique_ptrなんか作って管理するよりよほど楽だと思うが?
こういうのはディレクトリの外からディレクトリ操作するのに似た感覚でとても耐えられんし、
cuda Dynamic Parallelismと__global__関数内でnew/deleteを書けるようになってるお陰でふつーのC++コードが書けるようになってるんだわ.
んで肝心の cudaDeviceSynchronize() だが
マルチスレッド実態は body1、 body2だがbody2の実行と計算結果odata2の表示はbody1とbody2の計算完了が前提としてる
それらの待ち合わせ処理としてを使うんだが、
ここで cudaDeviceSynchronize() がないと dynamic Parallelismがあっても上のようなコードは書けない
377デフォルトの名無しさん
2023/06/10(土) 10:12:15.01ID:5lxShvGN >>374
同じstream使ってんのにいちいちそんなところで同期してたら効率悪くね?
同じstream使ってんのにいちいちそんなところで同期してたら効率悪くね?
378デフォルトの名無しさん
2023/06/10(土) 11:53:19.12ID:Y9DL3tjK まだやってたのかよw>>359
379デフォルトの名無しさん
2023/06/16(金) 10:37:03.14ID:VMczRTMU >>377
いちいちも何も
body1<<< Ki, Ki >>> ( idata, odata1 ); //マルチスレッド実体
cudaDeviceSynchronize();
body2<<< Ki, Ki >>> ( odata1, odara2 ); //マルチスレッド実体
cudaDeviceSynchronize();
body2の処理開始はbody1の計算終了が前提としたプログラムのつもりで書いてるのでこの場合は必ず必要なわけで
この2つのの同期は
マルチスレッド起動箇所がホスト側ならホストで
マルチスレッド起動箇所がgpu側ならgpuでやることが必須なんだが
gpuの側でやる意味はふつーに_global__関数の中で, ローカルメモリの管理にnew/delete使えること
cpuのアクセラレータとしてGPUを使うんじゃなくGPUだけで完結するならこう書くでしょーよ
わざわざcpu側に制御戻す必要なく処理速度が落ちるわけじゃない.
それどころかはるかにプログラムの見通しもよくなるんだから
いちいちも何も
body1<<< Ki, Ki >>> ( idata, odata1 ); //マルチスレッド実体
cudaDeviceSynchronize();
body2<<< Ki, Ki >>> ( odata1, odara2 ); //マルチスレッド実体
cudaDeviceSynchronize();
body2の処理開始はbody1の計算終了が前提としたプログラムのつもりで書いてるのでこの場合は必ず必要なわけで
この2つのの同期は
マルチスレッド起動箇所がホスト側ならホストで
マルチスレッド起動箇所がgpu側ならgpuでやることが必須なんだが
gpuの側でやる意味はふつーに_global__関数の中で, ローカルメモリの管理にnew/delete使えること
cpuのアクセラレータとしてGPUを使うんじゃなくGPUだけで完結するならこう書くでしょーよ
わざわざcpu側に制御戻す必要なく処理速度が落ちるわけじゃない.
それどころかはるかにプログラムの見通しもよくなるんだから
380デフォルトの名無しさん
2023/06/16(金) 20:00:03.41ID:duxPCvpi 丸々一ヶ月経ってもまだ躓いてるのかw
せっかくアドバイス貰っても理解する気がないならしょうがないな。
せっかくアドバイス貰っても理解する気がないならしょうがないな。
381デフォルトの名無しさん
2023/06/16(金) 23:41:50.06ID:T6+41XgS >>379
dynamic parallelismがどうたらイキってた輩が実はstreamすらろくに理解していなかったという
dynamic parallelismがどうたらイキってた輩が実はstreamすらろくに理解していなかったという
382デフォルトの名無しさん
2023/06/17(土) 09:32:02.85ID:6mG7lpSl そもそもShared Memoryが云々の話とこれ全く関係ないし、unique_ptrがどうとか誰も聞いてないし、ただイキってクソコード書いてるnoobにしか見えん
383デフォルトの名無しさん
2023/06/30(金) 06:45:59.93ID:HGq0NS3h >>381
streamてCPUとGPUの協調のこと言ってるの?
協調はこの際,まったく関係ないんだが,
CPUからGPUに制御を移して完全にCPUとは分離する話をしてんの
そのほうが遥かにプログラムが楽に簡潔に書けるからそれを言ってる.
GPUのほうが8倍から1桁速度が速いので実験的な計算ならこれで十分な速度が得られる
CPUとの協調とか難しいプログラムを書くんじゃなく
GPUだけで計算を完結させるためにDynamic Parallelismを使う
Dynamicに並列化したいわけじゃなくGPUのプロセスを一つ立ち上げたいためにそれを使う
streamてCPUとGPUの協調のこと言ってるの?
協調はこの際,まったく関係ないんだが,
CPUからGPUに制御を移して完全にCPUとは分離する話をしてんの
そのほうが遥かにプログラムが楽に簡潔に書けるからそれを言ってる.
GPUのほうが8倍から1桁速度が速いので実験的な計算ならこれで十分な速度が得られる
CPUとの協調とか難しいプログラムを書くんじゃなく
GPUだけで計算を完結させるためにDynamic Parallelismを使う
Dynamicに並列化したいわけじゃなくGPUのプロセスを一つ立ち上げたいためにそれを使う
384デフォルトの名無しさん
2023/06/30(金) 06:53:13.13ID:HGq0NS3h >>380
何のアドバイス?ww
GPUプロセスの中で全プロセスどうやってwaitするのさw
ま, cudaのユーザサイトには代替案とか書いてる人いるよ
cudaDeviceSynchronize()と比較して速度は期待できないが一応使える.
せめてそれぐらいのアドバイスできるようになってから言いな.
俺のようなコード書いてGPUプロセスの中からcudaDeviceSynchronize()コールしてるユーザは一定数いるってこった
どーせ__global__でnew/deleteふつーに使えること知らんかったんだろお前ww
何のアドバイス?ww
GPUプロセスの中で全プロセスどうやってwaitするのさw
ま, cudaのユーザサイトには代替案とか書いてる人いるよ
cudaDeviceSynchronize()と比較して速度は期待できないが一応使える.
せめてそれぐらいのアドバイスできるようになってから言いな.
俺のようなコード書いてGPUプロセスの中からcudaDeviceSynchronize()コールしてるユーザは一定数いるってこった
どーせ__global__でnew/deleteふつーに使えること知らんかったんだろお前ww
385デフォルトの名無しさん
2023/06/30(金) 07:16:01.83ID: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
誰も聞いてない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
386デフォルトの名無しさん
2023/06/30(金) 08:24:20.23ID:pBAX8tCp 俺はCUDA使ったこと無いんだけど
>__global__でnew/deleteを使ってGPUだけで完結処理
これって思い込みじゃねえかなあ
>__global__でnew/deleteを使ってGPUだけで完結処理
これって思い込みじゃねえかなあ
387デフォルトの名無しさん
2023/06/30(金) 11:03:40.92ID: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しか使えないけどな.
作ったことないんだろ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しか使えないけどな.
388デフォルトの名無しさん
2023/06/30(金) 11:07:50.35ID:HGq0NS3h389デフォルトの名無しさん
2023/06/30(金) 11:38:34.15ID:HGq0NS3h >>386
new/deleteが__global__内でふつーに使えるってことなら
cuda c programming guide 最新版の
7.34. Dynamic Global Memory Allocation and Operations
どっちが思い込みかね?ww
new/deleteが__global__内でふつーに使えるってことなら
cuda c programming guide 最新版の
7.34. Dynamic Global Memory Allocation and Operations
どっちが思い込みかね?ww
390デフォルトの名無しさん
2023/06/30(金) 18:28:44.41ID:h/tbEWPQ もしかしてNVIDIAのフォーラムでモデレータに I’m confused とか言われてんのコイツ?
391デフォルトの名無しさん
2023/06/30(金) 22:03:38.67ID:nvcNe2IT 炎上学習法かとも思ったが全然学習してる素振りもないのよなあ
>streamてCPUとGPUの協調のこと言ってるの?
ちょっとはググるなりしたらどうかね
> body1<<< Ki, Ki >>> ( idata, odata1 ); //マルチスレッド実体
> cudaDeviceSynchronize();
> body2<<< Ki, Ki >>> ( odata1, odara2 ); //マルチスレッド実体
body1とbody2は同じstreamだから基本的にそんなところにsynchronizeはいらんのよ
>streamてCPUとGPUの協調のこと言ってるの?
ちょっとはググるなりしたらどうかね
> body1<<< Ki, Ki >>> ( idata, odata1 ); //マルチスレッド実体
> cudaDeviceSynchronize();
> body2<<< Ki, Ki >>> ( odata1, odara2 ); //マルチスレッド実体
body1とbody2は同じstreamだから基本的にそんなところにsynchronizeはいらんのよ
392デフォルトの名無しさん
2023/06/30(金) 22:07:49.01ID:nvcNe2IT >そのときcudamalloc/cudafreeなんか使ってたんじゃメモリ管理が大変で,
これも意味不明だなあ
malloc/freeと比べてどう大変だと言うんだろう
これも意味不明だなあ
malloc/freeと比べてどう大変だと言うんだろう
393デフォルトの名無しさん
2023/06/30(金) 23:46:28.63ID:lTu2cFop 病気の人に関わってもいいことないですよ
394デフォルトの名無しさん
2023/07/02(日) 11:33:55.45ID:ZzvN3CPt 同期オブジェクトが出てないんだから、そりゃシリアルに動くやろうなあ
CUDA知らん
CUDA知らん
395デフォルトの名無しさん
2023/07/02(日) 14:47:53.06ID:tUgy2gS2 >>390
ゲラゲラ
それどこだよww
お前のプロファイル推定正しいかどうか見てから発表してやるよ
さらせよソコをよww
>>391
12.2 プログラムガイド pp47
For code that is compiled using the --default-stream legacy compilation flag, the default stream
is a special stream called the NULL stream and each device has a single NULL stream used for all
host threads. The NULL stream is special as it causes implicit synchronization as described in Implicit
Synchronization.
For code that is compiled without specifying a --default-stream compilation flag,
--default-stream legacy is assumed as the default.
11.4以降 --default-streamは非推奨. 当然このオプションはデフォルトでなくなり,
暗黙の同期ストリームであるNull streamはデフォルトではなくなった.
つまり, ストリームは何も指定しなければ非同期ストリームとなった
同期ストリームとなることを保証したい場合, 当然cudaStreamSynchronize()で挟むだろうが
そのすぐ下の6.2.8.5.3 Explicit Synchronizationも読んどけよ
コロコロ変わるデフォのコンパイルオプションに頼るお前
>>392
freeが毎回書いてられないといってるわけ. それとcudafreeが同じなのは当たり前な
だからホスト側ではgpu用のgpu::unique_ptrとかユーザ側でこさえてるんだろが.
これを書いてるサイトはいくらでもある.
__global__内ではこういうmake_uniqueは動かないのでc++11レベルでは書けないが,
普通にnew/deleteやC++03レベルのデストラクタが動作するので,
ホスト側でgpuのローカルメモリの解放を手でやらかすよりよほど楽だと言ってるのだよ.
ゲラゲラ
それどこだよww
お前のプロファイル推定正しいかどうか見てから発表してやるよ
さらせよソコをよww
>>391
12.2 プログラムガイド pp47
For code that is compiled using the --default-stream legacy compilation flag, the default stream
is a special stream called the NULL stream and each device has a single NULL stream used for all
host threads. The NULL stream is special as it causes implicit synchronization as described in Implicit
Synchronization.
For code that is compiled without specifying a --default-stream compilation flag,
--default-stream legacy is assumed as the default.
11.4以降 --default-streamは非推奨. 当然このオプションはデフォルトでなくなり,
暗黙の同期ストリームであるNull streamはデフォルトではなくなった.
つまり, ストリームは何も指定しなければ非同期ストリームとなった
同期ストリームとなることを保証したい場合, 当然cudaStreamSynchronize()で挟むだろうが
そのすぐ下の6.2.8.5.3 Explicit Synchronizationも読んどけよ
コロコロ変わるデフォのコンパイルオプションに頼るお前
>>392
freeが毎回書いてられないといってるわけ. それとcudafreeが同じなのは当たり前な
だからホスト側ではgpu用のgpu::unique_ptrとかユーザ側でこさえてるんだろが.
これを書いてるサイトはいくらでもある.
__global__内ではこういうmake_uniqueは動かないのでc++11レベルでは書けないが,
普通にnew/deleteやC++03レベルのデストラクタが動作するので,
ホスト側でgpuのローカルメモリの解放を手でやらかすよりよほど楽だと言ってるのだよ.
396デフォルトの名無しさん
2023/07/02(日) 19:20:21.21ID:nj7sKJew >>395
いや、それストリーム間の同期の話であって同じストリームに投入したカーネルの実行の話とは関係ないんだが。
いろいろ検索したりしたんだろうけどここ勘違いするようなレベルでイキりまくられても。
もともとは cudaDeviceSynchronize がデバイス上で非推奨になるんで代替策をどうするかって話だったと思うけど、
「自分は間違ってない」と強弁するだけならそりゃ2ヶ月近く解決しないわけだわ。
いや、それストリーム間の同期の話であって同じストリームに投入したカーネルの実行の話とは関係ないんだが。
いろいろ検索したりしたんだろうけどここ勘違いするようなレベルでイキりまくられても。
もともとは cudaDeviceSynchronize がデバイス上で非推奨になるんで代替策をどうするかって話だったと思うけど、
「自分は間違ってない」と強弁するだけならそりゃ2ヶ月近く解決しないわけだわ。
397デフォルトの名無しさん
2023/10/20(金) 12:42:50.23ID:/M3RKJCH NVIDIA中國から撤退
398デフォルトの名無しさん
2023/12/07(木) 06:26:05.21ID:R1AO2r8W PCくそど初心者で、オーディオをやっている者です。
現在PC(linux)でHQplayerというソフトで音楽ききてます。
そのPCにグラボ刺したら音質上がるなんてガセネタつかまされたんで、騙されてみようと思うのですが、その際CUDAの設定しないとGPUが使われないということのようなのです。
調べたら、ドライバー、ツールキット、cuDNNの3つをインストールするみたいなのですが、最後のcuDNNの意味がわかりません。
有識者の方、どうかご教授下さい!
現在PC(linux)でHQplayerというソフトで音楽ききてます。
そのPCにグラボ刺したら音質上がるなんてガセネタつかまされたんで、騙されてみようと思うのですが、その際CUDAの設定しないとGPUが使われないということのようなのです。
調べたら、ドライバー、ツールキット、cuDNNの3つをインストールするみたいなのですが、最後のcuDNNの意味がわかりません。
有識者の方、どうかご教授下さい!
399デフォルトの名無しさん
2023/12/10(日) 12:43:06.09ID:9z8kD1aM >>398
他人の作った何をやっているかわからないプログラムを使うより
音とプログラミングとCUDAについて勉強して
自分で音質を上げるプログラムを作ったほうがよいと思うよ。
本屋とかアマゾンでそういう専門書も探せば見つかるでしょ。
他人の作った何をやっているかわからないプログラムを使うより
音とプログラミングとCUDAについて勉強して
自分で音質を上げるプログラムを作ったほうがよいと思うよ。
本屋とかアマゾンでそういう専門書も探せば見つかるでしょ。
400デフォルトの名無しさん
2023/12/13(水) 06:47:58.97ID:YKWD9gfa >>399
398です。
なるほど、そういう方法もあるのですね。
自分で勉強してプログラムのことまで理解するなんて大変そうですが、根本を理解していないと使う意味ないですもんね。
大変そうですが、チャレンジしてみます。
ありがとうございました。
398です。
なるほど、そういう方法もあるのですね。
自分で勉強してプログラムのことまで理解するなんて大変そうですが、根本を理解していないと使う意味ないですもんね。
大変そうですが、チャレンジしてみます。
ありがとうございました。
401デフォルトの名無しさん
2024/01/13(土) 07:53:38.21ID:Ce28ohDx RTX4090よりA4000をおすすめしてる所がありますが、これは長期稼働の安定性と低消費電力が理由でしょうか。
lstmで出来るだけ早く学習させたいのですが4090の方が早そうですがいかがですか。
lstmで出来るだけ早く学習させたいのですが4090の方が早そうですがいかがですか。
402デフォルトの名無しさん
2024/03/14(木) 19:33:05.60ID:LpPl9eeZ 自己解決
webページ作成者に聞いた
4090の方が速いが、例えば3時間が4時間になったところでたいした違いはないでしょうとか
いくつものパターンを試したいので少しでも早いものをってことで4090を買った
webページ作成者に聞いた
4090の方が速いが、例えば3時間が4時間になったところでたいした違いはないでしょうとか
いくつものパターンを試したいので少しでも早いものをってことで4090を買った
403デフォルトの名無しさん
2024/10/12(土) 23:57:12.31ID:g42aTpjG faster_whisperがGTX1660で6.8倍に高速化した
動画のハードエンコードみたいなことしてる訳でもないのに、なんでこんなに効くんだろう
動画のハードエンコードみたいなことしてる訳でもないのに、なんでこんなに効くんだろう
404デフォルトの名無しさん
2025/05/03(土) 21:22:39.00ID:GOrfAv9r CUDAを使うにはH100が必要なの?
405デフォルトの名無しさん
2025/05/03(土) 21:57:53.32ID:DmXNLEJI406デフォルトの名無しさん
2025/05/12(月) 20:36:49.62ID:QasGmRud clvkってなんか普通に記事あるけど魔境なやつ?
407デフォルトの名無しさん
2025/06/05(木) 17:19:33.94ID:O3mofczY wayland対応はよう
レスを投稿する
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★2 [ぐれ★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 日経平均の下落率3%超す、財政懸念で長期金利上昇 ★2 [お断り★]
- 【実況】博衣こよりのえちえち歌枠🧪
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 高市早苗「支持者の理解を得られないので台湾発言を撤回できない」 [931948549]
- 外務省局長、よくわからないまま帰国へ [834922174]
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
- 【雑談】暇人集会所part18
