【GPGPU】くだすれCUDAスレ part8【NVIDIA】at TECH
【GPGPU】くだすれCUDAスレ part8【NVIDIA】 - 暇つぶし2ch126:デフォルトの名無しさん
18/02/22 17:44:56.30 j8QCdBbM.net
>>123
WSLでubuntu動かせばよくね?

127:デフォルトの名無しさん
18/02/22 18:06:40.02 Ee7revq9.net
>>126
その ubuntu 上で生成したコードは、ubuntu なしの Windows 上で動くのか?
動かないのならば、よいわけがあるまい

128:デフォルトの名無しさん
18/02/23 16:52:21.65 0tA6Y4q1.net
最新のはクロスコンパイル不可能なん?

129:デフォルトの名無しさん
18/02/23 17:00:07.99 mpvgXBL2.net
>>128
クロスコンパイルとはいわないのでは?
Linux 上で gcc を使ったコンパイル成果物は、Windows では動かない
Windows 上で cl を使ったコンパイル成果物は、Linux 上では動かない

130:デフォルトの名無しさん
18/02/23 22:59:05.62 +N3Z3Usd.net
>>129
Linux上のgccでWindows用バイナリを吐くこともできる。

131:デフォルトの名無しさん
18/02/28 14:29:08.26 S610+cRR.net
(棒)すげー

132:デフォルトの名無しさん
18/03/11 12:38:36.83 YI7oymp5.net
CUDA ToolkitはまだVS2017 15.4までしか対応してないんだよな。
もう15.6出たのから15.4は入手できなくなるし、どうにかしてほしいなぁ。

133:デフォルトの名無しさん
18/03/14 22:02:39.83 KBR3xAs9.net
え?コンパイルやビルドができないほど深刻な問題でてるっけ?

134:デフォルトの名無しさん
18/03/14 23:17:19.01 0fdBf/WL.net
やってみた?nvcc動かんよ。たしかNSIGHTのインストールも失敗するはず。
フォーラムでも公式が「サポートしてるのは15.4まで」と言っている。

135:デフォルトの名無しさん
18/03/15 21:42:37.30 9ujU8BdG.net
フォーラムの中の人も、半年くらい前は「申し訳ない」とかなんとか言ってたのが
最近はもう投げ遣りな感じだね。
修正がそんなに難しいのかね?NVIDIAの中で何が起きているんだろうか。

136:デフォルトの名無しさん
18/03/16 14:20:39.88 3ma6aQHv.net
公務員体質

137:デフォルトの名無しさん
18/03/16 15:23:49.95 GsmhGHn7.net
勘弁してほしい、VS installer を思わず起動してアップデートを開始させてしまっては後悔しているんだ…

138:デフォルトの名無しさん
18/03/17 01:16:13.43 x+YiOp0G.net
15.4.5 でも無理?
URLリンク(docs.microsoft.com)

139:デフォルトの名無しさん
18/03/17 07:59:31.00 hl7Y0kGo.net
15.4までが大丈夫。そのページが15.5になってしまったらおしまいってこと。

140:デフォルトの名無しさん
18/03/24 20:53:51.41 6+fQqcMh.net
CUDA試してみたいんですが、入門としてはGeforce GTX 1060くらいあれば有意にCPU core i7 4Ghz より速くなりますか?

141:デフォルトの名無しさん
18/03/25 00:11:04.74 nZih/wjn.net
単精度で性能を活かせる処理なら速い
AVXを駆使しても1060の性能は出ない

142:デフォルトの名無しさん
18/03/25 00:16:26.55 nZih/wjn.net
単精度
1060 2.8TFlops
i7 4GHz 0.5TFlops

143:139
18/03/25 00:29:09.29 zxeoFdzJ.net
ほほう、5倍速以上ですか。
ありがとうございます。

144:139
18/03/25 00:38:35.35 zxeoFdzJ.net
ちなみに用途はパイソンのディープラーニング用ライブラリの使用です。

145:139
18/03/25 00:59:31.33 zxeoFdzJ.net
ちなみに主要な製品の>>142みたいな性能比較の一覧ってどこかにあります?

146:デフォルトの名無しさん
18/03/25 02:40:05.71 5uyFYwe4.net
Keras/TensorflowでCUDA9.0とCuDNN7.0.5を使ってるけど、
980でCPUの4~5倍ぐらい、1060・1070だと7~8倍ぐらい速くなった
あとは、GPUの性能よりもマザボやメモリとの相性が大きかったりする
ECCメモリ積んだサーバ機だと足を引っ張られるし、
1070のデスクトップ機よりも1060のゲーミング用ノートPCの方が速かったりする
あと、スペックの違うグラボを2枚挿しすると、単体運用よりも演算が遅くなることがあるから注意

147:デフォルトの名無しさん
18/03/25 08:15:49.40 iml51cux.net
複数枚刺しでCUDA使うならSLI-offがデフォ。

148:デフォルトの名無しさん
18/03/25 11:36:30.54 WaYZZq21.net
>144-145
URLリンク(ja.wikipedia.org)

149:デフォルトの名無しさん
18/03/25 11:53:57.75 23VTYDhm.net
>>145
自分で計算すれば良いんですよ
クロック、コア数、ベクタ長さ、同時計算数 から

150:139
18/03/25 19:52:41.28 zxeoFdzJ.net
Geforce GTX 1060買ってきました。
早速試そうと思ったが、電源ユニットに6pinケーブルがないT△T
電源も買い替えかなぁorz

151:デフォルトの名無しさん
18/03/25 20:17:14.43 23VTYDhm.net
おめでとう
まずは2.8TFlopsで動くテストコードの記述から
単精度でひたすら積和

152:デフォルトの名無しさん
18/03/25 20:51:30.02 zxeoFdzJ.net
スリムタワーなんか買うんじゃなかったorz
電源もそうだがグラボがケースに収まらないしorz orz
蓋外せば済むことだけど orz orz orz

153:デフォルトの名無しさん
18/03/26 01:19:57.55 y2ZIO+Gj.net
電源容量気をつけてな
300wとかだと足りないかもしれない

154:デフォルトの名無しさん
18/03/26 04:49:23.49 OxsjGzhh.net
>>152
わろた
蓋開けたままだと空冷効率却って悪くなるんじゃなかったかな
蓋開けるなら扇風機も当てた方がいい

155:デフォルトの名無しさん
18/03/26 04:57:26.52 OxsjGzhh.net
めも
URLリンク(chimolog.co)
URLリンク(akiba-pc.watch.impress.co.jp)
URLリンク(akiba-pc.watch.impress.co.jp)
URLリンク(ascii.jp)

156:139
18/03/27 22:47:39.83 1N1BEpYm.net
一応電源買ったが平日はまとまった時間が取れないので土日で作業しよう。
保証期間とかあるけど平気だよね?
ちな750W

157:デフォルトの名無しさん
18/03/28 06:47:45.49 fYzIlbdt.net
また無駄にデカイ電源を

158:デフォルトの名無しさん
18/03/28 10:20:47.95 6YZHVaFrR
cudaを使ってソフトをつくってみたいのですが、
ラップトップ型PCに内蔵されている、
NVIDIA Quadro M 1000M はcudaの対象になっているのでしょうか。

159:デフォルトの名無しさん
18/03/31 00:00:36.28 NrUsiMB7.net
いっそzen+で一台組もうか?w

160:デフォルトの名無しさん
18/03/31 04:23:03.69 2Z4gCLvW.net
極地に引っ越せ

161:139
18/04/01 00:23:36.11 C5bt+EHA.net
1060設置完了しました。
とりあえず、core i7 のiGPUから解像度が上がっていい感じ。
いままでディスプレイのMAX解像度出てなかったからね。
あとはpytorchが動いてくれれば…

162:139
18/04/02 22:02:29.92 gbB6Aon1.net
動いたっぽいけど消費時間の測り方が分からんw
まあパイソンの勉強するしかないか

163:デフォルトの名無しさん
18/04/03 00:26:12.77 cU9BUIMs.net
最近pythonスレで速度計測コード貼ってる人がいた

164:139
18/04/03 22:11:12.18 uBm1Z43v.net
kwsk

165:デフォルトの名無しさん
18/04/03 23:12:19.70 RICRRaNn.net
1060安くなったね

166:デフォルトの名無しさん
18/04/10 14:29:01.82 JIHFaEMv.net
Nvidiaは今月で32ビットオペレーティングシステムのパフォーマンスの向上、新機能、バグ修正などのサポートを終了する
重要なセキュリティアップデートは、2019年1月まで32ビット用に提供されます。
これには、以下のオペレーティングシステムが含まれます。
- Microsoft Windows 7 8 / 8.1 10
- Linux FreeBSD

167:デフォルトの名無しさん
18/04/12 21:45:56.77 YSG95pib.net
すいません、自分のグラボがcudaのどのバージョンで使えるのか
どこを見たらわかるか教えていただけないでしょうか?
windows 10で
GeForceGT610という弱めのグラボを使っています。
↓グラボのHPを見るとCUDAは対応しているようなのですが
URLリンク(www.nvidia.co.jp)
cudaのHPでは対応グラボにのってませんでした(例だから?)
URLリンク(www.nvidia.co.jp)

168:デフォルトの名無しさん
18/04/13 00:51:21.10 OIii2v2C.net
>>167
URLリンク(www.geforce.com)
こっちはどう?全部見てないけど。

169:デフォルトの名無しさん
18/04/13 02:54:37.02 4E3ZJNs7.net
610Mは演算能力2.1で最低スペックだけど、一応対応しているみたいだよ
URLリンク(developer.nvidia.com)

170:デフォルトの名無しさん
18/04/13 02:56:52.47 4E3ZJNs7.net
↑610Mだけじゃなくて、610の方でも同じ

