GPGPUについて語りましょう
前スレ
GPGPU#4
http://hibari.2ch.net/test/read.cgi/tech/1255256230/l50
関連スレ
OpenCLプログラミング#1
http://hibari.2ch.net/test/read.cgi/tech/1228891105/l50
【GPGPU】くだすれCUDAスレ pert3【NVIDIA】
http://hibari.2ch.net/test/read.cgi/tech/1271587710/l50
参考リンク
総本山? gpgpu.org
http://www.gpgpu.org/
OpenCL
http://www.khronos.org/opencl/
NVIDIA CUDA
http://developer.nvidia.com/object/cuda.html
ATI Stream
http://developer.amd.com/gpu/ATIStreamSDK/Pages/default.aspx
GPUをCPU的に活用するGPGPUの可能性
http://pcweb.mycom.co.jp/articles/2005/09/06/siggraph2/
探検
GPGPU#5
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2010/08/15(日) 21:47:50196デフォルトの名無しさん
2012/01/26(木) 17:49:06.78 >>192
「nVIDIA特化したCUDAでnVIDIAが最適化したCUFFTの方が
当然速いと思ったら、それよりは遅い自分たちがCUDAで書いた
コードを汎用のOpenCLに移植してAMDで動かした方が速かった」
という結果が出た上での結論だから。
「nVIDIA特化したCUDAでnVIDIAが最適化したCUFFTの方が
当然速いと思ったら、それよりは遅い自分たちがCUDAで書いた
コードを汎用のOpenCLに移植してAMDで動かした方が速かった」
という結果が出た上での結論だから。
197デフォルトの名無しさん
2012/01/26(木) 19:55:34.70198デフォルトの名無しさん
2012/01/26(木) 20:13:42.50 ECCってハミング符号?
だったら、ソフトウェアで実装したら遅くなるのは道理だね
だったら、ソフトウェアで実装したら遅くなるのは道理だね
199デフォルトの名無しさん
2012/01/26(木) 20:21:24.68 ECCに気を使うのも結構だけど、GPUの場合
そもそも計算間違う可能性についても
議論した方が良いと思うんだが。
長崎大でのGeforceのCUDA不適格率を考えてみても
Teslaがどの程度信頼性あるのか分からん。
そもそも計算間違う可能性についても
議論した方が良いと思うんだが。
長崎大でのGeforceのCUDA不適格率を考えてみても
Teslaがどの程度信頼性あるのか分からん。
200デフォルトの名無しさん
2012/01/26(木) 21:10:41.07 統計的バラつきを消すために最初から複数回回す必要があるような
アルゴリズムを選ぶ方がいいのかもな。
アルゴリズムを選ぶ方がいいのかもな。
201デフォルトの名無しさん
2012/03/10(土) 17:43:48.01 今度のラデは800,700番台でも倍精度演算を実装してるみたいだ。
ちょっと勉強するのに買いやすくていいな。
ちょっと勉強するのに買いやすくていいな。
202デフォルトの名無しさん
2012/03/11(日) 05:18:50.99 おまえはもう達人だろ。
203デフォルトの名無しさん
2012/03/20(火) 09:49:51.77 http://news.mynavi.jp/articles/2012/03/19/radeon/004.html
77x0,78x0の倍精度はエミュレーションっぽいな。
やっぱり79x0買うしかないか。
77x0,78x0の倍精度はエミュレーションっぽいな。
やっぱり79x0買うしかないか。
204デフォルトの名無しさん
2012/03/20(火) 13:12:54.98 GPUでIIRフィルタを効率よくやる方法ってあります?
205デフォルトの名無しさん
2012/03/21(水) 00:40:57.22 IIR位何も考えずとも効率良くやれるだろ。
並列に計算できるデータが物凄く多ければな。
並列に計算できるデータが少なくて、時系列方向に長い場合は、
FIRなら時系列方向の並列化も可能だけど
IIRは無理じゃね。
並列に計算できるデータが物凄く多ければな。
並列に計算できるデータが少なくて、時系列方向に長い場合は、
FIRなら時系列方向の並列化も可能だけど
IIRは無理じゃね。
206デフォルトの名無しさん
2012/03/21(水) 10:31:16.75 "IIR filter vectorize"とか"~ SIMD"とかでググったらなんか出てくるし読めばいいんじゃねぇの?
207デフォルトの名無しさん
2012/03/22(木) 01:33:34.92 >>203
一応単精度では6950ぶっちぎる場面もあるんでまあグラフィックフィルタとか単精度で良いソフトなら試す価値はあるかな
今までと違って動かないわけじゃないから倍精度の開発検証ぐらいはできるしその程度だと思えば…
一応単精度では6950ぶっちぎる場面もあるんでまあグラフィックフィルタとか単精度で良いソフトなら試す価値はあるかな
今までと違って動かないわけじゃないから倍精度の開発検証ぐらいはできるしその程度だと思えば…
208デフォルトの名無しさん
2012/03/22(木) 23:22:18.46 >204
けち臭いこと言わずFFTしてフィルタリングしろ。
けち臭いこと言わずFFTしてフィルタリングしろ。
209デフォルトの名無しさん
2012/03/23(金) 00:55:17.20 GTX680出たな
210デフォルトの名無しさん
2012/03/23(金) 09:11:06.91 だが、APUあたりのレジスタやキャッシュが激減してるし、チップあたりの
実行可能なカーネル数も減ってる。倍精度もエミュレーションぽいし、GPGPU向きじゃないな。
実行可能なカーネル数も減ってる。倍精度もエミュレーションぽいし、GPGPU向きじゃないな。
211デフォルトの名無しさん
2012/03/23(金) 09:11:36.03 APU→ALU
212デフォルトの名無しさん
2012/03/23(金) 13:08:36.71 トレードオフしっかり設計に反映させないと難しい世代になってきたって事かねぇ
213デフォルトの名無しさん
2012/03/23(金) 21:26:08.99 >210
具体的な数値って分かる?
具体的な数値って分かる?
214デフォルトの名無しさん
2012/03/23(金) 21:29:40.24 pcヲチの後藤さんの記事のブロック図を見れ
215デフォルトの名無しさん
2012/05/07(月) 12:34:41.04 Linux上でGPGPU使って遊びたいんだけど64bitの方がいいかな
もしそうならOS入れ直すんだけど
もしそうならOS入れ直すんだけど
216デフォルトの名無しさん
2012/08/19(日) 10:31:27.66 Ubuntu12.04 x64版上で、OpenCLを使って3x3行列の固有値&固有ベクトルを
単精度のJacobi法で計算させてみた。
CPU:intel i7-2600k (4.4GHz)
GPU:AMD Radeon-HD7970 (1.05GHz)
行列の個数5百万個(全て同じ行列を使用)
OpenCLソース内で同じ計算の繰り返しを10回
(->5千万個の3x3行列の固有値&固有ベクトルを求めたことに相当?)
OpenCLのソースコードはCPUとGPUで同じものを使用。
<結果>
CPUを使ったOpenCL(Jacobi法の反復回数は6回で収束)
カーネルの実行時間:47.68秒
GPUを使ったOpenCL(Jacobi法の反復回数はCPUと同じで6回で収束)
カーネルの実行時間:0.03389秒
GPUが1400倍も速いと言う結果になった。
OpenCLがAMD製なので、IntelのSSE、AVXなどへの最適化がうまく
行われていないのだろうか?
単精度のJacobi法で計算させてみた。
CPU:intel i7-2600k (4.4GHz)
GPU:AMD Radeon-HD7970 (1.05GHz)
行列の個数5百万個(全て同じ行列を使用)
OpenCLソース内で同じ計算の繰り返しを10回
(->5千万個の3x3行列の固有値&固有ベクトルを求めたことに相当?)
OpenCLのソースコードはCPUとGPUで同じものを使用。
<結果>
CPUを使ったOpenCL(Jacobi法の反復回数は6回で収束)
カーネルの実行時間:47.68秒
GPUを使ったOpenCL(Jacobi法の反復回数はCPUと同じで6回で収束)
カーネルの実行時間:0.03389秒
GPUが1400倍も速いと言う結果になった。
OpenCLがAMD製なので、IntelのSSE、AVXなどへの最適化がうまく
行われていないのだろうか?
217デフォルトの名無しさん
2012/08/19(日) 19:29:32.18 そもそもSSEやAVX使うようなコード書いているの?
218デフォルトの名無しさん
2012/08/19(日) 19:37:00.00 float8とか明示的に256bit幅使うように指定しないと、AVX使わないのでは
219216
2012/08/19(日) 20:08:03.83 float4とfloat4を引数に使ったmadは多用してるよ。
220デフォルトの名無しさん
2012/08/20(月) 13:15:46.35 いくらなんでも1400倍はおかしくないか?
OpenCLのことはよくしらないけど、理論性能から考えてもそんなに
差が出るはずが無いと思うが・・・
140倍なら、CPUのコードがクソならあり得るが
OpenCLのことはよくしらないけど、理論性能から考えてもそんなに
差が出るはずが無いと思うが・・・
140倍なら、CPUのコードがクソならあり得るが
221デフォルトの名無しさん
2012/08/20(月) 18:30:40.57 i7-2600k (AVX) が単精度 220 GFlops、倍精度 110 GFlops
同 (SSE) が単精度 54 GFlops、倍精度 110 GFlops
Radeon HD 7970 が単精度 3.8 TFlops、倍精度 950 GFlops
SSE でも100 倍以内に収まらないとちと CPU 遅すぎ。
OC しているならばなおさら。
同 (SSE) が単精度 54 GFlops、倍精度 110 GFlops
Radeon HD 7970 が単精度 3.8 TFlops、倍精度 950 GFlops
SSE でも100 倍以内に収まらないとちと CPU 遅すぎ。
OC しているならばなおさら。
222デフォルトの名無しさん
2012/08/20(月) 19:26:12.93 倍精度だとSSEもAVXも同じなの?
223デフォルトの名無しさん
2012/08/21(火) 10:06:59.44 x87比
224216
2012/08/22(水) 23:02:09.92 同じ問題を APU E1-1200 のミニノートPCで解いてみた。
OSは、 >216 と同じくUbuntu12.04 x64版。
メモリ資源の制限から、行列の個数は1/5の100万個。
Jacobi法のOpenCLモジュール内で10回同じ計算をループで
回しているので、1000万個の3x3行列の固有値を求めたことになる。
当然ながら、このミニノートPCでは O.C. はしていない。
<結果>
反復回数(6回)、計算精度共にデスクトップマシンで計算結果と同じ。
CPU 7.542 sec
GPU 0.4235 sec
OpenCLイベントタイマーで計測した正味の計算時間比較では
GPUが18倍速いと言う結果になった。
これぐらいの比率なら正常?
OSは、 >216 と同じくUbuntu12.04 x64版。
メモリ資源の制限から、行列の個数は1/5の100万個。
Jacobi法のOpenCLモジュール内で10回同じ計算をループで
回しているので、1000万個の3x3行列の固有値を求めたことになる。
当然ながら、このミニノートPCでは O.C. はしていない。
<結果>
反復回数(6回)、計算精度共にデスクトップマシンで計算結果と同じ。
CPU 7.542 sec
GPU 0.4235 sec
OpenCLイベントタイマーで計測した正味の計算時間比較では
GPUが18倍速いと言う結果になった。
これぐらいの比率なら正常?
225216
2012/08/22(水) 23:10:51.04 ついでに >216 で使用したデスクトップマシン環境で同じ100万個の計算(1/5の量)を
再計測してみると
<結果>
CPU 9.311 sec
GPU 0.006517 sec やはり、1429倍となる。
ただし、皆さんお気付きのように100万個同士の計算時間比較を行うと
<CPU同士の比較>
APU E1-1200 : 7.522 sec
i7-2600k (4.4GHz) : 9.311 sec
Woo! i7-2600k(4.4GHz)が E1-1200 の 0.8倍 ?????
<GPU同士の比較>
APU E1-1200 : 0.4235 sec
HD7970 (1.05GHz) : 0.006517 sec
HD7970 (1.05GHz) が APU E1-1200 の65倍となり、CPU側の計算時間が?
どちらも、C++で作成したOpenCLの環境セットアップ部を含めたJacobi法の
OpenCLコードまで全て同じソースコードを用いているが
CPU側のOpenCLイベントタイマー計測がどう見ても変なことが分かった。
デスクトップ側、ミニノートの両ドライバーファイルは12.8 catalyst + AMDAPP V2.7
で同じ。 またUbuntu付属のg++4.6.3+NetBeans上で実行モジュールを作成している。
再計測してみると
<結果>
CPU 9.311 sec
GPU 0.006517 sec やはり、1429倍となる。
ただし、皆さんお気付きのように100万個同士の計算時間比較を行うと
<CPU同士の比較>
APU E1-1200 : 7.522 sec
i7-2600k (4.4GHz) : 9.311 sec
Woo! i7-2600k(4.4GHz)が E1-1200 の 0.8倍 ?????
<GPU同士の比較>
APU E1-1200 : 0.4235 sec
HD7970 (1.05GHz) : 0.006517 sec
HD7970 (1.05GHz) が APU E1-1200 の65倍となり、CPU側の計算時間が?
どちらも、C++で作成したOpenCLの環境セットアップ部を含めたJacobi法の
OpenCLコードまで全て同じソースコードを用いているが
CPU側のOpenCLイベントタイマー計測がどう見ても変なことが分かった。
デスクトップ側、ミニノートの両ドライバーファイルは12.8 catalyst + AMDAPP V2.7
で同じ。 またUbuntu付属のg++4.6.3+NetBeans上で実行モジュールを作成している。
226216
2012/08/22(水) 23:26:18.10 >225
> CPU側のOpenCLイベントタイマー計測がどう見ても変なことが分かった。
上記行を削除します(書き間違えました)。
実際に腕時計で測っても、同等な8秒程度の時間でした。
OpenCLイベントタイマー計測が変なのではなく、実際に i7-2600k の方が若干遅かったです。
> CPU側のOpenCLイベントタイマー計測がどう見ても変なことが分かった。
上記行を削除します(書き間違えました)。
実際に腕時計で測っても、同等な8秒程度の時間でした。
OpenCLイベントタイマー計測が変なのではなく、実際に i7-2600k の方が若干遅かったです。
227デフォルトの名無しさん
2012/08/23(木) 01:59:01.61 ループでもっとぶんまわせば?
計測短すぎてクロック上がってないんだろ。
計測短すぎてクロック上がってないんだろ。
228デフォルトの名無しさん
2012/08/23(木) 02:51:56.85 そもそも3x3行列ってのが小さすぎ
229デフォルトの名無しさん
2012/08/23(木) 10:37:48.70 たしかに3x3は小さいが、全部の固有値を馬鹿並列で求められるなら、むしろGPU向きな気もする
230デフォルトの名無しさん
2012/08/23(木) 10:39:27.25 「100万個の固有値計算を馬鹿並列にできるなら」という意味ね。1つの行列の相異なる固有値を並列に求めるという意味では無く。俺日本語不自由すぎワロタ
231デフォルトの名無しさん
2012/08/24(金) 01:59:31.99 AMDのOpenCLランタイムは、CPUが
ちょっと異様なぐらい遅いとか聞いたことがある気がする
ちょっと異様なぐらい遅いとか聞いたことがある気がする
232デフォルトの名無しさん
2012/08/24(金) 12:23:43.91 それってSDKが出たばっかの頃の話じゃね
たしかデバッグか何かに絡んだ挙動だったと思ったが
たしかデバッグか何かに絡んだ挙動だったと思ったが
233デフォルトの名無しさん
2012/08/28(火) 11:59:01.94 7970もECC化できればなぁ
234デフォルトの名無しさん
2012/08/29(水) 21:33:10.08 レイトレースをCPU、GPU側で同様のロジック作って走らせても1000倍くらい違ったし
GPUは並列度の高いコードだと思った以上に早くなる
CPUはそれだけ理論値からの落ち込みが激しいってことなんだろうけど
GPUは並列度の高いコードだと思った以上に早くなる
CPUはそれだけ理論値からの落ち込みが激しいってことなんだろうけど
235デフォルトの名無しさん
2012/08/30(木) 05:20:58.76 CPUの方のコードが最適化されてないんじゃないの?
最新のGPUでも単精度ピークが数Tflopsだから、
1000倍差だとCPUは数Gflops以下しか出てないことになる
最新のGPUでも単精度ピークが数Tflopsだから、
1000倍差だとCPUは数Gflops以下しか出てないことになる
236デフォルトの名無しさん
2012/08/30(木) 08:19:16.75 x87比か
237デフォルトの名無しさん
2012/08/31(金) 16:20:09.66 >>235
実際、素人が行列積書くと1−2GFlops しかでないし、まぁそんなもんだろうね
実際、素人が行列積書くと1−2GFlops しかでないし、まぁそんなもんだろうね
238デフォルトの名無しさん
2012/08/31(金) 18:47:52.23 Intelがメニーコア「MIC」とAtom SoCの「Medfield」を発表
ttp://pc.watch.impress.co.jp/docs/column/kaigai/20120831_556528.html
GPU勢もうかうかしていられない?
ttp://pc.watch.impress.co.jp/docs/column/kaigai/20120831_556528.html
GPU勢もうかうかしていられない?
239デフォルトの名無しさん
2012/09/09(日) 12:44:54.16 GPUコアは、これも PowerVR なのね。人気者すぎ。
240デフォルトの名無しさん
2012/09/09(日) 23:36:12.36 アーキテクチャがx86だってのは個人的にどうでもいいんだが、
メモリ階層がどうなるのか、メモリバンド幅がどれくらいでるのか、
CUDA5のdynamic parallelismに対抗できる機能があるのか、くらいが
勝負の分かれ目だな。
メモリ階層がどうなるのか、メモリバンド幅がどれくらいでるのか、
CUDA5のdynamic parallelismに対抗できる機能があるのか、くらいが
勝負の分かれ目だな。
241デフォルトの名無しさん
2012/10/07(日) 21:53:45.44242デフォルトの名無しさん
2012/10/07(日) 22:01:03.70 対抗してCUDAのバイナリ仕様公開とかないかな
243デフォルトの名無しさん
2012/10/07(日) 23:20:36.04 ナイコナの汎用性は別に誰も否定してなくね
問題はその効率だよな。やべーさすがIntel様だ、となるのかやっぱ汎用コア並べたらそんなもんだよね、で終わるのか
うちも研究枠で調達予定なので普通にwktkしてます
GPU性能を維持したままにじり寄ってるからこそ、dynamic parallelismなるご大層な名前…というか変態的な局所性能の誇張に縋ってるんだろう
問題はその効率だよな。やべーさすがIntel様だ、となるのかやっぱ汎用コア並べたらそんなもんだよね、で終わるのか
うちも研究枠で調達予定なので普通にwktkしてます
GPU性能を維持したままにじり寄ってるからこそ、dynamic parallelismなるご大層な名前…というか変態的な局所性能の誇張に縋ってるんだろう
244デフォルトの名無しさん
2012/10/08(月) 00:16:04.33 また大人のおもちゃが税金でたくさん作られるね
245デフォルトの名無しさん
2012/10/08(月) 15:19:35.15 えー?
コア一つ当たりの性能ではGPGPUを圧倒するんじゃないの?
問題は、それだけの性能を発揮するために必要なコアサイズが大きすぎることであって。
一つのダイに集積可能なコアの数が、GPGPUのプロセッサより一桁以上も少なくなるので、
コア性能では圧倒していても、総合性能では大幅に負けるに違いないと予想する。
>やっぱ汎用コア並べたらそんなもんだよね、で終わる
としか考えられないよなあ...
コア一つ当たりの性能ではGPGPUを圧倒するんじゃないの?
問題は、それだけの性能を発揮するために必要なコアサイズが大きすぎることであって。
一つのダイに集積可能なコアの数が、GPGPUのプロセッサより一桁以上も少なくなるので、
コア性能では圧倒していても、総合性能では大幅に負けるに違いないと予想する。
>やっぱ汎用コア並べたらそんなもんだよね、で終わる
としか考えられないよなあ...
2012/10/12(金) 14:31:36.83
Coreの定義がIntelとGPUメーカーとで違うから当たり前だろ
1コアあたりのベクトルユニットが16SP/8DP積和だから
NVIDIAのCUDA Coreに換算すると16コア相当で
つまり50coreのPhiは800 CUDA coreに相当するんだけど?
1コアあたりのベクトルユニットが16SP/8DP積和だから
NVIDIAのCUDA Coreに換算すると16コア相当で
つまり50coreのPhiは800 CUDA coreに相当するんだけど?
247デフォルトの名無しさん
2012/10/12(金) 15:05:22.84 あー、そか。たしかにそうだよな。
コアサイズが二桁ぐらい違うとかじゃないと性能で見劣りすることはないかもしれんのか。
まあ、コアの世代を古い方にして回路規模を小さくしちゃったりするとスループットが落ちて不利だがな、
動作クロックがGPUより上回ってる分と併せて考えると接戦になるのかな?
コアサイズが二桁ぐらい違うとかじゃないと性能で見劣りすることはないかもしれんのか。
まあ、コアの世代を古い方にして回路規模を小さくしちゃったりするとスループットが落ちて不利だがな、
動作クロックがGPUより上回ってる分と併せて考えると接戦になるのかな?
248デフォルトの名無しさん
2012/10/12(金) 15:10:50.51 排他処理のルーチンはボトルネックとしか考えられないよなあ...
249デフォルトの名無しさん
2012/10/12(金) 16:11:57.09 GPGPUはピークはともかく実効値がな・・・
先日出たTSUBAME2.0の1mメッシュ気流解析で実効15%ぐらいだっけ?
複雑な分岐や並列度低いものが入るとしぬし
ほかのGPUアクセラレータ積んだクラスタもそうだけどLINPACKばっか速くても仕方ない
先日出たTSUBAME2.0の1mメッシュ気流解析で実効15%ぐらいだっけ?
複雑な分岐や並列度低いものが入るとしぬし
ほかのGPUアクセラレータ積んだクラスタもそうだけどLINPACKばっか速くても仕方ない
250デフォルトの名無しさん
2012/10/12(金) 16:39:36.75 その残りの85%は何してるの?
251デフォルトの名無しさん
2012/10/12(金) 16:56:08.79 リラックス
252デフォルトの名無しさん
2012/10/12(金) 18:14:08.29 良いこと考えた。
働いていない、85%を装置から除去すれば、消費電力も下がるんじゃね?
働いていない、85%を装置から除去すれば、消費電力も下がるんじゃね?
253デフォルトの名無しさん
2012/10/12(金) 21:11:04.99 それこそSMTできるようにして同時実行させろって話じゃね
254デフォルトの名無しさん
2012/10/12(金) 23:36:36.25 そしてまた効率低くてそぎ落としか
設計レベルでループしてんじゃねえよw
設計レベルでループしてんじゃねえよw
255デフォルトの名無しさん
2012/10/13(土) 00:37:04.86 人間社会もGPGPU社会も一緒なんだな
256デフォルトの名無しさん
2012/10/13(土) 00:49:49.97 分岐というか、単純に帯域の問題じゃね。
257デフォルトの名無しさん
2012/10/13(土) 02:04:35.67 あのプレゼン見たけど、プログラミングに自信のある計算機寄りの人が、
てきとーに題材みつけてきて、計算機科学の研究として発表してる感じだった。
その結果が15%
てきとーに題材みつけてきて、計算機科学の研究として発表してる感じだった。
その結果が15%
258デフォルトの名無しさん
2012/10/13(土) 02:37:46.42 計算目的よりも、tubameを生かすための作業やね。まあ察しはつくがw
259デフォルトの名無しさん
2012/10/13(土) 03:38:41.472012/10/13(土) 04:49:03.94
>>250
働いてないんじゃなくて何かしらがボトルネックになってFMACの稼働率が抑えられてるのでは?
メモリ帯域が足りてる場合でも同時命令発行数の制約でload/store命令と積和命令を
同時に実行できない、とか
(これは京のVenusアーキテクチャにもある制約)
働いてないんじゃなくて何かしらがボトルネックになってFMACの稼働率が抑えられてるのでは?
メモリ帯域が足りてる場合でも同時命令発行数の制約でload/store命令と積和命令を
同時に実行できない、とか
(これは京のVenusアーキテクチャにもある制約)
261デフォルトの名無しさん
2012/10/13(土) 16:36:04.21 唐突ですまんけど、AMDはファイル名通りのこういう資料があるけど
ttp://developer.amd.com/gpu_assets/R700-Family_Instruction_Set_Architecture.pdf
nVIDIAはこういうの無いの?
ttp://developer.amd.com/gpu_assets/R700-Family_Instruction_Set_Architecture.pdf
nVIDIAはこういうの無いの?
262デフォルトの名無しさん
2012/10/13(土) 18:21:13.66263デフォルトの名無しさん
2012/10/13(土) 18:24:01.07264デフォルトの名無しさん
2012/10/13(土) 18:27:15.78 FLOPSに対する効率だから、アルゴリズム自体の並列化効率以上にはなりえないわけか。
気象系のアプリというものの並列化効率がどんくらいなのか知らないけど(なんとなく高そうではあるが)。
気象系のアプリというものの並列化効率がどんくらいなのか知らないけど(なんとなく高そうではあるが)。
265デフォルトの名無しさん
2012/10/13(土) 18:51:02.05 >>264
うーん、微妙に違うな。
今時のアーキテクチャだとメモリがすごく遅いってのは知ってるだろ?
ちなみにメモリの速度はバンド幅って言う。
それに対して演算速度はムーアの法則でどんどん上がってる(上がってた)
から、バランスが全然とれてないんだ。だから、普通のCPUはキャッシュ階層を
深くして(L1、L2、L3とか)なるべくデータの再利用をしてる。
つまり、データをメモリから持ってきたら、なるべくそれを
使い回して計算したいわけ。
で、ここで問題になるのが、浮動小数点演算(FLOP)と、データ転送量の比。
業界だと byte/flops とか言われる。言い方を変えると、どれくらいデータの
使い回しが効くかってこと。
続く
うーん、微妙に違うな。
今時のアーキテクチャだとメモリがすごく遅いってのは知ってるだろ?
ちなみにメモリの速度はバンド幅って言う。
それに対して演算速度はムーアの法則でどんどん上がってる(上がってた)
から、バランスが全然とれてないんだ。だから、普通のCPUはキャッシュ階層を
深くして(L1、L2、L3とか)なるべくデータの再利用をしてる。
つまり、データをメモリから持ってきたら、なるべくそれを
使い回して計算したいわけ。
で、ここで問題になるのが、浮動小数点演算(FLOP)と、データ転送量の比。
業界だと byte/flops とか言われる。言い方を変えると、どれくらいデータの
使い回しが効くかってこと。
続く
266デフォルトの名無しさん
2012/10/13(土) 18:52:43.77 承前
アプリの要求byte/flops高いと、せかっくデータを持ってきても
たいした計算をせずに、すぐに次のデータが必要になっちゃう。
データの使い回しが効かないんだ。これはイマドキの計算機にとってはキツい。
で、気象とか流体とかはそういうアプリなわけ。
だから、基本的に流体とかの計算は演算は余ってて、バンド幅がボトルネックになる。
これはアプリの特性だから仕方ない。
気象・流体屋さんは、未だに地球シミュレーター信者みたいな人が多い。
ちなみに、気象・流体系アプリは並列度だけで言ったらはものすごくあるよ。
ちなみにスレ的に言うと、GPUはGDDR5っていう容量が少ない代わりに
バンド幅が出る贅沢なメモリを搭載して、かつ大量のスレッドを使うことで
レイテンシを隠蔽してる。これがGPGPUが気象・流体計算に使える理由。
アプリの要求byte/flops高いと、せかっくデータを持ってきても
たいした計算をせずに、すぐに次のデータが必要になっちゃう。
データの使い回しが効かないんだ。これはイマドキの計算機にとってはキツい。
で、気象とか流体とかはそういうアプリなわけ。
だから、基本的に流体とかの計算は演算は余ってて、バンド幅がボトルネックになる。
これはアプリの特性だから仕方ない。
気象・流体屋さんは、未だに地球シミュレーター信者みたいな人が多い。
ちなみに、気象・流体系アプリは並列度だけで言ったらはものすごくあるよ。
ちなみにスレ的に言うと、GPUはGDDR5っていう容量が少ない代わりに
バンド幅が出る贅沢なメモリを搭載して、かつ大量のスレッドを使うことで
レイテンシを隠蔽してる。これがGPGPUが気象・流体計算に使える理由。
267264
2012/10/13(土) 19:29:29.68 なるほど、つまり気象系のアプリはコンピュートバウンドではなくメモリバウンドのものが多い、と。
AMDのAPUの使い道の話になったときに、DDR3という制約に悲観的になってる人が少なそうだったから
世の中にはメモリバウンドのものは少数派なのかなあとも思ってたけど普通にあるんですね。
AMDのAPUの使い道の話になったときに、DDR3という制約に悲観的になってる人が少なそうだったから
世の中にはメモリバウンドのものは少数派なのかなあとも思ってたけど普通にあるんですね。
268デフォルトの名無しさん
2012/10/13(土) 19:43:21.60 バンド幅と言うか、物理原理的にDRAMのセルは応答が現代のCPUの演算速度に対してずっと遅い。
だから、メモリセルを並列にして同時に読み出し・書き込みするしかないのが根底にある。それをやれDDRxだの、
何ビット同時にアクセス=複数セルに同時アクセスでなんとかしてるね。
気象系や気体がどうのって言うよりも、規則正しく計算点を並べて偏微分方程式の数値近似式を一斉に走らせる
=SIMDだのシェーダだの言ってる演算回路がみんな一斉に同じ計算式をやる場合が最大性能が出る。
三次元の方がそりゃ、並列度は高いだろうね。境界条件とか面倒くさそうだが。
こういう根本的なところはもう全然進歩しないなw
だから、メモリセルを並列にして同時に読み出し・書き込みするしかないのが根底にある。それをやれDDRxだの、
何ビット同時にアクセス=複数セルに同時アクセスでなんとかしてるね。
気象系や気体がどうのって言うよりも、規則正しく計算点を並べて偏微分方程式の数値近似式を一斉に走らせる
=SIMDだのシェーダだの言ってる演算回路がみんな一斉に同じ計算式をやる場合が最大性能が出る。
三次元の方がそりゃ、並列度は高いだろうね。境界条件とか面倒くさそうだが。
こういう根本的なところはもう全然進歩しないなw
2012/10/13(土) 20:27:18.96
bytes/flopsに関して言えば現状GPUはCPUより低いです。
ただbyte/sが数倍高くて、flopsが更に数倍高いというだけの話で。
Haswellあたりで、電力当たりFLOPS数はGPUとCPUは互角くらいになるのではという話も出ていますな。
ただbyte/sが数倍高くて、flopsが更に数倍高いというだけの話で。
Haswellあたりで、電力当たりFLOPS数はGPUとCPUは互角くらいになるのではという話も出ていますな。
270デフォルトの名無しさん
2012/10/13(土) 20:32:24.78 TSVって、GPUみたいな爆熱チップでもできるの?
271デフォルトの名無しさん
2012/10/14(日) 11:35:52.75272デフォルトの名無しさん
2012/10/14(日) 12:44:22.63 DRAM内部のクロック
PC133 133MHz
DDR3-1600 200MHz
この間十数年・・・MRAMならもっと上がるかな?
PC133 133MHz
DDR3-1600 200MHz
この間十数年・・・MRAMならもっと上がるかな?
273デフォルトの名無しさん
2012/10/20(土) 09:38:39.11 GNU MPのGPGPU対応って、あんまりやってる人が居ないな。
2012/10/20(土) 09:42:31.34
依存関係があってなかなか並列化しにくいからね。
もちろん並列度の高いコンピュータに適した数式に置き換えればいいんだが
CPU側もAVX, FMAなどでGPGPUの電力効率の優位も揺らぎつつあるからね
もちろん並列度の高いコンピュータに適した数式に置き換えればいいんだが
CPU側もAVX, FMAなどでGPGPUの電力効率の優位も揺らぎつつあるからね
275デフォルトの名無しさん
2012/11/17(土) 23:26:42.82 C++AMP調べてるとこなんだけど
textureでピクセル間を補間する方法がわからない。
ひょっとして自前でやらないといけないの?
「C++ AMP API は、サンプリング テクスチャのフィルター処理機能を提供されません。」
とはこのことなのかな。
textureでピクセル間を補間する方法がわからない。
ひょっとして自前でやらないといけないの?
「C++ AMP API は、サンプリング テクスチャのフィルター処理機能を提供されません。」
とはこのことなのかな。
276デフォルトの名無しさん
2012/11/18(日) 21:58:01.39 c++ampにfloat_3のmadやfmaが無いね。 short vector typeのmadやsin, cos などの超越関数も用意してもらいたい。 swizzlingはできるみたい。 OpenCLの方がコードをコンパクトに書けるかな。次期版期待してます。
277デフォルトの名無しさん
2013/02/17(日) 08:49:52.18 何故かsea islandのISAが公開
ttp://developer.amd.com/tools/heterogeneous-computing/amd-accelerated-parallel-processing-app-sdk/documentation/
ttp://developer.amd.com/tools/heterogeneous-computing/amd-accelerated-parallel-processing-app-sdk/documentation/
278デフォルトの名無しさん
2013/02/17(日) 13:26:30.82 いつもに比べると異常に早いがやっぱsouthernislandのリネームなのかね
279デフォルトの名無しさん
2013/02/18(月) 13:29:16.68 ディスクリートとしては出なくても
次世代APUのGCNはsea islandなのかね。
ISA見る限り、SIから確かに機能アップされている。
一番大きいのはFLAT メモリアクセス命令の追加か。
cudaのUVAみたいなもの
次世代APUのGCNはsea islandなのかね。
ISA見る限り、SIから確かに機能アップされている。
一番大きいのはFLAT メモリアクセス命令の追加か。
cudaのUVAみたいなもの
280デフォルトの名無しさん
2013/03/27(水) 13:39:55.44 SL#(えすえるしゃーぷ)とは、GPUで実行されるプログラマブルシェーダーを、超高級言語である
C#で書けてしまうという夢のようなオープンソースのフレームワークである。
http://monobook.org/wiki/SL_Sharp
C#で書けてしまうという夢のようなオープンソースのフレームワークである。
http://monobook.org/wiki/SL_Sharp
281デフォルトの名無しさん
2013/03/30(土) 11:07:23.56 >>280
まじかよ、ニンジャコンパイラが全部解決してくれるのか?
まじかよ、ニンジャコンパイラが全部解決してくれるのか?
282デフォルトの名無しさん
2013/04/12(金) 18:59:55.71 超高級言語w
283デフォルトの名無しさん
2013/04/14(日) 14:30:38.59 抽象化の度合いが高いぐらいの意味合いでいいんじゃないの
実際問題プログラマが意識してGPUに仕事をさせるコードを書かずに勝手に解決してくれちゃう未来像は来るの?
実際問題プログラマが意識してGPUに仕事をさせるコードを書かずに勝手に解決してくれちゃう未来像は来るの?
284デフォルトの名無しさん
2013/04/14(日) 18:29:31.68 たぶん、デザインパターンと同じくらいの敷居にはなるんじゃねーの?と言うか、デザインパターンとして確立されるんじゃね。
判らない人には判らないけど、自分の中に消化され始めると自然とそう言う書き方になるみたいな。
あとは、フレームワークでそう言う書き方を強制されて、なにも考えずにそう言うもんだと思うパターン。
判らない人には判らないけど、自分の中に消化され始めると自然とそう言う書き方になるみたいな。
あとは、フレームワークでそう言う書き方を強制されて、なにも考えずにそう言うもんだと思うパターン。
285デフォルトの名無しさん
2013/04/15(月) 02:40:47.34 コア数が100くらいのGPUがあるとして
整数大規模行列の
全要素の和を求めるのってGPGPUで100倍程度の高速化は可能ですよね?
整数大規模行列の
全要素の和を求めるのってGPGPUで100倍程度の高速化は可能ですよね?
286デフォルトの名無しさん
2013/04/15(月) 07:36:47.18 1コアあたりのシングルスレッド能力がCPUと同程度あって、メモリ帯域幅がそれに見合うほど広ければな
287デフォルトの名無しさん
2013/04/22(月) 21:00:09.19 >>283
実際、解きたい問題依存だけど、Hadoopのように、プログラミングモデルを固定して制限を付けて縛ることによって簡単な記述で自動的に高速実行ってのは比較的現実的な未来だと思うよ。
Hadoopってのも、書きたい処理をHadoopの"型"に押し込んで書ければ、残りの面倒な問題は全部Hadoopが面倒見てくれますって事だし。
実際、解きたい問題依存だけど、Hadoopのように、プログラミングモデルを固定して制限を付けて縛ることによって簡単な記述で自動的に高速実行ってのは比較的現実的な未来だと思うよ。
Hadoopってのも、書きたい処理をHadoopの"型"に押し込んで書ければ、残りの面倒な問題は全部Hadoopが面倒見てくれますって事だし。
288デフォルトの名無しさん
2013/09/21(土) 12:06:20.79 このスレ立った頃のGPUってもうゴミだよな?
289デフォルトの名無しさん
2013/09/21(土) 13:04:48.76 OpenCLで書いたプログラムを9600GTとQ9650で動かしたら同じくらいの速度だった。
今のCPUには絶対負ける。
今のCPUには絶対負ける。
290デフォルトの名無しさん
2013/10/02(水) 19:53:46.66 なんか来てた。
ttp://www.phoronix.com/scan.php?page=news_item&px=MTQ3NDU
ttp://www.phoronix.com/scan.php?page=news_item&px=MTQ3NDU
291デフォルトの名無しさん
2013/10/20(日) 14:42:26.77 GPGPUとMantleの関係を語ってくれよ
mantleってなんなんだ?
mantleってなんなんだ?
292デフォルトの名無しさん
2013/11/06(水) 09:10:41.13 >>291
DirectXやOpenGLは長い歴史があって
色々なハードで動かす必要があるので
互換性維持のために滅茶苦茶厚いAPIコールを通さないといけないが
MantleはGCNに絞った最適化さえすればいいので
そういうものがないっつーこと
据え置きはAMD一色だから移植も相互に楽になるし、面倒な最適化も最小限で済む
というのが言い分
DirectXやOpenGLは長い歴史があって
色々なハードで動かす必要があるので
互換性維持のために滅茶苦茶厚いAPIコールを通さないといけないが
MantleはGCNに絞った最適化さえすればいいので
そういうものがないっつーこと
据え置きはAMD一色だから移植も相互に楽になるし、面倒な最適化も最小限で済む
というのが言い分
293デフォルトの名無しさん
2013/12/30(月) 01:57:57.57 DirectXやOpenGLやOpenCLだと実行時に
「君(GPU)この機能使える?」
「よし、通れ!」
というプロセスを踏んでるからnVidia、AMD、Intel、PowerVRなど全部のハードウェアでそれなりに動くわけ
これに対してCUDAやMantleは他社対応を完全に無くすことで最初から最適化されたランタイムで動いてる
商用製品でCUDAがOpenCLより人気なのを見れば分かるように、
他のハードウェアで動かない以上のメリットがあるわけ
とくにゲーム機だと全てAMDで、今はAMDがARMと仲が良いからCUDA以上に広まりやすい環境にあるわけ
このスレ的にMantleは用途が違うだろうけど、HLSL/GLSL直書きでGPGPUをやってた層には移行先として十分かなと言った感じ
「君(GPU)この機能使える?」
「よし、通れ!」
というプロセスを踏んでるからnVidia、AMD、Intel、PowerVRなど全部のハードウェアでそれなりに動くわけ
これに対してCUDAやMantleは他社対応を完全に無くすことで最初から最適化されたランタイムで動いてる
商用製品でCUDAがOpenCLより人気なのを見れば分かるように、
他のハードウェアで動かない以上のメリットがあるわけ
とくにゲーム機だと全てAMDで、今はAMDがARMと仲が良いからCUDA以上に広まりやすい環境にあるわけ
このスレ的にMantleは用途が違うだろうけど、HLSL/GLSL直書きでGPGPUをやってた層には移行先として十分かなと言った感じ
294デフォルトの名無しさん
2013/12/30(月) 03:37:10.21 Mantleって互換性維持のため分厚くなり過ぎたDirectXに対して
低レベルなところを柔軟に叩けるようにするとかそういうものじゃなかったっけ?
Project Sumatraが楽しみだな
Java9ぐらいでparallelStreamにぺぺっと渡すと
OpenCLやってくれちゃうとか最高じゃん
逆に言うとそれぐらい猿でも簡単に扱えないとなっていうか
低レベルなところを柔軟に叩けるようにするとかそういうものじゃなかったっけ?
Project Sumatraが楽しみだな
Java9ぐらいでparallelStreamにぺぺっと渡すと
OpenCLやってくれちゃうとか最高じゃん
逆に言うとそれぐらい猿でも簡単に扱えないとなっていうか
295デフォルトの名無しさん
2014/01/16(木) 15:13:31.68 Mantle.Netはよ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】「女芸人No.1決定戦 THE W」9代目女王にニッチェ! 7年ぶり3度目で悲願の優勝 [牛丼★]
- 「おこめ券は米以外の食品も買える。効果的な活用を」 地元で農水相 [山形県] [少考さん★]
- いじめ後遺症 15年前のトラウマに苦悩する当事者「夢の中に出てくる」「された側は一生ものの傷」 [♪♪♪★]
- 【芸能】『女芸人No.1決定戦THE W』 粗品が最後にバッサリ「優勝賞金1000万円にしてはレベル低い大会」 [冬月記者★]
- 今年の流行語大賞 『働いて働いて働いてまいります』が受賞で不快感… 過労自殺の遺族らが会見「家族にむち打つような行為だ」 [冬月記者★]
- 東京の自販機そばに金塊4200万円分、何者かに持ち去られる…札幌の50代が8000万円振り込んだ後に上京して被害 [どどん★]
- 永野ってなんで売れたの?
- お前「趣味……?ないですね。無趣味です」ぼく「ずっと2chしてるんだから2chが趣味でいいじゃん」前「?」
- 武論尊「ヤクザも政治家も一切取材したことない。空想だからあんなにかっこよく描ける」 [309323212]
- 隕石の落ちたところに俺が立ってたら
- 🏡パン🍞つー✌まる👌見え👊😅👊
- 【正論】検察「山上よ、どんな事情があろうと暴力が許されない」 [442080748]
