このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
CUDA使いが優しくコメントを返しますが、
お礼はCUDAの布教と初心者の救済をお願いします。
CUDA・HomePage
ttp://developer.nvidia.com/category/zone/cuda-zone
関連スレ
GPGPU#5
ttp://peace.2ch.net/test/read.cgi/tech/1281876470/l50
前スレ
【GPGPU】くだすれCUDAスレ【NVIDIA】
ttp://pc12.2ch.net/test/read.cgi/tech/1206152032/
【GPGPU】くだすれCUDAスレ pert2【NVIDIA】
ttp://pc12.2ch.net/test/read.cgi/tech/1254997777/
【GPGPU】くだすれCUDAスレ pert3【NVIDIA】
ttp://hibari.2ch.net/test/read.cgi/tech/1271587710/
【GPGPU】くだすれCUDAスレ pert4【NVIDIA】
ttp://hibari.2ch.net/test/read.cgi/tech/1291467433/
【GPGPU】くだすれCUDAスレ part5【NVIDIA】
http://toro.2ch.net/test/read.cgi/tech/1314104886/
【GPGPU】くだすれCUDAスレ part6【NVIDIA】
ttp://peace.2ch.net/test/read.cgi/tech/1348409867/
【GPGPU】くだすれCUDAスレ part7【NVIDIA】 [転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2014/11/20(木) 23:14:46.66ID:jr3oZn27
698デフォルトの名無しさん
2016/02/25(木) 20:58:58.26ID:qdgy2oNb 誰だよイカスミって
699デフォルトの名無しさん
2016/02/25(木) 23:01:45.88ID:OUVaT1r5 nvidia ってC++AMPって力いれてるの?
CUDAが主力なのはわかるんだが。
OpenMPのようにC++AMPがいいところまでいってからtoolkitにマージするつもりなのか
それともC++AMPが自然消滅するのを待っているのかわからん。
CUDAが主力なのはわかるんだが。
OpenMPのようにC++AMPがいいところまでいってからtoolkitにマージするつもりなのか
それともC++AMPが自然消滅するのを待っているのかわからん。
700デフォルトの名無しさん
2016/02/25(木) 23:56:26.32ID:y8R9vLq22016/02/25(木) 23:58:06.25ID:VFYZCeUD
C++ AMPは事実上終了したよ
MSはいまNVIDIA ThrustをベースにしたParrarel STLに注力中
MSはいまNVIDIA ThrustをベースにしたParrarel STLに注力中
2016/02/26(金) 00:00:42.44ID:au4AtN7W
Pallarel STLね
703デフォルトの名無しさん
2016/02/26(金) 00:04:42.12ID:sfGjrhZB >>693
NVはC++AMPとか言うより倍精度をボリュームゾーンから外しにかかってるな
Pascalには全く期待できんよ
IBMの場合は大口契約だから安く調達するだろうけど、それだけ
いずれGPGPU用(テスラ)は値段を上げざるを得ないだろうなあ
NVはC++AMPとか言うより倍精度をボリュームゾーンから外しにかかってるな
Pascalには全く期待できんよ
IBMの場合は大口契約だから安く調達するだろうけど、それだけ
いずれGPGPU用(テスラ)は値段を上げざるを得ないだろうなあ
704デフォルトの名無しさん
2016/02/26(金) 00:18:06.49ID:XrDeqd+8 それなら死んでないでしょう。
スラストがCUDA用のライブラリと同様に
C++AMPで使うためのものだろうから。
スラストがCUDA用のライブラリと同様に
C++AMPで使うためのものだろうから。
2016/02/26(金) 00:46:50.10ID:au4AtN7W
Pallarel STLのバックエンドはC++AMPに限らずOpenACCやOpenMP(4.0), TBBでもいい
NVIDIAが推してるのはOpenACC, IntelはOpenMP
NVIDIAが推してるのはOpenACC, IntelはOpenMP
706デフォルトの名無しさん
2016/02/26(金) 00:49:09.70ID:jDU7chRF707デフォルトの名無しさん
2016/02/26(金) 01:09:31.01ID:puLBdTvq >>702
ミス指摘してさらにひどくミスすんなって
ミス指摘してさらにひどくミスすんなって
2016/02/26(金) 01:13:08.03ID:au4AtN7W
parallelサーセンwwwww
709デフォルトの名無しさん
2016/02/26(金) 01:36:18.43ID:1N9hBdg9 >>703
最初の頃のテスラは円高もあり、20万位だったが、いまじゃ80万くらいになってもうた。まあA30とかは120万くらいしたんだけど。
最初の頃のテスラは円高もあり、20万位だったが、いまじゃ80万くらいになってもうた。まあA30とかは120万くらいしたんだけど。
710デフォルトの名無しさん
2016/02/26(金) 01:38:37.56ID:XrDeqd+8711デフォルトの名無しさん
2016/02/26(金) 01:42:47.55ID:XrDeqd+8712デフォルトの名無しさん
2016/02/26(金) 03:40:06.50ID:VdCPJ0Vc713デフォルトの名無しさん
2016/02/26(金) 05:22:49.16ID:YzxqLjh+ nvはpgi買収してopenaccのコンパイラも力入れてるよ
doeのエクサスケールで使うのもcudaじゃなくてopenaccだし
doeのエクサスケールで使うのもcudaじゃなくてopenaccだし
714デフォルトの名無しさん
2016/02/26(金) 05:38:13.56ID:mUz9Cfpw 「,,・´∀`・,,)っ-○○○」って鳥屋氏でしょ。
悪いけどここに同じレベルの人はいないんじゃない。
悪いけどここに同じレベルの人はいないんじゃない。
715デフォルトの名無しさん
2016/02/26(金) 07:10:07.81ID:VdCPJ0Vc 何のレベル?
716デフォルトの名無しさん
2016/02/26(金) 08:03:13.43ID:lqbLzerX イカスミが同レベル
どっちも要らない
どっちも要らない
717デフォルトの名無しさん
2016/02/26(金) 08:04:45.81ID:VdCPJ0Vc 鳥屋氏ってだ〜れ?
718デフォルトの名無しさん
2016/02/26(金) 11:35:24.33ID:J+QrFB1k NVの工作員
GPGPUはVLIW時代のATIGPUを持ち出してネガキャン
GPGPUはVLIW時代のATIGPUを持ち出してネガキャン
719デフォルトの名無しさん
2016/02/27(土) 13:53:00.79ID:VbYYT6/A 鳥屋でググるとこれが出てきた
http://potato.2ch.net/test/read.cgi/software/1205766220/
http://potato.2ch.net/test/read.cgi/software/1205766220/
2016/02/27(土) 19:58:40.83ID:WSIY1iVq
俺がいてもいなくてもCUDAプログラミングの話ができない無能集団のスレ
721デフォルトの名無しさん
2016/02/27(土) 20:22:31.94ID:VXpwyn8O 囲碁ソフトにディープラーニングが使われ始めてるんだが、
CUDA対応ソフトもそろそろ来るかもしれん。
一般人にも身近な技術になるかもね。
CUDA対応ソフトもそろそろ来るかもしれん。
一般人にも身近な技術になるかもね。
2016/02/27(土) 20:27:20.16ID:WSIY1iVq
そのうち教えられたことだけしかコーディングできないクソPGもAIにとって代わられるんだろうな
723デフォルトの名無しさん
2016/02/27(土) 22:07:54.84ID:unQVppL1 なるほど糞団子が嫌われるわけだ
724デフォルトの名無しさん
2016/02/27(土) 22:34:12.86ID:VbYYT6/A 鳥屋ってただのサンデープログラマーだからな
知ったか決めてりゃ嫌われる
知ったか決めてりゃ嫌われる
725デフォルトの名無しさん
2016/02/27(土) 23:58:13.35ID:Fq+Tn6zB726デフォルトの名無しさん
2016/02/28(日) 00:21:01.28ID:4gv2LXai2016/02/28(日) 00:32:14.81ID:5Pz55yFT
君はその名前欄に●入れてそのまま表示されるか試したことがあるかい?
2016/02/28(日) 00:34:20.80ID:lm9zk8qN
テスト
729デフォルトの名無しさん
2016/02/28(日) 00:34:46.41ID:lm9zk8qN むう、表示されんのう
730デフォルトの名無しさん
2016/02/28(日) 00:53:04.73ID:4gv2LXai 別人なのか?
,,・´∀`・,,)っ-○◎●
が持っているのは焼き鳥
で
,,・´∀`・,,)っ-○○○
が持っているのは団子
ということか
,,・´∀`・,,)っ-○◎●
が持っているのは焼き鳥
で
,,・´∀`・,,)っ-○○○
が持っているのは団子
ということか
731デフォルトの名無しさん
2016/02/28(日) 00:58:05.10ID:9kjNwUs3 鳥屋氏が両方つかってるの見たことあるから本人なんじゃない?
732デフォルトの名無しさん
2016/02/28(日) 01:03:49.87ID:4gv2LXai なら、次は,,・´∀`・,,)っ-○◎● で書き込んでくれるな
733デフォルトの名無しさん
2016/02/28(日) 01:06:06.88ID:9kjNwUs3 っていうか●が名前欄に使えなくなった経緯も知らないんじゃ、鳥屋氏のことを知らなくても無理は無いね。
734デフォルトの名無しさん
2016/02/28(日) 01:17:52.65ID:4gv2LXai735デフォルトの名無しさん
2016/02/28(日) 01:18:45.52ID:TGNAvpkz 糞団子がどんなコード書くか知らんけど、弾道計算の件でシドロモドロになった事実は消えんぞ
所詮その程度の知的レベル
所詮その程度の知的レベル
736デフォルトの名無しさん
2016/02/28(日) 01:43:25.37ID:9IJglbed >>713
速度自体は生でcudaやったほうが速いらしいから
これは開発効率を優先してPGIなのかね?
あるいは現時点ではいまいちでも今後の成長を鑑みてとかさ
さすがにdod,doeでも世代ごとのコード書き換えは負担なんだろうか
速度自体は生でcudaやったほうが速いらしいから
これは開発効率を優先してPGIなのかね?
あるいは現時点ではいまいちでも今後の成長を鑑みてとかさ
さすがにdod,doeでも世代ごとのコード書き換えは負担なんだろうか
737デフォルトの名無しさん
2016/02/28(日) 01:50:50.47ID:9IJglbed キャッシュの増量やシャッフルIA、HyperQ,DP等を全部こみこみで考えると
1コアあたりの実効性能(flaot)はfermi, keplar, maxwellと上がってると考えていいのかね?
flops/core/clockではなくてflops/coreという意味で、かつ理論値での比較ではなくていかに実測値がでるかという意味で。
1コアあたりの実効性能(flaot)はfermi, keplar, maxwellと上がってると考えていいのかね?
flops/core/clockではなくてflops/coreという意味で、かつ理論値での比較ではなくていかに実測値がでるかという意味で。
2016/02/28(日) 02:02:26.76ID:5Pz55yFT
俺は中村氏じゃねーから
2016/02/28(日) 02:05:54.35ID:5Pz55yFT
2009年当時なら団子はやっぱり団子だったぜ?
http://www.openwall.com/john/doc/CREDITS.shtml
当時書いてたのも別に変態的でもない普通のCコードですけどね
http://download.openwall.net/pub/projects/john/contrib/bitslice-des/dango.chu.jp/
http://www.openwall.com/john/doc/CREDITS.shtml
当時書いてたのも別に変態的でもない普通のCコードですけどね
http://download.openwall.net/pub/projects/john/contrib/bitslice-des/dango.chu.jp/
740デフォルトの名無しさん
2016/02/28(日) 03:07:32.07ID:9kjNwUs3741デフォルトの名無しさん
2016/02/28(日) 09:32:39.66ID:kqHim0z9 やっぱり団子って複数人いるよね?
すごく詳しい話をするとおもったら、なんか急に低レベルだったり、
てにをはが変わったりする。
すごく詳しい話をするとおもったら、なんか急に低レベルだったり、
てにをはが変わったりする。
742デフォルトの名無しさん
2016/02/28(日) 09:40:16.99ID:uncqUlBQ たまに二人の団子が会話することもあるぞ
2016/02/28(日) 11:21:05.00ID:5Pz55yFT
> あれ、中村氏もそのAAつかってなかったっけ?
なにそれ見たことない
なにそれ見たことない
744デフォルトの名無しさん
2016/02/28(日) 11:43:53.32ID:F3rkrfCl 結局鳥屋が馬鹿団子の振りしてるだけかもだが、詐欺の天才は結局馬鹿より有害
NVのやる事は何でもマンセーではスレ汚しとしか言いようがない
CS機をAMDが独占したからNVは倍精度に手を出せなくなった、と言うといつも発狂
これでは冷静な議論が出来ない
NVのやる事は何でもマンセーではスレ汚しとしか言いようがない
CS機をAMDが独占したからNVは倍精度に手を出せなくなった、と言うといつも発狂
これでは冷静な議論が出来ない
745デフォルトの名無しさん
2016/02/28(日) 11:46:36.13ID:1t5d585j おまえはcuda関係ないんだからくるなよ
かまってちゃん
かまってちゃん
2016/02/28(日) 11:51:31.77ID:5Pz55yFT
そっち界隈しばらくチェックしてなかったけど海外のハカー面白いことやってるね。
ちょうどCUDAに特化した話題だ。
MaxwellのLOP3.LUT命令を使ったビット演算の高速化テクニックについて興味ある人は
一度この講演ビデオ観ておくといいと思う。
http://www.irongeek.com/i.php?page=videos/passwordscon2014/bitslice-des-with-lop3lut-steve-thomas
実際問題AVX-512のvpternlogもLOP3.LUTと引数互換なんだわ
ぶっちゃけソース置換するだけで移植可能
ちょうどCUDAに特化した話題だ。
MaxwellのLOP3.LUT命令を使ったビット演算の高速化テクニックについて興味ある人は
一度この講演ビデオ観ておくといいと思う。
http://www.irongeek.com/i.php?page=videos/passwordscon2014/bitslice-des-with-lop3lut-steve-thomas
実際問題AVX-512のvpternlogもLOP3.LUTと引数互換なんだわ
ぶっちゃけソース置換するだけで移植可能
747デフォルトの名無しさん
2016/02/28(日) 12:03:43.36ID:F3rkrfCl >>745
鳥屋=糞団子!テメエこそCUDAの何が分かるんだボケ!
鳥屋=糞団子!テメエこそCUDAの何が分かるんだボケ!
748デフォルトの名無しさん
2016/02/28(日) 12:06:45.18ID:1t5d585j ハイハイお薬の時間でちゅよ
749デフォルトの名無しさん
2016/02/28(日) 12:18:13.04ID:F3rkrfCl 単発のお時間がきまちゅたね〜
鳥屋=糞団子が自作板からこっちのスレの巡回時間が来たみたいw
本当に鳥屋が使える天才なら2ちゃん談義なんかしねえな
10年前ならゲーム業界か、少し前なら京に関わるか
或いはアメリカでイラン向けバックドアを仕掛けるお仕事か…
どっちにしろヒマを持て余すようではお里は知れてる
鳥屋=糞団子が自作板からこっちのスレの巡回時間が来たみたいw
本当に鳥屋が使える天才なら2ちゃん談義なんかしねえな
10年前ならゲーム業界か、少し前なら京に関わるか
或いはアメリカでイラン向けバックドアを仕掛けるお仕事か…
どっちにしろヒマを持て余すようではお里は知れてる
750デフォルトの名無しさん
2016/02/28(日) 12:24:17.80ID:1t5d585j ハイハイお部屋に戻りましょうねぇ
2016/02/28(日) 12:37:00.70ID:5Pz55yFT
https://community.amd.com/thread/197348
AMDのGPUにはLOP3.LUT相当の命令がないことにユーザーからも不満が噴出しているようです
AMDのGPUにはLOP3.LUT相当の命令がないことにユーザーからも不満が噴出しているようです
752デフォルトの名無しさん
2016/02/28(日) 12:44:20.68ID:F3rkrfCl 単発でも見事につられまちゅね〜wwwww
団子=鳥屋ちゃんピンチでちゅね〜wwwwww
団子=鳥屋ちゃんピンチでちゅね〜wwwwww
753デフォルトの名無しさん
2016/02/28(日) 12:51:25.16ID:1t5d585j ハイハイご飯時間ですよおじぃちゃん
754デフォルトの名無しさん
2016/02/29(月) 16:54:00.73ID:XMRi5hV6 なんだかすごく質問しにくい流れなんですがいいですか?
バイトニックソートのプログラムを作ってみまして、
要素数512を境にGPUの方が速くなったのは良かったんですが、
要素数8192くらいからGPUの時間増加の傾きがCPUより悪化してしまって、
1048576ともなるとほとんど大差ないくらいになってしまいました。
これが普通なのか、おかしいのか、
おかしいなら原因として何がありそうか教えてほしいです。
一応可能なところはshared memory使ってますが、要素数256以降は
比較の組がとびとびになるはずなのでglobal memoryを直接読んでます。
以下、ソートを10000回繰り返した際の1回あたりの所要時間です。
要素数 CPU[s] GPU[s] CPU/GPU
2 0.00000 0.00004 0.004
4 0.00000 0.00005 0.008
8 0.00000 0.00005 0.011
16 0.00000 0.00006 0.020
32 0.00000 0.00007 0.036
64 0.00001 0.00008 0.099
128 0.00002 0.00009 0.229
256 0.00005 0.00010 0.522
512 0.00013 0.00013 1.027
1024 0.00031 0.00016 1.909
2048 0.00076 0.00025 2.975
4096 0.00179 0.00036 4.919
8192 0.00423 0.00068 6.248
16384 0.00933 0.00202 4.627
32768 0.02142 0.00637 3.363
65536 0.04903 0.01776 2.761
131072 0.10829 0.05003 2.165
262144 0.24928 0.13078 1.906
524288 0.54765 0.32437 1.688
1048576 1.22586 0.77101 1.590
バイトニックソートのプログラムを作ってみまして、
要素数512を境にGPUの方が速くなったのは良かったんですが、
要素数8192くらいからGPUの時間増加の傾きがCPUより悪化してしまって、
1048576ともなるとほとんど大差ないくらいになってしまいました。
これが普通なのか、おかしいのか、
おかしいなら原因として何がありそうか教えてほしいです。
一応可能なところはshared memory使ってますが、要素数256以降は
比較の組がとびとびになるはずなのでglobal memoryを直接読んでます。
以下、ソートを10000回繰り返した際の1回あたりの所要時間です。
要素数 CPU[s] GPU[s] CPU/GPU
2 0.00000 0.00004 0.004
4 0.00000 0.00005 0.008
8 0.00000 0.00005 0.011
16 0.00000 0.00006 0.020
32 0.00000 0.00007 0.036
64 0.00001 0.00008 0.099
128 0.00002 0.00009 0.229
256 0.00005 0.00010 0.522
512 0.00013 0.00013 1.027
1024 0.00031 0.00016 1.909
2048 0.00076 0.00025 2.975
4096 0.00179 0.00036 4.919
8192 0.00423 0.00068 6.248
16384 0.00933 0.00202 4.627
32768 0.02142 0.00637 3.363
65536 0.04903 0.01776 2.761
131072 0.10829 0.05003 2.165
262144 0.24928 0.13078 1.906
524288 0.54765 0.32437 1.688
1048576 1.22586 0.77101 1.590
755デフォルトの名無しさん
2016/02/29(月) 17:56:37.64ID:+ARXUC0S 鳥屋、答えてやれよ
2016/02/29(月) 23:54:40.69ID:72g2TQWh
>>755
バードショップ氏と話しがしたいなら @chapuni に凸ってきたら?
バードショップ氏と話しがしたいなら @chapuni に凸ってきたら?
2016/03/01(火) 00:01:36.14ID:9XwMWslZ
バイトニックソートはキャッシュメモリで収まる範囲内の小さなデータ集合に対して有効
サイズが大きくなるとGPUのローカルメモリから外れて大幅にパフォーマンスが落ちる
CPUのほうが低レイテンシ・大容量のキャッシュ積んでる分だけ有利になるわけだ
CPUのキャッシュに収まらない量になれば再びGPUのほうが上回るはずだ
まあそのレベルに達する段階でO(n log n)のソートの検討の余地があるが
サイズが大きくなるとGPUのローカルメモリから外れて大幅にパフォーマンスが落ちる
CPUのほうが低レイテンシ・大容量のキャッシュ積んでる分だけ有利になるわけだ
CPUのキャッシュに収まらない量になれば再びGPUのほうが上回るはずだ
まあそのレベルに達する段階でO(n log n)のソートの検討の余地があるが
758デフォルトの名無しさん
2016/03/01(火) 00:02:13.26ID:epSXE3Ge759デフォルトの名無しさん
2016/03/01(火) 00:33:31.30ID:k65RqU8V 質問者がシェアードメモリって言ってるのにキャッシュとかいい加減なこと言ってる
シェアードメモリに言及しないなんてあり得ない
そもそもCUDA使ったことないんだろうな
やっぱ糞団子は低レベルだな
シェアードメモリに言及しないなんてあり得ない
そもそもCUDA使ったことないんだろうな
やっぱ糞団子は低レベルだな
2016/03/01(火) 00:41:11.27ID:9XwMWslZ
2016/03/01(火) 00:46:09.76ID:9XwMWslZ
GPUについてはどっちにも解せる「ローカルメモリ」と言い換えてる
ちゃんと読めない子は呼吸を止めて1秒あなた新鮮だけど煮魚
ちゃんと読めない子は呼吸を止めて1秒あなた新鮮だけど煮魚
762デフォルトの名無しさん
2016/03/01(火) 12:21:21.56ID:/z3eDKB8763デフォルトの名無しさん
2016/03/01(火) 12:24:00.41ID:CYOvNsDD ケンタッキーフライドチキンがどうしたって
2016/03/01(火) 12:31:48.31ID:iam2QPf0
GMにマッピングされたメモリは一定の局所性があればキャッシュにマッピングされる
常識が通じないバカが勝手に自爆してるな
常識が通じないバカが勝手に自爆してるな
765754
2016/03/01(火) 15:10:24.97ID:oQoWs5hY >>757
キャッシュメモリ……
すいません、当方キャッシュについては不勉強でして、よくわかってません。
多分L1とかL2とか書いてあるやつだと思うのですが、手元の参考書が古い(6年前)もので……。
DeviceQueryだとL2 Cache Size: 524288 bytes って出るのでこれでしょうか。
Total amount of shared memory per block: 49152 bytes とか
Total number of registers available per block: 65536 とかもあります。
英語版Wikiの平均計算時間O(log(n)^2)parallel timeもよくわかってなかったりします。
log(n^2)なのか(log n)^2なのかよくわからんとです。
>>758
倍精度だと性能がうんたらとややこしかったので、単精度整数のソートなんです。
正確には同サイズの単精度整数配列2つを作り、
片方を基準にソートして、もう片方を一緒に並び替えてます。
構造体にしてもいいんですが、一緒に並び替えたほうだけが後々必要なデータでして。
最終的にはソートした結果を使って色々処理するためのプログラムなんですが、
現状だとこのソートで全体の8割くらい時間食っちゃってるんですよね。
ソートしなかったらもっと遅い(というかO(n^2)になる)ので無意味ってわけでもないんですが。
忘れてましたがGeForce GTX 760を使ってます。
以前機会があったので、別のGPU(GTX570だった気がする)でほぼ同じ計算させてみたこともあるんですが、
そっちだともっとマシでした。CPUより確実に速い、と胸を張って言えるくらい。
スペックの違いを加味しても、うちのGPUだけ下手したらCPUより遅いってのも変だなあ、と。
キャッシュメモリ……
すいません、当方キャッシュについては不勉強でして、よくわかってません。
多分L1とかL2とか書いてあるやつだと思うのですが、手元の参考書が古い(6年前)もので……。
DeviceQueryだとL2 Cache Size: 524288 bytes って出るのでこれでしょうか。
Total amount of shared memory per block: 49152 bytes とか
Total number of registers available per block: 65536 とかもあります。
英語版Wikiの平均計算時間O(log(n)^2)parallel timeもよくわかってなかったりします。
log(n^2)なのか(log n)^2なのかよくわからんとです。
>>758
倍精度だと性能がうんたらとややこしかったので、単精度整数のソートなんです。
正確には同サイズの単精度整数配列2つを作り、
片方を基準にソートして、もう片方を一緒に並び替えてます。
構造体にしてもいいんですが、一緒に並び替えたほうだけが後々必要なデータでして。
最終的にはソートした結果を使って色々処理するためのプログラムなんですが、
現状だとこのソートで全体の8割くらい時間食っちゃってるんですよね。
ソートしなかったらもっと遅い(というかO(n^2)になる)ので無意味ってわけでもないんですが。
忘れてましたがGeForce GTX 760を使ってます。
以前機会があったので、別のGPU(GTX570だった気がする)でほぼ同じ計算させてみたこともあるんですが、
そっちだともっとマシでした。CPUより確実に速い、と胸を張って言えるくらい。
スペックの違いを加味しても、うちのGPUだけ下手したらCPUより遅いってのも変だなあ、と。
766デフォルトの名無しさん
2016/03/01(火) 15:16:26.28ID:oDNKlTv2767デフォルトの名無しさん
2016/03/01(火) 20:11:04.94ID:/z3eDKB8 要約すると団子の答えは答えになってない
768754
2016/03/01(火) 21:01:21.25ID:oQoWs5hY >>766
参照先読みました。キャッシュの話だったので自信はありませんが、
Fermi(GX570)世代のキャッシュは容量超えると(多分)通信の速いL1D等に退避されてたけど、
Kepler(GTX760)世代だと通信の遅いglobalに退避されるようになった、ってことですか?
さすがにアーキテクチャの仕様だと自分のスキルじゃ対応できません……。
>>767
答えになってないというか、私の知らない範囲の回答だったんでよくわからなかった感じです。
言ってることは766さんの参照先と多分同じなんだと思います。自信はありませんけど。
で、みなさん改善する方法はないでしょうか……。
大規模計算にウンタラ使うとカンタラがヤバいから避ける、みたいなことありませんか?
オプションにホニャララって追加すれば設定が変わる、とか(実はオプションもよくわかってない)。
大規模の時、キャッシュ代わりにあえてsharedを定義しても意味ないのかな…普通はないよな…
参照先読みました。キャッシュの話だったので自信はありませんが、
Fermi(GX570)世代のキャッシュは容量超えると(多分)通信の速いL1D等に退避されてたけど、
Kepler(GTX760)世代だと通信の遅いglobalに退避されるようになった、ってことですか?
さすがにアーキテクチャの仕様だと自分のスキルじゃ対応できません……。
>>767
答えになってないというか、私の知らない範囲の回答だったんでよくわからなかった感じです。
言ってることは766さんの参照先と多分同じなんだと思います。自信はありませんけど。
で、みなさん改善する方法はないでしょうか……。
大規模計算にウンタラ使うとカンタラがヤバいから避ける、みたいなことありませんか?
オプションにホニャララって追加すれば設定が変わる、とか(実はオプションもよくわかってない)。
大規模の時、キャッシュ代わりにあえてsharedを定義しても意味ないのかな…普通はないよな…
769デフォルトの名無しさん
2016/03/01(火) 22:50:15.99ID:1eMSB1ZO また団子が知ったかぶりをかましたのか!(呆れ)
2016/03/01(火) 22:57:33.44ID:xcdR7XnG
そもそもキャッシュはシェアードメモリの退避先ではなくグローバルメモリの一部の読み書きを高速化するためのもの
シェアードメモリに収まらないデータのソートで遅くなる問題なのでシェアードメモリは全く関係ない
アホが自爆すんなよ
シェアードメモリに収まらないデータのソートで遅くなる問題なのでシェアードメモリは全く関係ない
アホが自爆すんなよ
2016/03/01(火) 23:00:19.76ID:xcdR7XnG
データ全体がキャッシュに収まらない場合はキャッシュローカリティを意識した演算順序の最適化をする
これはCPUでもGPUでも理屈は変わらない
これはCPUでもGPUでも理屈は変わらない
2016/03/02(水) 00:01:12.12ID:Lh/popYV
自分の答えを示さず謂れのないイチャモン付けに必死になる奴ほど
スレにとって邪魔な存在はないね
スレにとって邪魔な存在はないね
773デフォルトの名無しさん
2016/03/02(水) 01:05:18.36ID:WNl5zi/w 団子はレスをまとめることを覚えて
774754
2016/03/02(水) 01:23:35.90ID:n1GLxV/f >>770-771
キャッシュローカリティって何さ…となったので、Google先生に勧められた
wikiの『参照の局所性』を読んで、ちょっとわかった気がします。
自分が作ったバイトニックソートは大規模データの場合、
各threadがほとんど毎回前回と異なる&近傍でもないメモリ参照することになるので
時間的にも空間的にも最適化ができてないみたいです。
ない知恵絞ってif文減らして実質1つにした結果がこれだよ!
あ、いや、thread単位はそうでも、warpとかblock単位で見れば近傍データなのか…?これはバンクの話か…?
実装のややこしさを飲み込めばシェアソートの方が参照の局所性は大きくしやすいのかな…?
まだよくわかってないことが1つありまして、
プログラム上では何万何十万の計算を並列に扱ったとしても、
物理的にはハード側の制限があるわけじゃないですか。
GTX760ならCUDAコア1152基なわけで、一万を並列化しても
実際には同時じゃなくて9回くらいに分けて順に処理する、みたいな。
となると、その9回で各CUDAコアは別のメモリを参照するわけなんですが、
この時前回のキャッシュって残るんでしょうか? 残らない…ですよね?
それともカーネルとしての処理が終わるまでは残るんでしょうか?
はたまたプログラムが終わるまでは念のため残しておく、とか?
キャッシュの利用自体が悪いんじゃなくて、
キャッシュにも収まらないデータ量がよくないってのはわかってるんですが、
なんかこのあたりの理解がまだ曖昧なんです。
キャッシュローカリティって何さ…となったので、Google先生に勧められた
wikiの『参照の局所性』を読んで、ちょっとわかった気がします。
自分が作ったバイトニックソートは大規模データの場合、
各threadがほとんど毎回前回と異なる&近傍でもないメモリ参照することになるので
時間的にも空間的にも最適化ができてないみたいです。
ない知恵絞ってif文減らして実質1つにした結果がこれだよ!
あ、いや、thread単位はそうでも、warpとかblock単位で見れば近傍データなのか…?これはバンクの話か…?
実装のややこしさを飲み込めばシェアソートの方が参照の局所性は大きくしやすいのかな…?
まだよくわかってないことが1つありまして、
プログラム上では何万何十万の計算を並列に扱ったとしても、
物理的にはハード側の制限があるわけじゃないですか。
GTX760ならCUDAコア1152基なわけで、一万を並列化しても
実際には同時じゃなくて9回くらいに分けて順に処理する、みたいな。
となると、その9回で各CUDAコアは別のメモリを参照するわけなんですが、
この時前回のキャッシュって残るんでしょうか? 残らない…ですよね?
それともカーネルとしての処理が終わるまでは残るんでしょうか?
はたまたプログラムが終わるまでは念のため残しておく、とか?
キャッシュの利用自体が悪いんじゃなくて、
キャッシュにも収まらないデータ量がよくないってのはわかってるんですが、
なんかこのあたりの理解がまだ曖昧なんです。
775754
2016/03/02(水) 01:46:45.38ID:n1GLxV/f だらだら長文書いたわりに今自分の気になることからは逆に離れた気がする。
手っ取り早く要約すると、CPU↔メモリ(キャッシュ)の速度は
CUDAコア↔各種メモリの速度のどの当たりに相当するのか、でしょうか?
GPU内ならレジスタ>shared(キャッシュ)>globalの順で速いとかは聞きますけど、
もう一歩踏み込んで『この不等号の列に割り込ませるなら』CPUの速度はこのあたり、という指標が見つからないんですよね。
もちろん機種によって千差万別だとは思いますが、
傾向としてはこのくらいかなあ、みたいな話でもいいので教えていただけたら幸いです。
あ、もちろん>>774の質問も答えていただけると助かります。
キャッシュがよくわかってないのも確かなので。
手っ取り早く要約すると、CPU↔メモリ(キャッシュ)の速度は
CUDAコア↔各種メモリの速度のどの当たりに相当するのか、でしょうか?
GPU内ならレジスタ>shared(キャッシュ)>globalの順で速いとかは聞きますけど、
もう一歩踏み込んで『この不等号の列に割り込ませるなら』CPUの速度はこのあたり、という指標が見つからないんですよね。
もちろん機種によって千差万別だとは思いますが、
傾向としてはこのくらいかなあ、みたいな話でもいいので教えていただけたら幸いです。
あ、もちろん>>774の質問も答えていただけると助かります。
キャッシュがよくわかってないのも確かなので。
2016/03/02(水) 01:48:15.90ID:Lh/popYV
後続の処理が走ってもデータが保持されるかどうか?
これについては実装依存としかいいようがない
なにせGPUはCPUと比べてもキャッシュの容量は小さいので
いつまでも今処理してないデータを保持し続ける理由も乏しい。
処理順序の並べ替えが可能なら、データアクセスの局所性に合わせて並べ替えることをお勧めする。
これについては実装依存としかいいようがない
なにせGPUはCPUと比べてもキャッシュの容量は小さいので
いつまでも今処理してないデータを保持し続ける理由も乏しい。
処理順序の並べ替えが可能なら、データアクセスの局所性に合わせて並べ替えることをお勧めする。
777デフォルトの名無しさん
2016/03/02(水) 15:13:17.26ID:XnY+JUNw この会話を分かりやすく噛み砕くとこういう感じか
754
GPUの並列化の最適化を教えてください
団子
シェアードメモリーガー
754
あの…ですからデータの並列化を…
団子
データアクセスの局所性ガー
754
・・・・(その並び替えが分からないんだけどなー)・・・・まあいいです
754
GPUの並列化の最適化を教えてください
団子
シェアードメモリーガー
754
あの…ですからデータの並列化を…
団子
データアクセスの局所性ガー
754
・・・・(その並び替えが分からないんだけどなー)・・・・まあいいです
778デフォルトの名無しさん
2016/03/02(水) 16:29:21.57ID:epqhA4MI おきゅんぱしー
779754
2016/03/02(水) 17:56:48.93ID:n1GLxV/f あっ
780デフォルトの名無しさん
2016/03/02(水) 18:46:16.76ID:nVGVVFPp781デフォルトの名無しさん
2016/03/02(水) 19:06:15.16ID:2uJZVygs782デフォルトの名無しさん
2016/03/02(水) 20:08:27.14ID:n1GLxV/f >>776
なるほど。基本的に残ってないと考えた方がよさそうですね。
バイトニックソートは綺麗に並列化できちゃうので、並び替えは無理っぽいです。
>>778
Occupancy確認しました。ビンゴでした。4%とかなにそれクソ使えてない。
というか、よくよく確認したらsharedもまだまだ余裕があったので、
要素数256でsharedの利用を切り替えていたのを2048まで拡張しました。
8192越えたあたりで悪化し始める、という性質こそ変わりませんでしたが
sharedの恩恵を受けられる範囲が増えたおかげか悪化しつつも
約100万要素でもCPUより7倍強速くすることができました。これでOccupancyは50%。
100%にするにはsharedのサイズの設定を変えなきゃならないけどやり方わかんない…。
しかし、こんなアホみたいな理由で遅くなっていたなんて。
みなさまにはご迷惑おかけしました……。
>>780
やっぱりCPUですか。GPUの性能をフルに発揮させるには
それなりに大きい規模を並列化して誤魔化さないといけないわけですね。
なるほど。基本的に残ってないと考えた方がよさそうですね。
バイトニックソートは綺麗に並列化できちゃうので、並び替えは無理っぽいです。
>>778
Occupancy確認しました。ビンゴでした。4%とかなにそれクソ使えてない。
というか、よくよく確認したらsharedもまだまだ余裕があったので、
要素数256でsharedの利用を切り替えていたのを2048まで拡張しました。
8192越えたあたりで悪化し始める、という性質こそ変わりませんでしたが
sharedの恩恵を受けられる範囲が増えたおかげか悪化しつつも
約100万要素でもCPUより7倍強速くすることができました。これでOccupancyは50%。
100%にするにはsharedのサイズの設定を変えなきゃならないけどやり方わかんない…。
しかし、こんなアホみたいな理由で遅くなっていたなんて。
みなさまにはご迷惑おかけしました……。
>>780
やっぱりCPUですか。GPUの性能をフルに発揮させるには
それなりに大きい規模を並列化して誤魔化さないといけないわけですね。
784デフォルトの名無しさん
2016/03/02(水) 20:36:32.21ID:XnY+JUNw 迷アドヴァイスを見るに見兼ねたスレ住民のおかげで助かりましたとさめでたしめでたし
785デフォルトの名無しさん
2016/03/02(水) 21:24:19.27ID:ewxUegIs786デフォルトの名無しさん
2016/03/02(水) 21:47:03.61ID:mhOGU3Or っていうかgpgpuでソートが
そもそも間違ってるよなあ
そもそも間違ってるよなあ
2016/03/02(水) 23:53:33.06ID:Vx/0gvlz
てかFermi以降のSMはキャッシュを構成するSRAMの一部を
GMとは独立した空間のスクラッチパッドメモリとして割り当ててるだけなんだけどね
SMXが実質的なコアとみなすならシェアードメモリって別にシェアードでもなんでもないぞ
GMとは独立した空間のスクラッチパッドメモリとして割り当ててるだけなんだけどね
SMXが実質的なコアとみなすならシェアードメモリって別にシェアードでもなんでもないぞ
788デフォルトの名無しさん
2016/03/03(木) 00:02:42.09ID:L7+NtMAj ますます支離滅裂だな
シェアードメモリがシェアードじゃないとかCUDAの概念を全否定する発言じゃねぇか
つまりお前はCUDAの事なんか全く判ってない
ここはCUDAのスレだぞ
そろそろ出て行けや糞団子
シェアードメモリがシェアードじゃないとかCUDAの概念を全否定する発言じゃねぇか
つまりお前はCUDAの事なんか全く判ってない
ここはCUDAのスレだぞ
そろそろ出て行けや糞団子
2016/03/03(木) 00:24:01.33ID:HcahvuJO
まったく技術論になってないぞ
NVIDIAの用語がインチキ用語なのは今に始まったことじゃない
AMDのBulldozerのコア詐称以前からのコア数水増しやってるのがNVIDIA
命令ストリームレベルで見ればSMXが本来のコアで
CUDA Coreと呼んでるものはSIMDユニットの1エレメントにすぎない
NVIDIAの用語がインチキ用語なのは今に始まったことじゃない
AMDのBulldozerのコア詐称以前からのコア数水増しやってるのがNVIDIA
命令ストリームレベルで見ればSMXが本来のコアで
CUDA Coreと呼んでるものはSIMDユニットの1エレメントにすぎない
790デフォルトの名無しさん
2016/03/03(木) 00:48:19.47ID:OHZiW0+6 確かにCUDAというかNVIDIAの定義しているシェアードメモリは一般的なシェアードメモリとは違うね。どちらかというとローカルメモリといった方が正しいかもしれん。
2016/03/03(木) 01:01:39.27ID:HcahvuJO
同じコアだからこそメモリを介さずレジスタ上でシフト・シャッフルができる(Kepler以降)
CUDAのSIMTとは単純に32要素1024ビットのSIMDを32スレッドと読み替えてるだけ
この点はG8x世代から変わらないね
CUDAのSIMTとは単純に32要素1024ビットのSIMDを32スレッドと読み替えてるだけ
この点はG8x世代から変わらないね
792デフォルトの名無しさん
2016/03/03(木) 01:48:33.97ID:TCZfqrpq 自演会話すれば糞団子が味噌団子に変化するじゃないぞ?団子さんよお
2016/03/03(木) 07:58:21.23ID:HcahvuJO
自演認定しても頭がよくなりませんよ、他所者君
CUDAをちゃんと勉強してる人にはみんな知ってる事実だ
CUDAをちゃんと勉強してる人にはみんな知ってる事実だ
794デフォルトの名無しさん
2016/03/03(木) 08:43:19.76ID:dzwxxNC2 また夜中の自演が始まったか
バレてないと思うところが糞団子だね
何度も言うがここはCUDAのスレ
僕の考えたシェアードメモリ論ならチラシの裏に書いとけ
バレてないと思うところが糞団子だね
何度も言うがここはCUDAのスレ
僕の考えたシェアードメモリ論ならチラシの裏に書いとけ
795デフォルトの名無しさん
2016/03/03(木) 09:02:21.96ID:HqLf1iVZ CUDAでいうシェアードメモリはCPUでいう一次キャッシュだし、CELLで言うところのLSだから、SMメモリとかコアメモリとかにしておけばよかったのにね。
CUDAの黎明期はGPUをスパコンって呼ぶ戦略があったから、1スレッドを一コアに見立て、共有メモリだと言っていたのかもしれないね。
CUDAの黎明期はGPUをスパコンって呼ぶ戦略があったから、1スレッドを一コアに見立て、共有メモリだと言っていたのかもしれないね。
796デフォルトの名無しさん
2016/03/03(木) 09:17:45.89ID:dzwxxNC2797デフォルトの名無しさん
2016/03/03(木) 12:05:39.08ID:DYrHTZ2H2016/03/03(木) 12:34:58.87ID:Z97pa2Hq
ソフトレベルって言ってもなぁ
.cuやPTXのレベルならそうだろうがcubinレベルでみて言ってるんじゃないんだろ?
実際Sharedなんて言ってもSMX(実質上のコア)の中でしか参照できないんじゃ名前に偽りありとしか
SPMDをオレオレ用語で置き換えた概念で説明すればSharedなんだろうが物理的にはCellのSPUのLSと同じトポロジにすぎん
.cuやPTXのレベルならそうだろうがcubinレベルでみて言ってるんじゃないんだろ?
実際Sharedなんて言ってもSMX(実質上のコア)の中でしか参照できないんじゃ名前に偽りありとしか
SPMDをオレオレ用語で置き換えた概念で説明すればSharedなんだろうが物理的にはCellのSPUのLSと同じトポロジにすぎん
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★12 [蚤の市★]
- 中国の渡航自粛要請1カ月 大阪の観光バス予約ゼロ、東北にも波及 [蚤の市★]
- 【神戸】エレベーター「かご」なく男性医師が転落死 大手「三菱電機ビルソリューションズ」の担当者、安全装置切り放置か [ぐれ★]
- 女性天皇「賛成」69%、将来の皇位継承「不安」68%…読売世論調査 [蚤の市★]
- 不倫疑惑の永野芽郁さん、CM削除ドミノの違約金“やはり発生は免れない”可能性 約10億円になる見込み、本人は全額支払う覚悟 [牛丼★]
- 【群馬】横断歩道を渡っていたNHKアナウンサーが車にはねられ骨折などの重傷 前橋市 [ぐれ★]
- 人の弱みを握ると気持ちいいよな?
- バター醤油ご飯食べてみたらwwwwwwwwwwwwwwww
- 【悲報】ドイツ人「なんで日本人って自炊するの?出来合の惣菜や冷食食った方が楽でコスパいいやん。そんなんだから低生産性なんだよ [786648259]
- 【動画】まんさん、アラジンのジーニーみたいな男にボコボコにされる🧞‍♂ [632966346]
- 底辺テイカー気質Vtuberを破壊する遊びが闇深いと話題に [922647923]
- 「よかれと思って毎日食べていたのに」…“朝の空腹時”に絶対に避けるべき食品とは? [268718286]