171:デフォルトの名無しさん
18/04/13 11:00:08.69 /4JAUyBc.net
大昔のcuda コア数4個とかのグラボでも対応しているといえば対応してること になるけど
おもちゃのつもりで買って結局ゴミにした思い出
悪いこと言わないので最低限でもgtx1070tiとかにしておけ

172:デフォルトの名無しさん
18/04/13 12:53:26.22 QDi0ylkU.net
>>167
例だからじゃなくて古いページの情報観てるからじゃね?

173:165
18/04/13 22:53:22.51 bpFwwSEy.net
>>168
>>169
ありがとうございます
自分のグラボでもcuda対応してるんですね
ほっとしました。
頑張って動かしてみます。
>>171
いままでグラボが必要になることがそんなになかったもので・・・
これでcuda動かせるようになったら買い替えも検討したいです

174:デフォルトの名無しさん
18/04/14 09:03:48.32 SSnO0vA6.net
gtx960利用でx265nvencエンコードしてるけどGPU可動が何時も30%くらいで少ないけど
もっとGPU使用率を増やすにはどうしたら良いですか?

175:デフォルトの名無しさん
18/04/14 11:20:07.58 C8Da/aR0.net
>>174
エンコって並列化できるん?
ならばプロセスを3つ同時に走らせるとか

176:デフォルトの名無しさん
18/04/14 15:36:05.57 Oo4/Wx3V.net
Occupancyが上がらない状態かバスが支配的なことが考えられるが、
とりあえずVisualProfilerかなんかでどこが原因か見てみれば?

177:デフォルトの名無しさん
18/05/23 19:49:54.06 Au5e7VGg.net
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
Q45FH

178:デフォルトの名無しさん
18/05/23 21:24:03.57 uiVT0ZzW.net
Q45FH

179:デフォルトの名無しさん
18/07/05 00:33:41.64 RfoszcD2.net
T85

180:デフォルトの名無しさん
18/10/08 11:29:19.78 +5qyKWRv.net
朗報
URLリンク(www.anaconda.com)

181:デフォルトの名無しさん
18/10/22 20:29:13.91 w4+wf4gQ.net
RTXのtensorコアってどうなの?

182:デフォルトの名無しさん
19/01/03 14:15:50.59 pSmmWchb.net
1080Ti買ってきてドライバインストールしたんだけど、GPU-Zで見たときOpen-CLだけチェック入ってなくて
困ってるんだけど、コレって別にドライバー持ってくる必要があるの?

183:デフォルトの名無しさん
19/01/03 14:29:58.49 ek3slq0P.net
URLリンク(www.techpowerup.com)
URLリンク(forums.guru3d.com)

184:デフォルトの名無しさん
19/07/23 17:02:22.82 /TcX3lBx.net
quadro p600のWSにcuda入れようとしてるのだけど
10.1がパスカル世代の面倒見るのはteslaだけって認識でいいの?
390系のドライバしか入らなくて困ってる。
cuda9.1だとこんどはgcc 6以上はあかんとサンプルプログラムのヘッダがコンパイル時にハネてくる。
なんか詰んでる

185:デフォルトの名無しさん
19/07/23 17:03:06.53 /TcX3lBx.net
>>181
倍精度ゲロ遅なんでしょ

186:デフォルトの名無しさん
19/08/04 08:51:33.67 1yK6graO.net
でかいjpegファイルを手頃なサイズに縮小することがよくあって、
数が多いので結構な時間(数時間)がかかる
これを何とかGPUのパワーで短縮できないものか

187:デフォルトの名無しさん
19/08/04 10:17:38.13 Ae1Ff/1h.net
スレチ

188:デフォルトの名無しさん
19/11/27 13:29:04 JvyecW3n.net
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で、やっと動いた

ちょっとでも古い機器だともう合わないとか、敏感だよなあ

189:デフォルトの名無しさん
19/12/04 13:02:39 tCRQbFTx.net
ところがRTX2000番台は事前にVSもCUDAもcuDNNも入れずにAnacondaだけで
tensorflowがインストールできてしまった

この数日で色々変わったらしい

190:デフォルトの名無しさん
19/12/04 13:24:12 sb3P/SSe.net
おめおめ

191:デフォルトの名無しさん
20/02/14 11:55:27 ApdIcKC6.net
RTX2000番台はAnacondaからPyTorchでGPUを使う設定に出来たがChainerでcupyからGPU呼ぶのは失敗

GTX1000番台はAnacondaからChainerでGPU使えるように苦労して設定したら、PyTorchは
「これ古すぎてGPU使えない」と表示された

一長一短
ところで16xx系列ではどうなるんだろう

192:デフォルトの名無しさん
20/04/08 11:14:16 kpKMKUpB.net
PyTorch使いたかったら2000番台がいいか

2070以上、せめて2060superがいいか
でも中古でもそれなりの値段

そしてGPU上のメモりが8gb以上ないと動かないモジュールも多くて2060無印があかん事に

193:デフォルトの名無しさん
20/06/25 09:14:06.05 MmNin/8J.net
wddm2.7対応ドライバで
bandwidthTestにおいてpagedメモリの転送速度向上を確認した
pinedだとhtod、dtohともに13GB/sec
pageableだとwddm2.6は8GB/sec、2.7だと12GB/secくらい

194:デフォルトの名無しさん
20/08/28 00:15:53.17 6GH+yyLXR
高校数学と何が違うの?大学数学でつまずかないためのアドバイス![大学数学準備講座1/4]
URLリンク(www.youtube.com)
数学は「定義」にかえることが大事!
URLリンク(www.youtube.com)
数を創る話?自然数から複素数への構成?
URLリンク(www.youtube.com)
高校生でも雰囲気だけ分かるガロア理論
URLリンク(www.youtube.com)
高校生でも雰囲気だけ分かるゼータ関数とリーマン予想
URLリンク(www.youtube.com)
【高校生でもわかる】いろいろな積分 リーマン,ルベーグ...
URLリンク(www.youtube.com)
大学で本気で学問をしたい人へのアドバイス
URLリンク(www.youtube.com)
東大院生と本気数学トーク!!【数学ボーイZ 数学野郎さんコラボ】
URLリンク(www.youtube.com)
中3で数Ⅲ先取り!? 京大数学系YouTuber古賀さんに開成中高時代を聞く!
URLリンク(www.youtube.com)
開成から京大理学部に進学した理由とは?古賀さんに京大の実態を聞く!
URLリンク(www.youtube.com)

195:デフォルトの名無しさん
20/09/29 22:45:56.87 8OEjGTOk.net
GTX 1660 SUPERはCUDAに対応してますか?

196:デフォルトの名無しさん
20/09/30 01:11:13.65 XQsVzQWu.net
>>195
URLリンク(www.nvidia.com)
GPU エンジンの仕様:
1408 NVIDIA CUDA® コア
6GB GDDR6標準メモリ構成
192-ビット

197:デフォルトの名無しさん
20/10/04 03:16:42.67 tvE5z3VX.net
CUDAのバージョンを不問とするならGeforce 200シリーズ(Tesla世代)から対応はしてる

って書こうとしたら8シリーズ(2007年)からあったんかよCUDA

198:デフォルトの名無しさん
20/10/13 20:53:42.89 6GL96WuY.net
CPUでの画像処理で速度が上がらずCudaを使いたいです。(windows)
①画像をGPUメモリに読み込み
②領域分割、パラレルで画像処理
 (分割部エッジにオフセット?をつけたい)
③GPUメモリの処理結果をCPUメモリに返してファイルにおとす。
こういったサンプルプログラムでいいのないでしょうか?
画像処理部だけしたい処理に書き換えればいいような。
よろしくお願いします。

199:デフォルトの名無しさん
20/10/14 13:17:48.94 qfzj9xUm.net
numpyをcupyに替えて
ただしcupyはGPUを使うと宣言して
みたいな奴かなあ

200:195
20/10/14 15:54:49.86 4Zn1G8Lw.net
すみません。言語を書いていませんでした。使いたいのはPythonじゃないです。
WindowsでC++で実現したいです。

201:デフォルトの名無しさん
20/10/14 16:32:24.96 ZV1nncqg.net
URLリンク(qiita.com)
URLリンク(www.kkaneko.jp)

202:デフォルトの名無しさん
20/10/14 16:34:20.05 ZV1nncqg.net
URLリンク(ameblo.jp)

203:デフォルトの名無しさん
20/11/04 18:59:56.41 M+x6liG8u
【アフィリエイト】ブログで「月100万円稼ぐ方法」を初心者向けにプロブロガーが解説
URLリンク(www.youtube.com)
【実例有り】ブログで月1万円稼ぐまでの具体的な道筋を教える【プロが解説】
URLリンク(www.youtube.com)
【案件も公開】ブログで月20万円稼ぐ方法の全て。具体的な道筋や戦略も全て公開【雑記でもいけた】
URLリンク(www.youtube.com)
ブログ収益が大きく伸びた、たった1つのきっかけを話す【ネタバレ:人と会う】
URLリンク(www.youtube.com)
ブログで稼ぐ仕組み徹底解説】初心者にもやさしく、丁寧に説明
URLリンク(www.youtube.com)
【ミスるとヤバい】特化ブログと雑記ブログ、どっちがいいの?おすすめの運営方法も解説!
URLリンク(www.youtube.com)
【危険】ブログで稼げずに「挫折」してしまう人の特徴【初心者は特に注意】
URLリンク(www.youtube.com)

204:デフォルトの名無しさん
20/11/19 09:55:49.41 RIzKHKet.net
RTX3080などで、cuda11が使えるようになってる
だがtensorflowは現時点でまだ使えない
だがPyTorchが動くとのこと!

205:デフォルトの名無しさん
20/12/01 20:58:05.41 nBZth83f.net
cudaええな。
2万3千円の GF 1660 SUPER で tensorflow が
2x Xeon E5 2697A v4 の10倍速くなった

206:デフォルトの名無しさん
20/12/07 14:54:49.93 sgdo/0mF.net
1660sでも天下のXEON様の10倍も速いのか
cudaコア数に速度が比例するからなあ
3090だと更に7倍?

207:デフォルトの名無しさん
20/12/07 21:54:00.27 UxKk8T9A.net
intelのコンパイラ買えばCPUももうちょっとマシなんだろうけどケチってやってない。
GPUのメモリの量で、やれることとやれないことが変わってくるので
コア数クロック低くてもメモリ多いみたいなのがあればいいのにね

208:デフォルトの名無しさん
20/12/08 15:17:27.13 enlXKoHl.net
パソコン工房のブログ記事に
RTX2060superを2枚使って、しかしSLIとかVLLinkとか使わずに性能1.8倍って例が出ている
34308番の記事か

209:デフォルトの名無しさん
20/12/10 23:34:49.63 lK79U13H.net
3080tiでpytorch回してえ

210:デフォルトの名無しさん
21/01/12 01:54:13.37 QwUx+qJl.net
1050で戦ってるが、ぐぐるこらぼの半分の速度しか出ねえ
今買い換えるならおすすめどれ?
3万くらいなら払えそう

211:デフォルトの名無しさん
21/01/13 07:56:47.02 7sNWJYPv.net
1660SUPERぐらいなら買えそう

212:デフォルトの名無しさん
21/01/14 10:18:01.38 khWOsAy5.net
RTX3060デスクトップ版のコスパが
これまでのNVIDIAの一般ユーザー向けGPUでは深層学習に最適かな
3584cudaコアとVRAM12GBでアメリカ価格329ドルは有難い
教師データが巨大でも助かる
なおノート向けはcudaコアはちょっと多いがVRAM6GBなので注意
またRTX30xx番台はcuda11を使えばTensorflowを動かせるとのこと

213:195
21/01/14 13:43:39.46 RlCOioEo.net
caffeが異様にメモリ食うんだが。
困った。

214:デフォルトの名無しさん
21/01/14 21:42:12.40 qplKalHw.net
RTX3060良さそうだよな。
Google colab は無料なのは助かるけど、毎回環境構築しなきゃいけないし、やっぱりローカルで動かせると捗る。

215:デフォルトの名無しさん
21/01/18 09:07:06.27 svUqu+sR.net
3000番台はまだSLI出来るんだっけ
2060superでただ2枚挿しただけでとりあえず深層学習用途なら性能上がったというのが気になる
ノートPC用のRTX3080って16GBなんだなあ
是非欲しいけど当面は総額40万円くらいだろうな

216:デフォルトの名無しさん
21/01/18 12:33:28.51 LEwyyQvF.net
ゲームやらんし
3060でいいかな

217:デフォルトの名無しさん
21/01/26 15:26:11.94 7DQrPYu1x
フリーランス向け報酬即日払いサービス『先払い』が、オンライン資金調達プラットフォーム『資金調達freee』β版に掲載開始
URLリンク(prtimes.jp)
フリーランスやパラレルワーカー同士のマッチングプラットフォーム「conema」が、
案件依頼・仲間募集を中心とした掲示板機能(β版)をリリース!
URLリンク(prtimes.jp)
フリーランス薬剤師専門エージェントサービス「きょうりょく薬剤師」、リリース開始。薬剤師の新しい働き方を提唱。
URLリンク(prtimes.jp)
中卒、新聞配達員から月収4億の不動産王へ。姫路の不動産王の投資哲学
URLリンク(hbol.jp)
【アプリ開発で起業】必要な心得とマネタイズ方法のすべて
URLリンク(www.dreamgate.gr.jp)
副業を認める企業に対して「より魅力的に感じる」人は6割以上。
一方、副業を認めない企業に対する魅力度は6割超が「低下した」と回答
URLリンク(prtimes.jp)
みんなが知らない「サラリーマンの生存戦略」副業年収1億円!motoさん伝授
URLリンク(diamond.jp)
2021年はこれに頼ろう!<フリーランス・副業向けサービス カオスマップ2020年完全版 2枚組リンク付>を公開
URLリンク(ascii.jp)

218:デフォルトの名無しさん
21/02/25 09:17:50.75 evheNpFl.net
3060発売日か

219:デフォルトの名無しさん
21/03/01 12:17:15.83 8GQloKKK.net
機械学習しようとrtx3090を2枚買ったんだが中古でも25万円で売れるから売ってrtx A6000に買い替えるメリットある?
gpgpu的な観点から

220:デフォルトの名無しさん
21/03/01 15:53:37.93 ahGFzuGs.net
電力は少なくて済むな

221:デフォルトの名無しさん
21/03/12 16:24:04.75 ng+yz2v9F
国連から表彰されても引退なの?個人アプリ開発の世界は残酷だ。
URLリンク(appmarketinglabo.net)
「約3年で1,180万円を稼いだ、いま広告収入は月100万くらい」地味だけど寿命は長い「電卓アプリ」実際に効果があった5つの施策。
URLリンク(appmarketinglabo.net)
「世界に友だちができれば、世界は平和になる」中東ユーザーに人気の友だちアプリ「Taptrip」
3年越しで150万ダウンロード到達できた理由。
URLリンク(appmarketinglabo.net)
個人で作るならゲームよりもツール系アプリだと思う理由
URLリンク(megumikan.work)
パチスロ生活しながらアプリ開発で1,500万円稼いだ「ダメ人間」が語る、ソシャゲとパチンコ
パチスロの客層融合説と、電卓アプリ作者が語る3年の収益推移
URLリンク(appmarketinglabo.net)
1日に3?5万円だったアプリ収益が「プロモーションで大化け」数百万円を稼げるように。
AppLovinが語る「ハイパーカジュアル」の可能性と成功のコツ。
URLリンク(appmarketinglabo.net)
約4年でアプリ売上1億円。副業からスタートしたアプリ開発会社「AppStair」が
730万ダウンロードを達成し、メタップスに買収されるまで。
URLリンク(appmarketinglabo.net)

222:デフォルトの名無しさん
21/06/02 02:14:34.84 TuNemlZF.net
3080tiと3070tiが販売されるか
しかし3080tiでもVRAM12GB

223:デフォルトの名無しさん
22/03/11 11:03:09.15 vTxyPKiv.net
ようやく
CPUマルチスレッドをCUDAプログラミングに乗り換えようと来てみたけど
ほんと人少ないな。
ompオフロードじゃなくCUDAでやろうとしてる
ちょっと思ったのはデバイス側のスレッドから、複数のデバイス側のスレッドを起動できれば
ホストデバイス間のメモリ転送をぐっと少なく出切るんだけど
こういうことって出来ないのかな?

__device__
void
SubThread()
{
...
}
__gloval__
void
SubThread()
{
}

224:デフォルトの名無しさん
22/03/11 15:20:37.94 vTxyPKiv.net
途中で送信してしもた
__device__
void
SubThread(){
...
}
__gloval__
void
Thread(){
SubThread<<<1,1024>>>();
}
int
main(){
Thread<<<1,1>>>Thread();
}
みたいな。
これができないとCPUマルチコアプログラムからGPUプログラムに簡単に移行できんわ。
CPUもC#やインテルコンパイラから入ったんで、大体様子がわかって、
ompでは用意されてなかったPartitionerを先ず作ってめちゃ楽にコーディングできるようになった。
GPUはまだ手探り状態

225:デフォルトの名無しさん
22/03/11 18:41:56.87 yfypcQRg.net
細かく見てないけどSubThread をグローバルにしたら呼べる

226:デフォルトの名無しさん
22/03/12 01:12:58.32 2Ys6LOmP.net
>>224
CUDA Dynamic Parallelism

227:デフォルトの名無しさん
22/03/12 10:13:53.90 GhWebJZd.net
__device__を__global__に置換してみたけど
__global__内でスレッドを立ち上げるコードを書くと
THread内のSubThread<<<1,1024>>>(); 行と
main関数のThread<<<1,1>>>Thread(); 行の2箇所で"式が必要です"とコンパイルがエラーがでる
もちろん
Thread内のSubThread<<<1,1024>>>();をコメントアウトするとコンパイルもとおるし、正しく実行できる

228:デフォルトの名無しさん
22/03/12 10:16:20.60 GhWebJZd.net
>>226
ありがと
調べてみます

229:デフォルトの名無しさん
22/03/12 18:11:29.89 GhWebJZd.net
ようやくわかりました
Relocatable Deice Code をenableでコンパイルが通りました
あちがとうございました

230:デフォルトの名無しさん
22/03/23 16:55:21.73 4ldsbCNM.net
今のGeForceは倍精度遅すぎてなんとかならんか?とおもてたら
Kelper世代のTeslaが8万円ぐらいで売ってるのな 1.8TFlps
c.f.
R3090 FP64 0.556TFPS ww なんそれッ

231:デフォルトの名無しさん
22/03/23 19:49:40.61 4ldsbCNM.net
k80とか外付けGPUBOXで正常動作すんのかな?
動作報告探してみたけど見つからないんでよくわからん
消費電力大きいし、使いたいときだけつないぎたい

232:デフォルトの名無しさん
22/03/23 21:39:42.99 L/8Jb0Ma.net
8万円分AWSのGPUインスタンス借りたほうがよくね?

233:デフォルトの名無しさん
22/03/24 04:46:34.26 A9GFlV37.net
課金がアクセス時間なのか正味のGPU駆動時間かわからんけど
8万だとほぼほぼ1ケ月やね。k80本体は6.7万ってのを見つけたわ
機材レンタルじゃないのでもっと上衣スペックのGPUサービスとか期待してチェックしたけど
目ん玉飛び出るぐらい高いね。もっと安くしてくれ

234:デフォルトの名無しさん
22/03/24 05:17:57.72 A9GFlV37.net
A100ならAWSよりGPUSOROBANが半額以下やね
22万/月なんて個人じゃ出せないけど

235:デフォルトの名無しさん
22/03/25 15:16:22.97 K6Ygc++J.net
仮面ライダー GPGPU
URLリンク(pc.watch.impress.co.jp)
700Wて
10年たってジャンクで入手しても個人で稼動して遊べるシロモノじゃなくなったな

236:デフォルトの名無しさん
22/03/25 15:57:54.09 9D1V2Tj7.net
電力はまだしも排熱が難しいな。

237:デフォルトの名無しさん
22/04/15 16:37:56.16 sD2CwuNi.net
CUDAてなんで3次元でスレッド管理するの?
DRAMが実装構造としては2次元でもアドレスでコーダがrow. columnは吸収して1次元で管理するように
スレッドもそうしちゃ駄目な理由を知りたい。
そもそも、3次元ってのとgrid, blockがなんの関係もないんじゃないの?
2次元を block として管理して
3次元の奥行が必要になった時点でgridが登場するならまだ理解できるんだけど。
しかも
threads/block = 1024 と少ない。こんなんじゃ32x32行列越えたら一挙にメンドクサイ

238:デフォルトの名無しさん
22/04/15 22:42:02.88 +O2sB4yV.net
3DCG処理やる場合、最初から3次元のID貰った方が楽じゃん?

239:デフォルトの名無しさん
22/04/15 23:30:24.49 ySHkHnZ8.net
>>238
3DCGの次元とは全然別物だが

240:デフォルトの名無しさん
22/04/16 07:46:19 njc5gQYC.net
block,grid へのスレッドの割当て方とかでパフォーマンス変わりますか?
1000個のスレッドを起動したいとき、
block内だけで起動する方が速いのかいのか?
それとも
10個/grid, 100個/blockと分ける方が速いのか?
OpenCLでNVidiaがAMDほどパフォーマンスが上がらないのはスレッドの立ち上げかたで
癖のようなものがあるからってのはないですか?
block,gridってパーティションは単にソフトの問題なのかハード上の制約でこうしてるのかが知りたい

241:デフォルトの名無しさん
22/04/16 09:18:24.96 lq6dfVd7.net
変わるけど、今のGPUそんなん意識しなくても速いからいいだろ
Keplerまでは色々考えないと速くならんかったけど、Maxwell以降はそんな考えなくてもよくなったからおけ

242:デフォルトの名無しさん
22/04/16 10:42:24 njc5gQYC.net
なるほど
じゃblockとかgridとかのパーティションはその時々作成するアプリ側の都合で
作りやすいように自由に設定していいってことですね?
OpwnCL使うとCUDAより大分速度低下する理由は何ですかね?
AMDはOpenCLしかないけどNVidiaでCUDAで書いたのと遜色ないぐらいのベンチマーク出してるサイトがあったんですが。
単にNvidiaがOpenCLやる気ないだけ?

243:デフォルトの名無しさん
22/04/16 10:53:55 MoK8GTpb.net
昔ウチで試したときは同じGPUでCUDAとOpenCLはそんなに差は無かったがなぁ。
ものによってはOpenCLの方が速い場合もあったり。

そんなに差が出るのはバリバリにチューニングしたCUDAカーネルをOpenCLにベタ移植したとかかねぇ?

244:デフォルトの名無しさん
22/04/16 11:06:17.75 lq6dfVd7.net
厳密には、ハードウェアを意識するならちゃんと考えたほうがいい
あと適当に言ったけどさすがに今の世代でも1スレッドブロックしか立ち上げないとかだとめっちゃ遅いと思う
GPUの並列性を埋めるなら、1SMに対して複数のスレッドブロックを当てられるぐらいであり、全SMに対してそれができるぐらい、つまり数万スレッドを立ち上げた方がいい
とはいえレジスタ数との兼ね合いもあるからそこはバランスを見て

245:デフォルトの名無しさん
22/04/16 11:11:10.82 lq6dfVd7.net
OpenCLとCUDAに本質的な速度の差はないよ。最適化がどれぐらいかかるかの違いじゃない?
一般的な使い方をするならOpenCLはオンラインコンパイルだからあんま最適化かからんけど、CUDAなら最適化がかかるとかそういう感じ

246:デフォルトの名無しさん
22/04/16 11:42:04 xCzrvTZx.net
nVIDIAがCLやる気ないのはわかりきってることだろうに

247:デフォルトの名無しさん
22/04/16 11:52:05.37 MoK8GTpb.net
一般にはオンラインコンパイラの方がその環境に合わせた最適化ができると思うがな。
NVIDIAがどこまでやってくれているかは知らないがIntel OpenCLは頑張っていた印象。

248:デフォルトの名無しさん
22/04/16 13:08:09 xCzrvTZx.net
nVIDIAはclCreateProgramWithIL無いんだったなw

249:デフォルトの名無しさん
22/04/28 01:34:13.82 tOn4KFIj.net
今度のゲフォ fp64で
ラデなみの速度でるとか情報ないの?

250:デフォルトの名無しさん
22/05/14 21:22:02.62 pnhp2Adq.net
11.7 にしたらoptix のdirect callがこわれた

251:デフォルトの名無しさん
22/06/29 06:55:54.64 hJJv21MU.net
今月のIF誌GPUプログラム特集ですなー
AMDも含むけど
最近のIF誌Pythonとラスパイばっかでうんざりしてた

252:デフォルトの名無しさん
22/07/03 16:32:19.91 ZA7I4EsQ.net
IF誌読んだけど、
中級以上のCUSAプログラマ諸氏にはなんの価値もないです
意識してコーディングするとたちまち複雑化するシェアードメモリになんらかの言及があると思ったのですが、
サンプルプログラムはシェアードメモリで速度かせいでます。
だけでした
そんな解説なら俺でも出来るわ

253:246
22/07/03 16:32:51.51 ZA7I4EsQ.net
CUSA
じゃなく
CUDAです

254:デフォルトの名無しさん
22/07/03 20:29:17.30 pCZRSLKH.net
>>252
初級の私には役立ちそうですね‥‥ぽち‥‥

255:デフォルトの名無しさん
22/07/04 13:18:06.68 /6oW4Zmu.net
と思うなら読んでみればいいよ
Nvidiaのプログラミングガイド以上の情報あったら教えて

256:デフォルトの名無しさん
22/07/04 14:20:47.70 QcH7dMjb.net
>>252
読んでねえしCUDA知らんけど、書くにしても
チャネルコンフリクトを避けるように書きましょう!
たとえばこうやってずれるように・・・
って程度じゃねえかなあ

257:デフォルトの名無しさん
22/07/04 14:25:19.24 QcH7dMjb.net
bank conflictだった

258:デフォルトの名無しさん
22/07/05 12:33:18.52 hRE3by/z.net
cudaはグラボ2枚差し使えますか?
コンシューマ向きのグラボだとvramが24Gですが
48Gになれば購入したいです。
そもそもvram24Gもってる人でどんな処理をしてるのか
知りたいです。例えば深層学習で〇時間を▽というグラボで
こんだけ時間がかかるとか。
そういうデータがほしいです!
よろしく!

259:デフォルトの名無しさん
22/07/05 15:28:47.86 CUrAgxNd.net
とりあえず立ち読みしてくるわ

260:デフォルトの名無しさん
22/07/05 23:08:08.38 r9k68Dlj.net
>>258
A6000 (48GB) 使ってるけど pix2pix とかやったら画像1000枚でも数日かかるよ。
vgg16 とか mobilenet で数時間の学習が多いけど、画像集めるのに一週間かかる。

261:デフォルトの名無しさん
22/08/08 11:00:53.55 sinjC4yw.net
積分する関数をCUDAで書こうと思っています
リストのIntegrateのように関数テンプレートにすることで,
通常のC++であれば
呼び出し時に
被積分関数(ここではSinc)として
関数へのポインタでも,
ラムダ式でも
直接関数名を書いてもうまく動作させることができるのですが,
CUDAではうまくいかないようです.
もちろんIntegrateの中で被積分関数を直接記述すれば問題なく動作するのですが,
これだと毎回エディタでIntegrateの修正が必要になってきます.
呼び出し時の引数として被積分関数を与えるにはどーすればいいんでしょうか?

262:255
22/08/08 11:01:35.81 sinjC4yw.net
プログラム リストです
__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 >> > ();
}

263:255
22/08/08 11:59:44.42 sinjC4yw.net
main 中
誤 Integrate <<<1, 1>>> (0, 10, Sinc);
正 Integrate <<<1, 1>>> ( Sinc );
プログラムリストのコピペ時 0,10, を消すの忘れてました

264:デフォルトの名無しさん
22/08/08 14:22:43 6PldGrDe.net
すまんが、MacやdGPUのないWindowsノートでコード書けたらいいなと思うんだけどさ
CUDAを扱えるオンラインIDEとかエミュレーターとかなんかないもんなのかな?

265:デフォルトの名無しさん
22/08/08 16:23:48.54 XhYLtnJ4.net
>>262
最近CUDA使ってないから間違ってるかもしれんが、__global__がついた関数からは__device__しか呼べなかったきがする。__global__関数から__global__が呼べるかちゃんとマニュアルで確認しよう。

266:デフォルトの名無しさん
22/08/08 16:31:00.99 XhYLtnJ4.net
>>264
google colaboratoryのGPUインスタンスで昔ちょっとしたCudaのコードを動かしたことはある。
基本はpythonで動かすことが前提なのでちょっと面倒なことしないとCのコードは動かせなかった。
後有料アカウントしないとGPUインスタンスに制限時間がつくかも。

267:デフォルトの名無しさん
22/08/09 09:01:04.67 NQSwSFSX.net
>>265
いや__global__から__global__を呼ぶことは何も問題ない
>>262のリストにある関数Integrateの中でコメントアウトしてる部分がそれ,
直接呼ぶのは何も問題ないのに, ファンクタとして間接的に呼べないんで困ってる

268:デフォルトの名無しさん
22/08/09 09:20:50.28 NQSwSFSX.net
>>262
AWS

269:デフォルトの名無しさん
22/08/09 09:23:37.72 NQSwSFSX.net
アンカー間違い
>>264
AWS

270:デフォルトの名無しさん
22/08/09 13:15:46.68 FuYE0Ba9.net
せんきゅー!
Colaboratoryは怪しいことをしてると警告が出てビビっちゃうし、AWSは高いし、コードを書く時点で契約するには勇気がいるな・・・・

271:デフォルトの名無しさん
22/08/09 16:43:54.58 +p53eoJ7.net
>>270
Linux使うのでもよかったら一万円ぐらいのjetson nano買えばCuda使えるよ

272:デフォルトの名無しさん
22/08/12 22:53:57.30 m8p3x/l6.net
んなもん使うぐらいならふつーにx64でコード書いたほうがよっぽどいい
エンベ用途でもないのに何を好んでわざわざワンボードマイコンで計算せにゃならんのだ

273:デフォルトの名無しさん
22/08/13 00:14:35.60 13DWsM+a.net
>>272
小さいものを愛でる気持ちがないのかな?
お金が掛からないしGPIO使えるし。
GPUの性能が今売ってるGPUよりかだいぶ低いけど。
普通のPCからクロスコンパイルもできるらしいよ。

274:デフォルトの名無しさん
22/08/13 22:01:46.34 h81CLsAE.net
文脈から想像するに>>270はCPUよりGPU計算が速いことを期待して
ノートからGPUを使ってみたいんだろうよ
それを単にCUDAが乗ってるだけでx64のマルチコアに遠く及ばないワンボードマイコンごときのGPUを何のためにわざわざ使う必要があるんだ?
組込用途とかでこれまでFPGA起こしたりASIC起こしたりしてた部分で
ワンボードマイコンのGPUが代わることもあるだろう.
実際、産業機械にRasPiをまんま組込む用途も増えてる
しかし、どーかんがえてもそっち系じゃない>>270にワンボードマイコンすすめてどーすんだって話

275:デフォルトの名無しさん
22/08/14 11:31:10.95 VI2zLni0.net
M5StickV 薦めてる香具師がいた

276:264
22/08/14 13:40:06.95 p/YIGTAI.net
コードを手元で書いて、実際に計算する際は実機を用意するかAWSを借りるつもりでいます
ただコードを書くだけの段階でAWSを借りると負担なので、何かいい方法があればいいなと思った次第です

277:デフォルトの名無しさん
22/08/16 22:23:45.49 dhgyOuoD.net
>>276
URLリンク(www.%61mazon.co.jp)
カードに安いやつかっても10万円コース
AWSなくてもいけるが電気代要るわな
それとThunderboltがボトルネックになることはほぼ確定

278:デフォルトの名無しさん
22/08/16 22:44:07.06 dhgyOuoD.net
sharedメモリは
URLリンク(zukaaax.com)
ここの最後に書いてる
>シェアードメモリを使用しなくても高速にできるようにする方針
これホント?

279:デフォルトの名無しさん
22/08/17 01:02:58.66 V/z4ESnc.net
Dynamic Parallelism で親スレッドと子スレッドの属するブロックを
同一ブロックに属するような指定はできますか?
同一ブロックにして親スレッドが確保したShared Memory を子スレッドからアクセスしたいんだですが.

280:デフォルトの名無しさん
22/08/17 01:38:27.72 V/z4ESnc.net
訂正です
○同一ブロックにして親スレッドが確保したShared Memory を親スレッドからアクセスしたいんですが.
myKernel<<<gridSize, blockSize, nI*sizeof(int))>>>(...);
親スレッドで確保して子スレッドに引き渡すnI*sizeof(int)サイズのshared memoryですが
この領域を親スレッドからアクセスできないんでしょーか?

281:273,274
22/08/17 08:15:14.36 GVtrukEl.net
事故レスです
そもそも親子スレッド間でグローバルメモリのローカル変数の参照渡しが無理らしい
ローカル変数なんかやめにして、大域変数にして__device__つけろとorz
当然のごとくshared memoryもだめっぽい
C++でUser I/Fを使いやすく仕上げたいと思ってたけど
そーゆーおしゃれなことは
いろんな制限が頭に入っるまでは素直にゴリゴリCで書いてたほうがよさそう

282:デフォルトの名無しさん
22/08/27 12:49:33.14 shuaF+y6.net
__global__のなかでnew,delete使えるので
もしやと思ってmake_unique使おうとしたらだめだった

283:デフォルトの名無しさん
22/08/27 13:08:06.52 shuaF+y6.net
make_unique以前にstd::unique_ptrの時点でだめだったわ
cudaMalloc使ったunique_ptrバージョンはネットで公開してる人いるのめっけた
URLリンク(proc-cpuinfo.fixstars.com)
host側からgpuメモリ確保したいならコレでいいけど
__global__の中で使うmalloc,freeはGPUメモリを使うバージョンが正しくリンクされるので
malloc, free使って各関数は__device__指定すれば,
cuda::unique_ptrで正しく使えるのかな?

284:デフォルトの名無しさん
22/08/30 17:35:41.58 BUcEB6jI.net
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使えてもあんま有り難みは少ないな

285:デフォルトの名無しさん
22/09/01 19:39:29.54 Tzt57hSP.net
質問です。
cpuは64コア、gpuは年末のvram48ギガ2つ、メモリはddr5 256g
これ以上は経済的事情により無理ですw
vram48ギガ二つで深層学習したいんですけど
どの規模でどのくらいのデータ処理ができますか?
マルチcudaで処理速度はどれくらい高速化できますか?
CUDA Python (Numba) を使用して気象分析の分野で 200,000 倍高速化する
こういう記事がありました。
このようなデータがありましたが20万倍以上の高速化ってできますか?
きになります。もしグラボがvram48一つと二つで差がなければ
vram一つにしたいと思います。

286:デフォルトの名無しさん
22/09/01 20:36:24.07 IftgsB+t.net
NVIDIA HGX H100 はどうでしょう?

287:デフォルトの名無しさん
22/09/01 20:37:55.19 Tzt57hSP.net
予算オーバーですw

288:デフォルトの名無しさん
22/09/01 23:54:48.88 xm6voT2o.net
>>285
VRAM48Gもあれば、相当の大きさのモデルでも、バッチサイズある程度取れると思う。
2枚にするなら、NVLINKやったかのボード間通信できるやつやらないと、
同時に使ってバッチサイズ倍にするぜってやつが遅い。
一枚でもいいんでない?って気はする。
何と比較して速くしたいのか分からんけど、3090ti(24GBメモリ)1枚でも普通のモデルなら
ちゃんと学習できる。長いと数日学習に時間がかかるけど。
爆速学習したいなら、クラウドで大富豪するしかないぞ。
具体的に動かしたいモデルとかあるの?

289:デフォルトの名無しさん
22/09/02 05:25:23.36 gNiGWU4j.net
>>288
返信サンキュー!情報ありがとさん!!
気象予測がしたくて(とある記事に20万倍の高速化と書いてあった)
クラウドいいですね~!
どうしてもpythonのnumbaがやりたくて!
ちなみにpycharmかgoogle coalb pro plusはどちらが良いのでしょうか?

290:デフォルトの名無しさん
22/09/04 06:32:34.26 Z3ORh9R5.net
>>260
cudaつかっても1週間もかかるんですか?

291:デフォルトの名無しさん
22/09/04 22:01:18.62 z+JpWVLU.net
気象予測て流体力学だろ
学習とかの前に基礎方程式がわかってるものは
粒子フィルタで検討したほうがいいんじゃないの?
もっぱら線形微分方程式に使われるカルマンフィルタを拡張した
アンサンブルカルマンフィルタで見たことあるけど
今だと線形非線形にかかわらず利用可能な粒子フィルタに頼るほうが簡単だと思うけど

292:デフォルトの名無しさん
[ここ壊れてます] .net
>>291
おすすめのサイトとかありますか?

293:デフォルトの名無しさん
22/09/06 12:58:14.35 c2oYpxoe.net
URLリンク(www.sice.jp)
URLリンク(www.nagare.or.jp)
URLリンク(www.saiensu.co.jp)

294:デフォルトの名無しさん
22/09/06 18:55:48.97 iU1ybZ8L.net
URLリンク(www.cradle.co.jp)

295:デフォルトの名無しさん
22/09/16 13:59:03.50 cImVlNrb.net
RTX 4090 Ti
48GB
GDDR6X
これ買う人いますか?

296:デフォルトの名無しさん
22/09/16 20:06:35.06 fjE4y/uE.net
消費電力によります。

297:デフォルトの名無しさん
22/09/22 11:24:00.63 RnuCJ+18.net
>>295
その辺のが一般化してきたら
albertを使った実装例とかがもっと増えるか
ま、もっと高性能なのがクラウドに多数デプロイされそうだけど

298:デフォルトの名無しさん
22/09/23 21:15:50.98 Qf6uDb81.net
RTX 4090 Tiを複数差せばおもしろそうやん?

299:デフォルトの名無しさん
22/09/23 21:24:28.27 Qf6uDb81.net
600WのTBPで動作すると予想されます。
だそう。つまり3枚差せば1800wですね。
つまり電源ユニットを2枚で4000ワット以上必要ですね。
電源ユニットが3000wとか4000wとかでないのかな?
困るよね。

300:デフォルトの名無しさん
22/10/08 13:36:18.12 d409kTqm.net
.cuファイルで何とか普通のメモリと
GPUのVRAMを同居させて使えるなら
容量の大き過ぎる計算でもスピードは落ちるが
普通のCPUだけの時より速く計算できる、
とか出来たらいいんだけど、まず無理なんだろうなあ
(沖電気はそういうのを上手くやったらしいが詳細が分からない)

301:デフォルトの名無しさん
22/10/08 13:53:17.87 XEAL3BhY.net
何を問題視してるのかよくわからんけど
例えばmkl入れるとかじゃ駄目なのか?

302:デフォルトの名無しさん
22/10/08 14:37:57.21 TKlSmRLn.net
>>300
LinuxならUnifiedMemoryでできるな。

303:デフォルトの名無しさん
22/10/08 16:09:18.26 j9nJcF5K.net
>>302
それは凄い!!!

304:デフォルトの名無しさん
22/10/09 00:49:49.72 KNQys/Sq.net
ホスト側のメモリをピンして使うことはできるけど多分そういう用途ではないよなあ

305:デフォルトの名無しさん
22/10/09 08:33:30.58 DpFtFESu.net
>>300が言ってるのはOversubscriptionだろ。

306:デフォルトの名無しさん
22/10/26 02:06:11.16 XY9sqarF.net
C#でCUDAを使おうとして悪戦苦闘してようやくこのスレにたどり着いたのだが・・・
GPUで計算した結果をCPUに取り出すには結局どうやったらいいんだ?
検索してもサンプルプログラムはほとんど出てこないし、GPU動かして終わりでその結果を使うやり方が示されてない。
教えろくださいお願いしますだ

307:デフォルトの名無しさん
22/10/26 05:14:53.09 2ajidUUz.net
CUDAでdll作成してC#に読み込ませる
こんだけ

308:デフォルトの名無しさん
22/10/26 10:08:16.86 Gl6HUSuY.net
>>274
C言語で普通にCuda使うときだったら、GPU側にメモリ確保してGPUで計算した結果をそこに書き込む。
GPUでの計算が終わったらGPU側のメモリをCPU側のメモリにコピーするみたいな感じだ。
後unified memoryとかいうのでGPUから直接CPU側のメモリに書き込めるらしい。
C言語だったらCUDA sdkにサンプルコードがたくさん入ってるだけどね。
どういう関数使えばいいかはCUDAのドキュメントをちゃんと読めば見つけられるでしょう。

309:デフォルトの名無しさん
22/10/26 10:09:44.08 Gl6HUSuY.net
↑のは>>306への返信です。

310:デフォルトの名無しさん
22/10/26 10:49:12.85 XY9sqarF.net
ありがとうございます。
昨日はとりあえず↓を参考にして以下のように書き換えてみたんですが、これじゃダメってことですよね?
(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
URLリンク(kzmmtmt.pgw.jp)
Alea GPUで簡単C# GPUプログラミング - Qiita
URLリンク(qiita.com)

311:デフォルトの名無しさん
22/10/26 11:05:33.68 2ajidUUz.net
Alea GPUなんて知らなかったな
で、もう使われてなくね?
それでやる必要ある?

312:デフォルトの名無しさん
22/10/26 11:15:01.82 XY9sqarF.net
GPU使って並列計算できるってのを昨日知った初心者なんで、すいません。
「gpu 並列計算 C#」で検索してもこれしか出てこないんです。

313:デフォルトの名無しさん
22/10/26 11:21:28.43 2ajidUUz.net
で、あればGPUの使い方、CUDAの使い方を、まず勉強した方が良いのでは?
まだGPUとホストのメモリ間のデータ転送とか、さっぱりわからないよね

314:デフォルトの名無しさん
22/10/26 11:45:49.61 Gwv5fEeF.net
cudaは別にコンパイルしてC#から呼べば?このほうが調べやすそう

315:デフォルトの名無しさん
22/10/26 12:52:17.28 XY9sqarF.net
趣味でやっているだけなので調べてすぐにできればいいと思ったんですよ。
>>310でGPU側で計算した結果を渡すだけなのにそれを乗せてるウェブサイトが見つからないなんて、そんな手間な作業なの?

316:デフォルトの名無しさん
22/10/26 13:29:27.83 Gwv5fEeF.net
>>315
cpuとgpuで別々のメモリを見てるんで >>308 のようなことが必要です

317:デフォルトの名無しさん
22/10/26 16:16:55.85 Gl6HUSuY.net
CUDA本体はC言語かC++言語で使う前提なのでそれらの言語ならサンプルコードや情報がたくさん見つかるんだけど。
C#からCUDA使うとなるとマイナーなライブラリを使うことになって情報を見つけづらいかもしれない。英語の情報までくまなく調べればそうじゃないのかもしれないが。

318:デフォルトの名無しさん
22/10/26 16:57:54.98 2ajidUUz.net
C#から使う場合は上にも書いた通り、cuda でdllを作成して
C#からはDllImportで読み込む

319:デフォルトの名無しさん
22/10/26 17:35:34.36 XY9sqarF.net
そうなんですね。ありがとうございます。
ライブラリが用意されているのでそれでできないのなら何のためのライブラリなのかと素人的には感じてしまいました。

320:デフォルトの名無しさん
22/10/26 21:01:13.64 8mk+cARY.net
出来ないかどうかはちゃんと調べないとわからないだろう
簡単に出来るかどうかはライブラリは保証しないよ、特にC#とCUDAみたいな組み合わせだったら。
めちゃくちゃ沢山のグルーコードをC++/CLIで書かなきゃいけないのを省略してくれる、ぐらいなもんでCUDAに対する理解なしに使える代物じゃないと思うけどな。

321:デフォルトの名無しさん
22/10/26 23:22:43.17 XY9sqarF.net
すいません、↓にテストコードが載っていたのでそれを動かしたところ、GPUの計算結果を取り出せました。
お騒がせしました。

Alea GPUで簡単C# GPUプログラミング - Qiita
URLリンク(qiita.com)

322:デフォルトの名無しさん
22/11/26 11:57:28.57 BVUhPWJi.net
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

323:デフォルトの名無しさん
22/11/26 12:10:47.07 8YfGLTST.net
pytorchはよく知らんけど
toolkit入れた?
cuda.is_availableてtorchのメッセージだよね?
てな感じで全然情報不足だわな

324:デフォルトの名無しさん
22/11/26 12:51:08.87 GN65Kd03.net
そうです。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をツールキットからインストールした事もありますが、それでもダメでした。

325:デフォルトの名無しさん
22/11/26 12:53:48.55 8YfGLTST.net
まずcudaは動いてるの?
devicequeryとかsampleのプログラムが動くかどうか確認して問題なければ
torch周りの問題かと

326:デフォルトの名無しさん
22/11/26 22:03:13.46 GN65Kd03.net
ありがとうございます!
サンプル試したことなかったのでやってみました。
URLリンク(github.com)
上記サイトからCUDA Samples v11.6をダウンロードして、VisualStudio2017.slnをビルド
ビルド結果:ビルド: 175 正常終了、11 失敗、0 更新不要、0 スキップ(ただしビルド文書の中にいくつか失敗という文字あり)
deviceQueryをコマンドプロンプトから実行したところ・・・。
cudaGetDeviceCount returned 100
-> no CUDA-capable device is detected
Result = FAIL
という結果だったので、CUDA対応デバイスが検出されていないようです・・・。

327:デフォルトの名無しさん
22/11/26 22:06:59.94 GN65Kd03.net
あっ、ビルド結果、11個失敗しているって意味なんですね・・・。

328:デフォルトの名無しさん
22/11/26 23:52:01.01 HQ9nVBdA.net
GPUがちゃんと刺さって無いとか、電源不足とかドライバがちゃんとインストールされてないとか。

329:デフォルトの名無しさん
22/11/28 08:14:28.58 MM544pas.net
ん~、GPU自体は認識されてるみたいなんですよね。
GPU-Zで調べてみたらCUDAのところチェック外れてたので、やはりCUDAは認識されていないみたいです。
URLリンク(gpuz.techpowerup.com)
現在の電源は550Wなのですが、もうちょっと大きい容量のに変えてみて、それでダメならやはりドライバが合っていないという事でしょうか・・・。

330:デフォルトの名無しさん
22/11/28 08:33:47.92 D2ZVp0By.net
gpu-zはハードウェア情報なのでcudaのチェックが外れてるって
何かがかなりおかしい
20年前のgeforceなら分からんでもないがRTXなら
偽物をつかまされたか、ハードウェア故障を疑った方が良い気がする

331:デフォルトの名無しさん
22/11/28 08:52:47.95 FFe6eh0R.net
まずはsystem32にnvcuda.dll があるかどうか確認するかな

332:デフォルトの名無しさん
22/11/28 12:53:30.32 MM544pas.net
316です。
Sytem32にnvcuda.dll入ってました。
やはりハードウェアの故障でしょうか? (今のGPUは約2年前にドスパラで買いました)
とりあえず電源ユニット注文しちゃったんで、電源交換&GPUも付け直してみて、それでダメだったら新しいGPU購入ですかね(T_T)

333:デフォルトの名無しさん
22/12/02 20:33:45.27 2cIkFTzc.net
グラボを3060TIに変えてみましたが、それでもGPU-ZでCUDAにチェックが入っていませんでした・・・。

334:デフォルトの名無しさん
22/12/02 20:51:14.24 NwS5Fypu.net
あとはマザボかね~???

335:デフォルトの名無しさん
22/12/02 20:53:44.01 NwS5Fypu.net
差す穴変えてみた?

336:デフォルトの名無しさん
22/12/02 21:26:41.40 xlTggD6P.net
12V繋いでないってことはないよな

337:デフォルトの名無しさん
22/12/02 22:03:05.09 2B2OMrFT.net
>>332
Linuxでも入れて確認してみたら?

338:デフォルトの名無しさん
22/12/02 22:11:35.41 2cIkFTzc.net
接続するPCIEスロットも変えてみましたが・・・ダメでした。
グラボ上部にある補助電源?用のケーブルはちゃんと繋いでるはずなのですが、他に必要な接続とかあるんでしょうか?
現状のGPU-Zでの結果
URLリンク(gpuz.techpowerup.com)

339:デフォルトの名無しさん
22/12/03 06:08:21.14 9AvqKyUf.net
OpenGL, DirectX, vulkanとかのグラフィッ関係のAPIを使ったプログラムやゲームも動かないの?
本当にハードウェア関係に問題があるんならそういうプログラムも動かないだろうけど。

340:デフォルトの名無しさん
22/12/03 12:15:17.56 s9fm/abx.net
他のGPU全部殺してドライバアンインストール
3060Tiのドライバ入れなおせ

341:デフォルトの名無しさん
22/12/03 12:19:52.15 Xj+KmoE3.net
別のドライブにOSクリーンインストールしてみれば

342:デフォルトの名無しさん
22/12/04 11:39:28.03 2Pwe8xJ8.net
>>335

343:デフォルトの名無しさん
22/12/06 21:28:34.09 VA2y8qjn.net
316です。
思い切ってCドライブ初期化してみたらCUDA認識されました。
皆さんありがとうございました。

344:デフォルトの名無しさん
22/12/06 22:09:54.37 lBiSjHRF.net
経験上、一番難しいと感じたのはpython
listとかタプルとかデータ型が沢山あってこの変換がやたら発生
pandaとnumpyでも型が違うとか
torchは経験ないけどtensorflowは理屈が分かればそれほど難しくないと思う

345:デフォルトの名無しさん
22/12/07 02:07:47.36 imjH6UhZ.net
>>344
普通にC++の方が難しいと思うけど、どんな言語を試した経験上なの?

346:デフォルトの名無しさん
22/12/07 06:20:47.46 YHin935u.net
もしかしてCUDAでC++を覚えようとしてるの?
CUDAはCの知識でもできるけどCは?

347:デフォルトの名無しさん
22/12/07 13:28:40.27 wqy1K1SQ.net
C++は変態過ぎて
経験豊富ならべつにC++かまわんが
経験無いならCからやった方が良い

348:デフォルトの名無しさん
22/12/07 17:47:48.05 4gcyj4i9.net
>>347
Cは便利じゃないけど、確実だよね。マイコンとかでC++を使うのは、開発時間が十分に取れるなら(慣れてるなら)いいけど、処理系の変な制限にハマりそうで怖くて使えないわ。

349:デフォルトの名無しさん
22/12/23 20:34:26.37 ovzWFFv+.net
処理系の変な制限て何?

350:デフォルトの名無しさん
22/12/23 20:38:43.13 ovzWFFv+.net
小規模マイコンでもC++は便利だぞ

351:デフォルトの名無しさん
22/12/27 00:37:40.45 szDr1TAR.net
>>349
お気持ちC++実装でフル規格満たしてないとか普通にある。調べるのが手間すぎる。

352:デフォルトの名無しさん
22/12/27 04:54:17.83 Y8dS0LJm.net
フル規格を満たしてない事が普通にあるのはCも同じ
恐くて使えないのは経験が少ないからだな

353:デフォルトの名無しさん
22/12/27 13:10:12.33 vQ4ixuph.net
MSVCで作っておけば大体オッケー
g++依存は死ぬ

354:デフォルトの名無しさん
22/12/28 21:30:57.66 VGHawTJO.net
今時C++で開発してる会社あるのかな?

355:デフォルトの名無しさん
22/12/28 21:33:16.19 IIYChppW.net
当然
高速処理が要求されるようなところはC/C++だよ

356:デフォルトの名無しさん
23/01/14 11:12:05.67 hF49Vv2k.net
質問です。
cudaの9.0バージョンで
nvcc -V
このようなことをうっても、一切反応しないです。
誰か教えてえらいひとーー!

357:デフォルトの名無しさん
23/01/14 11:36:54.44 ITBYYn4q.net
>>一切反応しないです
もう少し具体的に

358:デフォルトの名無しさん
23/01/14 13:28:49.96 HwrORXYU.net
無修正を観ても、一切反応しないです。
誰か教えてえろいひとーー!

359:デフォルトの名無しさん
23/01/23 20:21:43.20 VfNttDi/.net
NVIDIA HPC SDK使ってる人いる?
windows版がないんだけどそのうちサポートされるんかね?

360:デフォルトの名無しさん
23/01/23 20:47:20.55 1CzktcoW.net
HPC SDKになった2020年にはWindows版は翌年公開予定と言っていたけど,
その記載もなくなったし永遠に出ない可能性が高いと思われる
当時とは違ってCUDA on WSL2でHPC SDKも使えるようになったから
Windows需要もそこで解消されるし

361:デフォルトの名無しさん
23/01/25 11:08:54.16 /YL2yMwg.net
>>360
詳しい人降臨キター
旧PGIのユーザはほぼLinuxばっかだったようだしWindowsは見捨てられたのかと思ったけど必ずしもそうじゃないのかな
WSLで本当に性能出るの?ってのは気にはなるけど
ありがとうございました

362:デフォルトの名無しさん
23/03/05 20:30:51.25 skhIF3To.net
てst

363:デフォルトの名無しさん
23/03/05 21:06:34.13 skhIF3To.net
亀レス
>>354
あるっしょ
いくらでも,
このまえいびられて死んだ三菱電機の社員は電気系でも物性系の修士出てるのに
会社に入ってC++まともに書けなくて死んだ
物性選んだ時点でプログラム苦手なのにいきなりC売り物用のC++コード書け,
しかも,意地の悪い上司が適当なサンプルコードも見せてくれなきゃ死にたくなるかもな

364:デフォルトの名無しさん
23/05/14 05:25:29.03 EUIAlyu+.net
test

365:デフォルトの名無しさん
23/05/14 06:02:02.90 EUIAlyu+.net
おまえら教えろください
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関数を一切使わず高速処理が可能となります

366:デフォルトの名無しさん
23/05/14 06:21:14.34 EUIAlyu+.net
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__でコールできないので駄目なんですよ

367:デフォルトの名無しさん
23/05/28 07:37:34.81 rAN5cbTU.net
何もレスないけど
cudaDeviceSynchronize なくても困らないコード書いてるの?
shared memory使うときどーしても使うと思うんだがこのAPI

368:デフォルトの名無しさん
23/05/30 17:45:24.83 GWh7Fu6m.net
ふつうは __syncthreads() 使うなあ。
というかカーネル内から全スレッド同期出来たとは知らなかった。
やっぱりいろいろ無理があったから廃止になったんじゃね?

369:デフォルトの名無しさん
23/06/01 19:34:35.47 woZHz0xe.net
カーネルの実行完了を待つ関数をカーネル内から呼び出せるのはおかしいだろ

370:デフォルトの名無しさん
23/06/02 21:14:34.84 GpIK8Zp9.net
>>368
>>369
お前らマジでレベル低いわ
シェアードメモリとかまったく使いこなせてないだろ
シェアードメモリってのはブロック内スレッドでのみ共通のメモリ
カーネル関数内で待ち合わせ処理できずにどうやって使うんだこんなもん

371:デフォルトの名無しさん
23/06/02 21:16:18.40 GpIK8Zp9.net
>>369にいたってはCUDA Dynamic Parallelizmすら理解してない

372:デフォルトの名無しさん
23/06/02 21:29:40.49 GpIK8Zp9.net
>>368
ふつうは?
__syncthreads()自体とっくに廃止されてそのかわりのcudaDeviceSynchronize()だろ

373:デフォルトの名無しさん
23/06/02 21:32:58.33 GpIK8Zp9.net
>>368
CUDA Runtime API rev.1 をみても __syncthreadsなんて載ってないんだが,
どこに載ってるか教えてくれ

374:デフォルトの名無しさん
23/06/02 22:14:21.99 GpIK8Zp9.net
>>368
URLリンク(docs.nvidia.com)
↑から最新のAPIマニュアルをダウソして検索したが __syncthreadsなんてものは存在しない
お前の書いたコードが最新のcuda 12.1.1コンパイラで使えるかどうか確認してみろ
とっくにサポートが打ち切られたAPIを使うと嘯吹いてただけじゃねーのか?
お前はとんでもなく長い間cudaコードを書いてなかったんじゃないのか?

375:デフォルトの名無しさん
23/06/02 23:26:41.73 zbQswG7U.net
カーネルからRuntime API使うのがそもそも違和感あるんだがイマドキのCUDAはそういうものなんか?

376:デフォルトの名無しさん
23/06/02 23:38:04.08 44SgMOSU.net
>>372
同期する範囲がぜんぜん違ぇだろうが

377:デフォルトの名無しさん
23/06/03 01:32:33.61 f1mb9frl.net
submit済みカーネルが2並列同じキューで動いていて、両方が完了待ちしたらデッドロック起こすなwww

378:デフォルトの名無しさん
23/06/03 10:34:44.84 hgrjzBME.net
プログラムわかってないやつがいきなりの攻撃性を発揮するのガイジっぽくていいね

379:デフォルトの名無しさん
23/06/03 16:01:42.94 f1mb9frl.net
>>374
ランタイムAPIwwww
こっち見とけ
URLリンク(docs.nvidia.com)

380:デフォルトの名無しさん
23/06/10 08:16:47.35 gJM3u8Zc.net
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>>>();
}

381:デフォルトの名無しさん
23/06/10 08:17:55.93 gJM3u8Zc.net
つづき
ホスト側からcuda用のエントリポイント cuda_main()を一つ起動して
そこで計算に必要なgpuメモリをnew/mallocで確保
delete/freeもしくはデストラクタでメモリ解放してほとんどふつーのC++プログラム作成
エントリポイントとなるcuda_mainスレッドを一つ起動するだけでほぼgpu側だけで閉じたふつーのc++コードになる
gpuが計算した結果をどー出力するか?ってのはあるんだが、
__global__関数内のprintfが標準出力にちゃーんと出力してくれる
つまり、 リダイレクトでファイルに落とせる
コマンドラインから
> cuda_program.exe >> file.dat
て感じ

382:デフォルトの名無しさん
23/06/10 08:20:34.56 gJM3u8Zc.net
つづき
こういうコードスタイルにすることで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があっても上のようなコードは書けない

383:デフォルトの名無しさん
23/06/10 10:12:15.01 5lxShvGN.net
>>380
同じstream使ってんのにいちいちそんなところで同期してたら効率悪くね?

384:デフォルトの名無しさん
23/06/10 11:53:19.12 Y9DL3tjK.net
まだやってたのかよw>>365

385:デフォルトの名無しさん
23/06/16 10:37:03.14 VMczRTMU.net
>>383
いちいちも何も
 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側に制御戻す必要なく処理速度が落ちるわけじゃない.
それどころかはるかにプログラムの見通しもよくなるんだから

386:デフォルトの名無しさん
23/06/16 20:00:03.41 duxPCvpi.net
丸々一ヶ月経ってもまだ躓いてるのかw
せっかくアドバイス貰っても理解する気がないならしょうがないな。

387:デフォルトの名無しさん
23/06/16 23:41:50.06 T6+41XgS.net
>>385
dynamic parallelismがどうたらイキってた輩が実はstreamすらろくに理解していなかったという

388:デフォルトの名無しさん
23/06/17 09:32:02.85 6mG7lpSl.net
そもそもShared Memoryが云々の話とこれ全く関係ないし、unique_ptrがどうとか誰も聞いてないし、ただイキってクソコード書いてるnoobにしか見えん

389:デフォルトの名無しさん
23/06/30 06:45:59.93 HGq0NS3h.net
>>387
streamてCPUとGPUの協調のこと言ってるの?
協調はこの際,まったく関係ないんだが,
CPUからGPUに制御を移して完全にCPUとは分離する話をしてんの
そのほうが遥かにプログラムが楽に簡潔に書けるからそれを言ってる.
GPUのほうが8倍から1桁速度が速いので実験的な計算ならこれで十分な速度が得られる
CPUとの協調とか難しいプログラムを書くんじゃなく
GPUだけで計算を完結させるためにDynamic Parallelismを使う
Dynamicに並列化したいわけじゃなくGPUのプロセスを一つ立ち上げたいためにそれを使う

390:デフォルトの名無しさん
23/06/30 06:53:13.13 HGq0NS3h.net
>>386
何のアドバイス?ww
GPUプロセスの中で全プロセスどうやってwaitするのさw
ま, cudaのユーザサイトには代替案とか書いてる人いるよ
cudaDeviceSynchronize()と比較して速度は期待できないが一応使える.
せめてそれぐらいのアドバイスできるようになってから言いな.
俺のようなコード書いてGPUプロセスの中からcudaDeviceSynchronize()コールしてるユーザは一定数いるってこった
どーせ__global__でnew/deleteふつーに使えること知らんかったんだろお前ww

391:デフォルトの名無しさん
23/06/30 07:16:01.83 HGq0NS3h.net
>>388
誰も聞いてないunique_ptrて
CPU側でGPUのマルチスレッド実体を起動しようとすると,
GPU内部でしか利用しないローカルメモリまでCPUから管理する羽目になる
そのときcudamalloc/cudafreeなんか使ってたんじゃメモリ管理が大変で,
gpu::unique_ptrでも作らないとCコード書いてるのと変わらんことになるから言ってる
そんなことせずとも__global__でnew/deleteがデフォで使えるんだからメモリ管理はC++03並には書ける
__global__でnew/deleteを使ってGPUだけで完結処理するには
親スレッドの__global__内で子スレッドの待ち合わせ処理がどうしても必要になる場合があるから言ってる
できるもんなら>>380のcudaDeviceSynchronize(); を同等処理に置き換えてみ
あ, すでに cudaのユーザーサイトに投稿してる人が居るんで探せばしまいだけどねww

392:デフォルトの名無しさん
23/06/30 08:24:20.23 pBAX8tCp.net
俺はCUDA使ったこと無いんだけど
>__global__でnew/deleteを使ってGPUだけで完結処理
これって思い込みじゃねえかなあ

393:デフォルトの名無しさん
23/06/30 11:03:40.92 HGq0NS3h.net
>>392
作ったことないんだろww
こっちは書いてるから言ってる.
>>380を見ろ
この構成の場合がそれに該当する
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しか使えないけどな.

394:デフォルトの名無しさん
23/06/30 11:07:50.35 HGq0NS3h.net
>>392
ウソだと思うなら,>>380のコードを実際cudaでコンパイルして確認してみろや
実際__global__内でnew/malloc使えて__global__から__global__を起動できることだけがポイントなんだから
ちなみに, dynamic parallelismサポートしてないような古いグラボは使用禁止な.

395:デフォルトの名無しさん
23/06/30 11:38:34.15 HGq0NS3h.net
>>392
new/deleteが__global__内でふつーに使えるってことなら
cuda c programming guide 最新版の
7.34. Dynamic Global Memory Allocation and Operations

どっちが思い込みかね?ww

396:デフォルトの名無しさん
23/06/30 18:28:44.41 h/tbEWPQ.net
もしかしてNVIDIAのフォーラムでモデレータに I’m confused とか言われてんのコイツ?

397:デフォルトの名無しさん
23/06/30 22:03:38.67 nvcNe2IT.net
炎上学習法かとも思ったが全然学習してる素振りもないのよなあ
>streamてCPUとGPUの協調のこと言ってるの?
ちょっとはググるなりしたらどうかね
> body1<<< Ki, Ki >>> ( idata, odata1 ); //マルチスレッド実体
> cudaDeviceSynchronize();
> body2<<< Ki, Ki >>> ( odata1, odara2 ); //マルチスレッド実体
body1とbody2は同じstreamだから基本的にそんなところにsynchronizeはいらんのよ

398:デフォルトの名無しさん
23/06/30 22:07:49.01 nvcNe2IT.net
>そのときcudamalloc/cudafreeなんか使ってたんじゃメモリ管理が大変で,
これも意味不明だなあ
malloc/freeと比べてどう大変だと言うんだろう

399:デフォルトの名無しさん
23/06/30 23:46:28.63 lTu2cFop.net
病気の人に関わってもいいことないですよ

400:デフォルトの名無しさん
23/07/02 11:33:55.45 ZzvN3CPt.net
同期オブジェクトが出てないんだから、そりゃシリアルに動くやろうなあ
CUDA知らん

401:デフォルトの名無しさん
23/07/02 14:47:53.06 tUgy2gS2.net
>>396
ゲラゲラ
それどこだよww
お前のプロファイル推定正しいかどうか見てから発表してやるよ
さらせよソコをよww
>>397
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も読んどけよ
コロコロ変わるデフォのコンパイルオプションに頼るお前

>>398
freeが毎回書いてられないといってるわけ. それとcudafreeが同じなのは当たり前な
だからホスト側ではgpu用のgpu::unique_ptrとかユーザ側でこさえてるんだろが.
これを書いてるサイトはいくらでもある.
__global__内ではこういうmake_uniqueは動かないのでc++11レベルでは書けないが,
普通にnew/deleteやC++03レベルのデストラクタが動作するので,
ホスト側でgpuのローカルメモリの解放を手でやらかすよりよほど楽だと言ってるのだよ.

402:デフォルトの名無しさん
23/07/02 19:20:21.21 nj7sKJew.net
>>401
いや、それストリーム間の同期の話であって同じストリームに投入したカーネルの実行の話とは関係ないんだが。
いろいろ検索したりしたんだろうけどここ勘違いするようなレベルでイキりまくられても。
もともとは cudaDeviceSynchronize がデバイス上で非推奨になるんで代替策をどうするかって話だったと思うけど、
「自分は間違ってない」と強弁するだけならそりゃ2ヶ月近く解決しないわけだわ。

403:デフォルトの名無しさん
23/10/20 12:42:50.23 /M3RKJCH.net
NVIDIA中國から撤退

404:デフォルトの名無しさん
23/12/07 06:26:05.21 R1AO2r8W.net
PCくそど初心者で、オーディオをやっている者です。

現在PC(linux)でHQplayerというソフトで音楽ききてます。

そのPCにグラボ刺したら音質上がるなんてガセネタつかまされたんで、騙されてみようと思うのですが、その際CUDAの設定しないとGPUが使われないということのようなのです。

調べたら、ドライバー、ツールキット、cuDNNの3つをインストールするみたいなのですが、最後のcuDNNの意味がわかりません。

有識者の方、どうかご教授下さい!

405:デフォルトの名無しさん
23/12/10 12:43:06.09 9z8kD1aM.net
>>404
他人の作った何をやっているかわからないプログラムを使うより
音とプログラミングとCUDAについて勉強して
自分で音質を上げるプログラムを作ったほうがよいと思うよ。
本屋とかアマゾンでそういう専門書も探せば見つかるでしょ。

406:デフォルトの名無しさん
23/12/13 06:47:58.97 YKWD9gfa.net
>>405
398です。
なるほど、そういう方法もあるのですね。
自分で勉強してプログラムのことまで理解するなんて大変そうですが、根本を理解していないと使う意味ないですもんね。
大変そうですが、チャレンジしてみます。
ありがとうございました。

407:デフォルトの名無しさん
24/01/13 07:53:38.21 Ce28ohDx.net
RTX4090よりA4000をおすすめしてる所がありますが、これは長期稼働の安定性と低消費電力が理由でしょうか。

lstmで出来るだけ早く学習させたいのですが4090の方が早そうですがいかがですか。

408:デフォルトの名無しさん
24/03/14 19:33:05.60 LpPl9eeZ.net
自己解決
webページ作成者に聞いた
4090の方が速いが、例えば3時間が4時間になったところでたいした違いはないでしょうとか
いくつものパターンを試したいので少しでも早いものをってことで4090を買った


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch