SlideShare uma empresa Scribd logo
1 de 50
Baixar para ler offline
第6回 プログラムの性能評価指針
(Flop/Byte,計算律速,メモリ律速)
長岡技術科学大学 電気電子情報工学専攻 出川智啓
今回の内容
2015/05/21先端GPGPUシミュレーション工学特論2
 プログラムの性能評価指針
 演算性能,バンド幅,Flop/Byte
 ルーフラインモデル
 実行時の性能(演算,データ転送)に対する制約
GPUによる性能向上
2015/05/21先端GPGPUシミュレーション工学特論3
 CPUプログラムをGPUへ移植
 GPUへ移植したことによる高速化
 CPUプログラムを意図的に遅くしておけば大幅な高速化を
達成可能
 以前はCPU1コアと比較して100倍高速化!とも謳われていた
 実行時間以外の"公平な"評価指針はあるのか
 プログラムを実行する環境
 プログラム内の具体的な処理
等を考慮した指標
プログラムの評価
2015/05/21先端GPGPUシミュレーション工学特論4
 演算能力
 FLOPS[flop/s]
 Floating‐point Operation Per Second
 1秒あたり何回の浮動小数点演算ができるか
 整数は含まず
 実際に浮動小数点演算の回数を数えて実行時間で割る
 計算に用いるプロセッサの理論演算性能と比較
プログラムの評価
2015/05/21先端GPGPUシミュレーション工学特論5
 ベクトル和
 実効性能[flop/s]=N×1/実行時間
 N=220のとき実行時間=0.116×10‐3 s
 実効性能=220/(0.116×10‐3)=9,039,448,275≈9Gflop/s
 M2050理論演算性能 1.03Tflop/s
 実効性能低すぎ?
for(i=0; i<N; i++)
c[i] = a[i] + b[i];
≈106/(10‐1×10‐3)=1010
達成可能な実効性能の上限
2015/05/21先端GPGPUシミュレーション工学特論6
 プログラム内の具体的な処理
 演算回数
 メモリアクセス回数(メモリ読み書き量)
 FLOPSの比較は演算能力のみに着目
 メモリアクセスの性能を反映していない
 演算強度[flop/byte]
 演算回数とメモリアクセス回数(読み書き量)の比
 Operational Intensity, Arithmetic Intensity
達成可能な実効性能の上限
2015/05/21先端GPGPUシミュレーション工学特論7
 ルーフラインモデル
 演算強度を用いた性能モデル
 システムが持つ理論的な性能を利用
 演算と転送を同時に実行
 演算と転送のどちらか遅い方で実行時間が決定
転送
演算
データ転送量
1秒あたり転送可能な理論データ転送量
演算回数
1秒あたり実行可能な理論演算回数
時間
処理開始 処理終了
達成可能*な実効性能の上限
2015/05/21先端GPGPUシミュレーション工学特論8
 ピーク(理論)演算性能[flop/s]
 プロセッサが達成できる最高の(理論的な)演算性能
 1秒あたり何回の浮動小数点演算ができるか
 ピーク(理論)メモリバンド幅[byte/s]
 システムが達成できる最大(理論)メモリバンド幅
 1秒あたり何byteのデータをメモリからプロセッサへ転送
できるか
*実際に達成できない理論値だが,達成しうる
最高値(ピーク値)として取り扱う
ルーフラインモデル
2015/05/21先端GPGPUシミュレーション工学特論9
 達成可能な演算性能[flop/s]
= min(ピーク演算性能[flop/s],
ピークメモリバンド幅×プログラムの演算強度)
[byte/s]        [flop/byte]
 制約が無ければピーク演算性能を達成
 プログラム中でメモリにアクセスがあるとメモリアクセスがボト
ルネック化して性能が低下
 メモリアクセスに対して演算回数が多ければ性能が改善
ピーク演算性能
2015/05/21先端GPGPUシミュレーション工学特論10
 FLOPS
 1秒あたりに浮動小数の演算が何回できるか
 なぜ浮動小数点演算だけ?
 整数の加算はアドレス計算(プログラムカウンタなど)で頻
繁に使うので高速になるよう設計
 浮動小数点演算と比較すると整数演算の影響は小さい
 影響が小さくないシステムは使い物にならない
ピーク演算性能
2015/05/21先端GPGPUシミュレーション工学特論11
 公式
 FLOPS = 1コアの演算性能 [?]
× コア数 [core]
× CPUの動作周波数 [Hz=clock/s]
 1コアの演算性能
 =1度(1クロック)に発行出来る浮動小数点演算命令
 単位は[Floating Point Operations/clock/core]
 性能の評価には,動作周波数だけでなく1コアが1度に発行できる
命令数が重要
Tesla M2050 (Fermi)
2015/05/21先端GPGPUシミュレーション工学特論12
 1コアあたりの演算性能 2 (積和演算) 
 コア数 448
 動作周波数 1.15GHz(clock/s)
 ピーク演算性能
 2 flop/clock/core × 448 core × 1.15 G 
clock/s = 1030 Gflop/s 
Xeon X5670 (Nehalem)
2015/05/21先端GPGPUシミュレーション工学特論13
 1コアあたりの演算性能 4 (SSE) 
 コア数 6
 動作周波数 2.93GHz(clock/s)
 ピーク演算性能
 4 flop/clock/core × 6 core × 2.93 Gclock/s 
= 70.3 Gflop/s
性能差の推定
2015/05/21先端GPGPUシミュレーション工学特論14
 Tesla M2050
 ピーク演算性能 1030 Gflop/s
 ピークバンド幅 148 GB/s
 Xeon X5670
 ピーク演算性能 70 Gflop/s
 ピークバンド幅 32 GB/s
 演算性能比で約15倍,バンド幅比で約5倍
 単純に評価すると高速化は5倍から15倍の間
 プログラムの演算強度でも変化
Tesla M2050のルーフライン
2015/05/21先端GPGPUシミュレーション工学特論15
 ピーク演算性能 1.03Tflop/s(単精度浮動小数)
 ピークバンド幅 148GB/s
10−3 10−2 10−1 100 101 102
10−1
100
101
102
103
104
Arithmetic Intensity [flop/byte]
ピーク演算性能/ピークバンド幅
≈7
ピーク演算性能1030Gflop/s
Performance[Gflop/s]
Xeon X5670のルーフライン
2015/05/21先端GPGPUシミュレーション工学特論16
 ピーク演算性能 70Gflop/s(単精度浮動小数)
 ピークバンド幅 32GB/s
10−3 10−2 10−1 100 101 102
10−2
100
101
102
103
104
Arithmetic Intensity [flop/byte]
Performance[Gflop/s]
10−1
Xeon X5670
Tesla M2050
ピーク演算性能/ピークバンド幅
≈2.2
ピーク演算性能70Gflop/s
Xeon X5670
Tesla M2050
ルーフラインモデル
2015/05/21先端GPGPUシミュレーション工学特論17
 屋根が高いほど計算性能が高い
 肩が左にあるほど演算のピーク性能の達成が容易
10−3 10−2 10−1 100 101 102
Arithmetic Intensity [flop/byte]
計算性能が高い
計算性能に対してデータ
転送能力が相対的に高い
10−2
100
101
102
103
104
Performance[Gflop/s]
10−1
ルーフラインによるプログラムの評価
2015/05/21先端GPGPUシミュレーション工学特論18
 メモリ律速(Memory‐Bound)
 演算強度がピーク演算性能/ピークメモリバンド幅より小さい
 メモリ転送がプログラムの実行時間に影響
 ピークメモリバンド幅に近づけるチューニングが必要
メモリ律速
ルーフラインによるプログラムの評価
2015/05/21先端GPGPUシミュレーション工学特論19
 計算律速(Compute‐Bound, Compute‐intensive)
 演算強度がピーク演算性能/ピークメモリバンド幅より大きい
 演算がプログラムの実行時間に影響
 演算能力を引き出すチューニングが必要
計算律速
性能差の推定
2015/05/21先端GPGPUシミュレーション工学特論20
 計算律速かメモリ律速かで高速化の上限が変化
10−3 10−2 10−1 100 101 102
10−2
100
101
102
103
104
Arithmetic Intensity [flop/byte]
Performance[Gflop/s]
10−1
Xeon X5670
Tesla M2050
高速化の上限
は約5倍
高速化の上限
は約15倍
ルーフラインによる性能の判断
2015/05/21先端GPGPUシミュレーション工学特論21
 性能を引き出せないと屋根の高さが低下
10−3 10−2 10−1 100 101 102
10−1
100
101
102
103
104
Arithmetic Intensity [flop/byte]
Performance[Gflop/s]
転送の性能を
引き出せない
演算の性能を
引き出せない
演算に対する制約(Ceiling)
2015/05/21先端GPGPUシミュレーション工学特論22
 1コアのみの利用
 性能は単純に1/コア数
Arithmetic Intensity [flop/byte]
Performance[Gflop/s]
ピーク性能
1コアのピーク性能
演算に対する制約(Ceiling)
2015/05/21先端GPGPUシミュレーション工学特論23
 積和演算の負荷不均一(FMAをサポートしていれば)
 加算か乗算のどちらかが支配的(演算回数が低下)
Arithmetic Intensity [flop/byte]
Performance[Gflop/s]
ピーク性能
1コアのピーク性能
積和演算の不均一
演算に対する制約(Ceiling)
2015/05/21先端GPGPUシミュレーション工学特論24
 積和演算の負荷不均一(FMAをサポートしていれば)
 加算か乗算のどちらかが支配的(演算回数が低下)
 FMA演算
 Fused Multiply ADD
 (A×B)+Cを1命令で実行
 A×Bの結果を丸めてからCと足して丸めるのではなく,A×Bの結果
を丸めずCと加算した結果を丸める
 ベクトルの内積で出現
 dot = (x[i]*y[i]) + dot;
演算に対する制約(Ceiling)
2015/05/21先端GPGPUシミュレーション工学特論25
 SIMD命令の不使用
 1クロックあたりに発行できる命令数が低下
Arithmetic Intensity [flop/byte]
Performance[Gflop/s]
ピーク性能
1コアのピーク性能
積和演算の不均一
SIMD不使用
演算に対する制約(Ceiling)
 SIMD命令の不使用
 1クロックあたりに発行できる命令数が低下
 Single Instruction Multiple Data Streams
 複数のまとまったデータに対して同じ演算を同時に実行
 ソースコード上は4命令を逐次発行
 実際は1クロックで4命令を同時発行 A0 B0
データ
命令
A1 B1
+
A2 B2
A3 B3
2015/05/21先端GPGPUシミュレーション工学特論26
演算に対する制約(Ceiling)
2015/05/21先端GPGPUシミュレーション工学特論27
 命令レベル並列処理の阻害
 命令の同時実行による処理時間の短縮が不可能
Arithmetic Intensity [flop/byte]
Performance[Gflop/s]
ピーク性能
1コアのピーク性能
積和演算の不均一
SIMD不使用
命令レベル並列の未達成
演算に対する制約(Ceiling)
2015/05/21先端GPGPUシミュレーション工学特論28
 命令レベル並列処理の阻害
 命令の同時実行による処理時間の短縮が不可能
 命令のパイプライン処理
命令1
命令2
命令3
実行開始 処理時間
IF ID OF EX WB
IF ID OF EX WB
IF ID OF EX WB
Instruction Fetch
Instruction Decode
Operand Fetch
Execution
Write Back
演算に対する制約(Ceiling)
2015/05/21先端GPGPUシミュレーション工学特論29
 命令レベル並列
 tはt1とt2の結果に依存
 t1とt2はお互いに独立
 同時に実行する事で処理時間を短縮
t1 = a*b
t2 = c*d
t  = t1 + t2
命令1
命令2
命令3
実行開始 処理時間
IF ID OF EX WB
IF ID OF EX WB
IF ID OF EX WB
データ転送に対する制約(Ceiling)
2015/05/21先端GPGPUシミュレーション工学特論30
 ソフトウェアプリフェッチの不使用
 メモリからのデータ取得時間が隠蔽できない
Arithmetic Intensity [flop/byte]
Performance[Gflop/s]
データ転送に対する制約(Ceiling)
2015/05/21先端GPGPUシミュレーション工学特論31
 ソフトウェアプリフェッチの不使用
 メモリからのデータ取得時間が隠蔽できない
 プリフェッチ
 必要とされるデータを予測し,メモリからキャッシュへ転送
 ソフトウェアプリフェッチ
 ソースコードからメモリアクセスの規則性を検出
データ転送に対する制約(Ceiling)
2015/05/21先端GPGPUシミュレーション工学特論32
 NUMAにおけるaffinityの不使用
 プロセッサから遠いメモリにデータが置かれ,転送時間が増加
Arithmetic Intensity [flop/byte]
Performance[Gflop/s]
データ転送に対する制約(Ceiling)
 NUMAにおけるaffinityの不使用
 プロセッサから遠いメモリにデータが置かれ,転送時間が増加
 NUMA (Non‐Uniform Memory Access)
 メモリを共有しているように見えるシステム
 物理的には共有されていない
 各CPUが必要とするデータをどのメモリに置くかで転送時間が変化
CPU0メモリ0 CPU1
CPU3 CPU2メモリ3
メモリ1
メモリ2
2015/05/21先端GPGPUシミュレーション工学特論33
スレッド0
スレッド1
データ転送に対する制約(Ceiling)
 affinity
 CPUとスレッド(プロセス)を特定のCPUに固定
 OSはタスクをCPUに割当て
 マルチタスクを実行するために短時間でタスクの割当を切り替え
 スレッドが当初実行していたCPUから別のCPUへ移動
 データが置かれたメモリまでの距離が遠くなる
CPU0メモリ0 CPU1
CPU3 CPU2メモリ3
メモリ1
メモリ2
2015/05/21先端GPGPUシミュレーション工学特論34
スレッド0 スレッド1
データ転送に対する制約(Ceiling)
 affinity
 CPUとスレッド(プロセス)を特定のCPUに固定
 OSはタスクをCPUに割当て
 マルチタスクを実行するために短時間でタスクの割当を切り替え
 スレッドが当初実行していたCPUから別のCPUへ移動
 データが置かれたメモリまでの距離が遠くなる
CPU0メモリ0 CPU1
CPU3 CPU2メモリ3
メモリ1
メモリ2
2015/05/21先端GPGPUシミュレーション工学特論35
スレッド0
スレッド1
スレッド1が移動,
データまで遠くなる
最適化前のプログラムの性能
2015/05/21先端GPGPUシミュレーション工学特論36
Arithmetic Intensity [flop/byte]
Performance[Gflop/s]
ピーク性能
1コアのピーク性能
積和演算の不均一
SIMD不使用
命令レベル並列の未達成
演算性能の改善
2015/05/21先端GPGPUシミュレーション工学特論37
 SIMD命令の利用,ループ展開,演算順序やデータ
構造の変更
Arithmetic Intensity [flop/byte]
Performance[Gflop/s]
ピーク性能
1コアのピーク性能
積和演算の不均一
SIMD不使用
命令レベル並列の未達成
演算性能の改善
2015/05/21先端GPGPUシミュレーション工学特論38
 スレッド並列化で全コアを利用
 バンド幅の都合で性能が向上しない可能性がある
Arithmetic Intensity [flop/byte]
Performance[Gflop/s]
ピーク性能
1コアのピーク性能
積和演算の不均一
SIMD不使用
命令レベル並列の未達成
データ転送性能の改善
2015/05/21先端GPGPUシミュレーション工学特論39
 affinityの指定,プリフェッチの利用
ピーク性能
1コアのピーク性能
積和演算の不均一
SIMD不使用
命令レベル並列の未達成
Arithmetic Intensity [flop/byte]
Performance[Gflop/s]
データ転送を最小化
2015/05/21先端GPGPUシミュレーション工学特論40
 処理順序の変更等でキャッシュにより再利用される
データを増加(演算強度の実質的な増加)
ピーク性能
1コアのピーク性能
積和演算の不均一
SIMD不使用
命令レベル並列の未達成
Arithmetic Intensity [flop/byte]
Performance[Gflop/s]
最適化前後のルーフライン
2015/05/21先端GPGPUシミュレーション工学特論41
 3通りの最適化を適用
 演算,メモリアクセス,アルゴリズム
ピーク性能
1コアの
性能改善
複数コア
利用
演算強度の増加
Arithmetic Intensity [flop/byte]
Performance[Gflop/s]
GPUにおける制約
2015/05/21先端GPGPUシミュレーション工学特論42
 1コアのみの利用
 論外
ピーク性能
1コアのみ利用
Arithmetic Intensity [flop/byte]
Performance[Gflop/s]
GPUにおける制約
2015/05/21先端GPGPUシミュレーション工学特論43
 性能低下の要因を挙げるとすれば
ピーク性能
積和演算の不均一
低Active Warp
命令レベル並列*の未達成
*GPUの命令レベル並列については
Volkovの講演スライドが詳しい
occupancy 4%で性能の84%を達成
Arithmetic Intensity [flop/byte]
Performance[Gflop/s]
ルーフラインによるベクトル和の評価
2015/05/21先端GPGPUシミュレーション工学特論44
 演算強度flop/byte = 1/12 ≈ 0.083
 演算1回=>1flop
 メモリアクセス3回(読込2回,書込1回)=>3*4byte
 9 Gflop/sはほぼ上限
約10Gflop/s
Xeon X5670
Tesla M2050
CPUプログラムの評価
2015/05/21先端GPGPUシミュレーション工学特論45
 ベクトル和
 実効性能[flop/s]=N×1/実行時間
 N=220,実行時間=6.65×10‐3 s
 実効性能=220/(6.65×10‐3)=157,680,602≈150Mflop/s
 Xeon X5670のピーク性能 70Gflop/s
for(i=0; i<N; i++)
c[i] = a[i] + b[i];
CPUプログラムの評価
2015/05/21先端GPGPUシミュレーション工学特論46
 150Mflop/sは低すぎる
10−3 10−2 10−1 100 101 102
10−2
100
101
102
103
104
Arithmetic Intensity [flop/byte]
Performance[Gflop/s]
10−1
Xeon X5670
Tesla M2050
約10Gflop/s
約2Gflop/s
CPUプログラムの評価
2015/05/21先端GPGPUシミュレーション工学特論47
 CPU1個(6コア)を使い,6スレッドで並列実行
 演算の高速化はコンパイラが勝手にやってくれると期待
10−3 10−2 10−1 100 101 102
10−2
100
101
102
103
104
Arithmetic Intensity [flop/byte]
Performance[Gflop/s]
10−1
Xeon X5670
Tesla M2050
約10Gflop/s
約2Gflop/s
1.2Gflop/sまで改善
150Mflop/s
その他のモデル
2015/05/21先端GPGPUシミュレーション工学特論48
 演算と転送を同時に考慮するモデル
 ルーフラインモデルの変種
 データ転送してから演算を実行
 演算回数,演算に必要なデータの転送量,ピーク演算性能,
ピークバンド幅を利用
データ転送量
ピークバンド幅
演算回数
ピーク演算性能
時間
処理開始 処理終了
その他のモデル
2015/05/21先端GPGPUシミュレーション工学特論49
 演算と転送を同時に考慮するモデル
 Flop 演算回数[flop]
 Byte 演算に必要なデータの転送量[byte]
 Fpeak ピーク演算性能[flop/s]
 Bpeak ピークバンド幅[byte/s]
α

peakpeak Byte/BFlop/F
Flop
ePerformanc
peak
peakpeak
F
/BFFlop/Byte
Flop/Byte
ePerformanc


[flop]
[sec]
演算に要する
秒数
メモリ転送に
要する秒数1/Byte
1/Byte
F
F
peak
peak

[flop/s]
その他
その他のモデル
2015/05/21先端GPGPUシミュレーション工学特論50
 ピーク付近で双方の影響が混在
 こちらのモデルの方が自然
Xeon X5670
Tesla M2050
10−3 10−2 10−1 100 101 102
Arithmetic Intensity [flop/byte]
10−2
100
101
102
103
104
Performance[Gflop/s]
10−1

Mais conteúdo relacionado

Mais procurados

2015年度先端GPGPUシミュレーション工学特論 第5回 GPUのメモリ階層の詳細 (様々なメモリの利用)
2015年度先端GPGPUシミュレーション工学特論 第5回 GPUのメモリ階層の詳細(様々なメモリの利用)2015年度先端GPGPUシミュレーション工学特論 第5回 GPUのメモリ階層の詳細(様々なメモリの利用)
2015年度先端GPGPUシミュレーション工学特論 第5回 GPUのメモリ階層の詳細 (様々なメモリの利用)
智啓 出川
 
2015年度先端GPGPUシミュレーション工学特論 第7回 総和計算(Atomic演算)
2015年度先端GPGPUシミュレーション工学特論 第7回 総和計算(Atomic演算)2015年度先端GPGPUシミュレーション工学特論 第7回 総和計算(Atomic演算)
2015年度先端GPGPUシミュレーション工学特論 第7回 総和計算(Atomic演算)
智啓 出川
 
GPGPU Seminar (PyCUDA)
GPGPU Seminar (PyCUDA)GPGPU Seminar (PyCUDA)
GPGPU Seminar (PyCUDA)
智啓 出川
 
2015年度GPGPU実践プログラミング 第7回 総和計算
2015年度GPGPU実践プログラミング 第7回 総和計算2015年度GPGPU実践プログラミング 第7回 総和計算
2015年度GPGPU実践プログラミング 第7回 総和計算
智啓 出川
 
0から理解するニューラルネットアーキテクチャサーチ(NAS)
0から理解するニューラルネットアーキテクチャサーチ(NAS)0から理解するニューラルネットアーキテクチャサーチ(NAS)
0から理解するニューラルネットアーキテクチャサーチ(NAS)
MasanoriSuganuma
 
2015年度先端GPGPUシミュレーション工学特論 第11回 数値流体力学への応用 (支配方程式,CPUプログラム)
2015年度先端GPGPUシミュレーション工学特論 第11回 数値流体力学への応用(支配方程式,CPUプログラム)2015年度先端GPGPUシミュレーション工学特論 第11回 数値流体力学への応用(支配方程式,CPUプログラム)
2015年度先端GPGPUシミュレーション工学特論 第11回 数値流体力学への応用 (支配方程式,CPUプログラム)
智啓 出川
 
2015年度GPGPU実践プログラミング 第8回 総和計算(高度な最適化)
2015年度GPGPU実践プログラミング 第8回 総和計算(高度な最適化)2015年度GPGPU実践プログラミング 第8回 総和計算(高度な最適化)
2015年度GPGPU実践プログラミング 第8回 総和計算(高度な最適化)
智啓 出川
 
2015年度GPGPU実践プログラミング 第5回 GPUのメモリ階層
2015年度GPGPU実践プログラミング 第5回 GPUのメモリ階層2015年度GPGPU実践プログラミング 第5回 GPUのメモリ階層
2015年度GPGPU実践プログラミング 第5回 GPUのメモリ階層
智啓 出川
 

Mais procurados (20)

2015年度先端GPGPUシミュレーション工学特論 第5回 GPUのメモリ階層の詳細 (様々なメモリの利用)
2015年度先端GPGPUシミュレーション工学特論 第5回 GPUのメモリ階層の詳細(様々なメモリの利用)2015年度先端GPGPUシミュレーション工学特論 第5回 GPUのメモリ階層の詳細(様々なメモリの利用)
2015年度先端GPGPUシミュレーション工学特論 第5回 GPUのメモリ階層の詳細 (様々なメモリの利用)
 
2015年度先端GPGPUシミュレーション工学特論 第7回 総和計算(Atomic演算)
2015年度先端GPGPUシミュレーション工学特論 第7回 総和計算(Atomic演算)2015年度先端GPGPUシミュレーション工学特論 第7回 総和計算(Atomic演算)
2015年度先端GPGPUシミュレーション工学特論 第7回 総和計算(Atomic演算)
 
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説
 
【DL輪読会】GradMax: Growing Neural Networks using Gradient Information
【DL輪読会】GradMax: Growing Neural Networks using Gradient Information【DL輪読会】GradMax: Growing Neural Networks using Gradient Information
【DL輪読会】GradMax: Growing Neural Networks using Gradient Information
 
CUDAプログラミング入門
CUDAプログラミング入門CUDAプログラミング入門
CUDAプログラミング入門
 
【論文紹介】How Powerful are Graph Neural Networks?
【論文紹介】How Powerful are Graph Neural Networks?【論文紹介】How Powerful are Graph Neural Networks?
【論文紹介】How Powerful are Graph Neural Networks?
 
Hopper アーキテクチャで、変わること、変わらないこと
Hopper アーキテクチャで、変わること、変わらないことHopper アーキテクチャで、変わること、変わらないこと
Hopper アーキテクチャで、変わること、変わらないこと
 
プログラムを高速化する話Ⅱ 〜GPGPU編〜
プログラムを高速化する話Ⅱ 〜GPGPU編〜プログラムを高速化する話Ⅱ 〜GPGPU編〜
プログラムを高速化する話Ⅱ 〜GPGPU編〜
 
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門
 
NEDIA_SNIA_CXL_講演資料.pdf
NEDIA_SNIA_CXL_講演資料.pdfNEDIA_SNIA_CXL_講演資料.pdf
NEDIA_SNIA_CXL_講演資料.pdf
 
1076: CUDAデバッグ・プロファイリング入門
1076: CUDAデバッグ・プロファイリング入門1076: CUDAデバッグ・プロファイリング入門
1076: CUDAデバッグ・プロファイリング入門
 
Magnum IO GPUDirect Storage 最新情報
Magnum IO GPUDirect Storage 最新情報Magnum IO GPUDirect Storage 最新情報
Magnum IO GPUDirect Storage 最新情報
 
GPGPU Seminar (PyCUDA)
GPGPU Seminar (PyCUDA)GPGPU Seminar (PyCUDA)
GPGPU Seminar (PyCUDA)
 
2015年度GPGPU実践プログラミング 第7回 総和計算
2015年度GPGPU実践プログラミング 第7回 総和計算2015年度GPGPU実践プログラミング 第7回 総和計算
2015年度GPGPU実践プログラミング 第7回 総和計算
 
0から理解するニューラルネットアーキテクチャサーチ(NAS)
0から理解するニューラルネットアーキテクチャサーチ(NAS)0から理解するニューラルネットアーキテクチャサーチ(NAS)
0から理解するニューラルネットアーキテクチャサーチ(NAS)
 
2015年度先端GPGPUシミュレーション工学特論 第11回 数値流体力学への応用 (支配方程式,CPUプログラム)
2015年度先端GPGPUシミュレーション工学特論 第11回 数値流体力学への応用(支配方程式,CPUプログラム)2015年度先端GPGPUシミュレーション工学特論 第11回 数値流体力学への応用(支配方程式,CPUプログラム)
2015年度先端GPGPUシミュレーション工学特論 第11回 数値流体力学への応用 (支配方程式,CPUプログラム)
 
2015年度GPGPU実践プログラミング 第8回 総和計算(高度な最適化)
2015年度GPGPU実践プログラミング 第8回 総和計算(高度な最適化)2015年度GPGPU実践プログラミング 第8回 総和計算(高度な最適化)
2015年度GPGPU実践プログラミング 第8回 総和計算(高度な最適化)
 
Ultra96ボードでYOLOを高速化
Ultra96ボードでYOLOを高速化Ultra96ボードでYOLOを高速化
Ultra96ボードでYOLOを高速化
 
2値化CNN on FPGAでGPUとガチンコバトル(公開版)
2値化CNN on FPGAでGPUとガチンコバトル(公開版)2値化CNN on FPGAでGPUとガチンコバトル(公開版)
2値化CNN on FPGAでGPUとガチンコバトル(公開版)
 
2015年度GPGPU実践プログラミング 第5回 GPUのメモリ階層
2015年度GPGPU実践プログラミング 第5回 GPUのメモリ階層2015年度GPGPU実践プログラミング 第5回 GPUのメモリ階層
2015年度GPGPU実践プログラミング 第5回 GPUのメモリ階層
 

Semelhante a 2015年度先端GPGPUシミュレーション工学特論 第6回 プログラムの性能評価指針 (Flop/Byte,計算律速,メモリ律速)

2015年度GPGPU実践プログラミング 第4回 GPUでの並列プログラミング(ベクトル和,移動平均,差分法)
2015年度GPGPU実践プログラミング 第4回 GPUでの並列プログラミング(ベクトル和,移動平均,差分法)2015年度GPGPU実践プログラミング 第4回 GPUでの並列プログラミング(ベクトル和,移動平均,差分法)
2015年度GPGPU実践プログラミング 第4回 GPUでの並列プログラミング(ベクトル和,移動平均,差分法)
智啓 出川
 
2015年度GPGPU実践基礎工学 第14回 GPGPU組込開発環境
2015年度GPGPU実践基礎工学 第14回 GPGPU組込開発環境2015年度GPGPU実践基礎工学 第14回 GPGPU組込開発環境
2015年度GPGPU実践基礎工学 第14回 GPGPU組込開発環境
智啓 出川
 
2015年度GPGPU実践基礎工学 第11回 GPUでの並列 プログラミング(ベクトル和)
2015年度GPGPU実践基礎工学 第11回 GPUでの並列プログラミング(ベクトル和)2015年度GPGPU実践基礎工学 第11回 GPUでの並列プログラミング(ベクトル和)
2015年度GPGPU実践基礎工学 第11回 GPUでの並列 プログラミング(ベクトル和)
智啓 出川
 
CMSI計算科学技術特論B(5) アプリケーションの性能最適化の実例2
CMSI計算科学技術特論B(5) アプリケーションの性能最適化の実例2CMSI計算科学技術特論B(5) アプリケーションの性能最適化の実例2
CMSI計算科学技術特論B(5) アプリケーションの性能最適化の実例2
Computational Materials Science Initiative
 
2015年度GPGPU実践基礎工学 第7回 シングルコアとマルチコア
2015年度GPGPU実践基礎工学 第7回 シングルコアとマルチコア2015年度GPGPU実践基礎工学 第7回 シングルコアとマルチコア
2015年度GPGPU実践基礎工学 第7回 シングルコアとマルチコア
智啓 出川
 

Semelhante a 2015年度先端GPGPUシミュレーション工学特論 第6回 プログラムの性能評価指針 (Flop/Byte,計算律速,メモリ律速) (20)

Math works gdlc2019
Math works gdlc2019Math works gdlc2019
Math works gdlc2019
 
GPU-FPGA協調プログラミングを実現するコンパイラの開発
GPU-FPGA協調プログラミングを実現するコンパイラの開発GPU-FPGA協調プログラミングを実現するコンパイラの開発
GPU-FPGA協調プログラミングを実現するコンパイラの開発
 
ACRi_webinar_20220118_miyo
ACRi_webinar_20220118_miyoACRi_webinar_20220118_miyo
ACRi_webinar_20220118_miyo
 
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
 
C++による数値解析の並列化手法
C++による数値解析の並列化手法C++による数値解析の並列化手法
C++による数値解析の並列化手法
 
[DL Hacks]FPGA入門
[DL Hacks]FPGA入門[DL Hacks]FPGA入門
[DL Hacks]FPGA入門
 
2015年度GPGPU実践プログラミング 第4回 GPUでの並列プログラミング(ベクトル和,移動平均,差分法)
2015年度GPGPU実践プログラミング 第4回 GPUでの並列プログラミング(ベクトル和,移動平均,差分法)2015年度GPGPU実践プログラミング 第4回 GPUでの並列プログラミング(ベクトル和,移動平均,差分法)
2015年度GPGPU実践プログラミング 第4回 GPUでの並列プログラミング(ベクトル和,移動平均,差分法)
 
2012 1203-researchers-cafe
2012 1203-researchers-cafe2012 1203-researchers-cafe
2012 1203-researchers-cafe
 
PL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
PL/CUDA - Fusion of HPC Grade Power with In-Database AnalyticsPL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
PL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
 
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介
 
[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法
[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法
[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法
 
デルのGPGPUソリューションの裏側全てお見せします!!
デルのGPGPUソリューションの裏側全てお見せします!!デルのGPGPUソリューションの裏側全てお見せします!!
デルのGPGPUソリューションの裏側全てお見せします!!
 
20130126 sc12-reading
20130126 sc12-reading20130126 sc12-reading
20130126 sc12-reading
 
2015年度GPGPU実践基礎工学 第14回 GPGPU組込開発環境
2015年度GPGPU実践基礎工学 第14回 GPGPU組込開発環境2015年度GPGPU実践基礎工学 第14回 GPGPU組込開発環境
2015年度GPGPU実践基礎工学 第14回 GPGPU組込開発環境
 
2015年度GPGPU実践基礎工学 第11回 GPUでの並列 プログラミング(ベクトル和)
2015年度GPGPU実践基礎工学 第11回 GPUでの並列プログラミング(ベクトル和)2015年度GPGPU実践基礎工学 第11回 GPUでの並列プログラミング(ベクトル和)
2015年度GPGPU実践基礎工学 第11回 GPUでの並列 プログラミング(ベクトル和)
 
(JP) GPGPUがPostgreSQLを加速する
(JP) GPGPUがPostgreSQLを加速する(JP) GPGPUがPostgreSQLを加速する
(JP) GPGPUがPostgreSQLを加速する
 
CMSI計算科学技術特論B(5) アプリケーションの性能最適化の実例2
CMSI計算科学技術特論B(5) アプリケーションの性能最適化の実例2CMSI計算科学技術特論B(5) アプリケーションの性能最適化の実例2
CMSI計算科学技術特論B(5) アプリケーションの性能最適化の実例2
 
2015年度GPGPU実践基礎工学 第7回 シングルコアとマルチコア
2015年度GPGPU実践基礎工学 第7回 シングルコアとマルチコア2015年度GPGPU実践基礎工学 第7回 シングルコアとマルチコア
2015年度GPGPU実践基礎工学 第7回 シングルコアとマルチコア
 
第11回 配信講義 計算科学技術特論B(2022)
第11回 配信講義 計算科学技術特論B(2022)第11回 配信講義 計算科学技術特論B(2022)
第11回 配信講義 計算科学技術特論B(2022)
 
Unity2018/2019における最適化事情
Unity2018/2019における最適化事情Unity2018/2019における最適化事情
Unity2018/2019における最適化事情
 

Mais de 智啓 出川

GPGPU Seminar (GPU Accelerated Libraries, 3 of 3, Thrust)
GPGPU Seminar (GPU Accelerated Libraries, 3 of 3, Thrust) GPGPU Seminar (GPU Accelerated Libraries, 3 of 3, Thrust)
GPGPU Seminar (GPU Accelerated Libraries, 3 of 3, Thrust)
智啓 出川
 
GPGPU Seminar (GPU Accelerated Libraries, 2 of 3, cuSPARSE)
GPGPU Seminar (GPU Accelerated Libraries, 2 of 3, cuSPARSE) GPGPU Seminar (GPU Accelerated Libraries, 2 of 3, cuSPARSE)
GPGPU Seminar (GPU Accelerated Libraries, 2 of 3, cuSPARSE)
智啓 出川
 
GPGPU Seminar (GPU Accelerated Libraries, 1 of 3, cuBLAS)
GPGPU Seminar (GPU Accelerated Libraries, 1 of 3, cuBLAS) GPGPU Seminar (GPU Accelerated Libraries, 1 of 3, cuBLAS)
GPGPU Seminar (GPU Accelerated Libraries, 1 of 3, cuBLAS)
智啓 出川
 
GPGPU Seminar (GPGPU and CUDA Fortran)
GPGPU Seminar (GPGPU and CUDA Fortran)GPGPU Seminar (GPGPU and CUDA Fortran)
GPGPU Seminar (GPGPU and CUDA Fortran)
智啓 出川
 
GPGPU Seminar (Accelerataion of Lattice Boltzmann Method using CUDA Fortran)
GPGPU Seminar (Accelerataion of Lattice Boltzmann Method using CUDA Fortran)GPGPU Seminar (Accelerataion of Lattice Boltzmann Method using CUDA Fortran)
GPGPU Seminar (Accelerataion of Lattice Boltzmann Method using CUDA Fortran)
智啓 出川
 
2015年度先端GPGPUシミュレーション工学特論 第14回 複数GPUの利用
2015年度先端GPGPUシミュレーション工学特論 第14回 複数GPUの利用2015年度先端GPGPUシミュレーション工学特論 第14回 複数GPUの利用
2015年度先端GPGPUシミュレーション工学特論 第14回 複数GPUの利用
智啓 出川
 
2015年度先端GPGPUシミュレーション工学特論 第13回 数値流体力学への応用 (高度な最適化)
2015年度先端GPGPUシミュレーション工学特論 第13回 数値流体力学への応用(高度な最適化)2015年度先端GPGPUシミュレーション工学特論 第13回 数値流体力学への応用(高度な最適化)
2015年度先端GPGPUシミュレーション工学特論 第13回 数値流体力学への応用 (高度な最適化)
智啓 出川
 
2015年度先端GPGPUシミュレーション工学特論 第10回 Poisson方程式の求解 (線形連立一次方程式)
2015年度先端GPGPUシミュレーション工学特論 第10回 Poisson方程式の求解(線形連立一次方程式)2015年度先端GPGPUシミュレーション工学特論 第10回 Poisson方程式の求解(線形連立一次方程式)
2015年度先端GPGPUシミュレーション工学特論 第10回 Poisson方程式の求解 (線形連立一次方程式)
智啓 出川
 
2015年度先端GPGPUシミュレーション工学特論 第9回 偏微分方程式の差分計算 (移流方程式)
2015年度先端GPGPUシミュレーション工学特論 第9回 偏微分方程式の差分計算(移流方程式)2015年度先端GPGPUシミュレーション工学特論 第9回 偏微分方程式の差分計算(移流方程式)
2015年度先端GPGPUシミュレーション工学特論 第9回 偏微分方程式の差分計算 (移流方程式)
智啓 出川
 

Mais de 智啓 出川 (20)

Fortranが拓く世界、VSCodeが架ける橋
Fortranが拓く世界、VSCodeが架ける橋Fortranが拓く世界、VSCodeが架ける橋
Fortranが拓く世界、VSCodeが架ける橋
 
Very helpful python code to find coefficients of the finite difference method
Very helpful python code to find coefficients of the finite difference methodVery helpful python code to find coefficients of the finite difference method
Very helpful python code to find coefficients of the finite difference method
 
Why do we confuse String and Array of Characters in Fortran?
Why do we confuse String and Array of Characters in Fortran?Why do we confuse String and Array of Characters in Fortran?
Why do we confuse String and Array of Characters in Fortran?
 
Pythonによる累乗近似
Pythonによる累乗近似Pythonによる累乗近似
Pythonによる累乗近似
 
数値計算結果のPythonによる後処理について(1次元データのピーク値およびその位置の推定)
数値計算結果のPythonによる後処理について(1次元データのピーク値およびその位置の推定)数値計算結果のPythonによる後処理について(1次元データのピーク値およびその位置の推定)
数値計算結果のPythonによる後処理について(1次元データのピーク値およびその位置の推定)
 
オブジェクト指向Fortranが拓く(はずだった)新しい世界
オブジェクト指向Fortranが拓く(はずだった)新しい世界オブジェクト指向Fortranが拓く(はずだった)新しい世界
オブジェクト指向Fortranが拓く(はずだった)新しい世界
 
Schematic diagrams of GPUs' architecture and Time evolution of theoretical FL...
Schematic diagrams of GPUs' architecture and Time evolution of theoretical FL...Schematic diagrams of GPUs' architecture and Time evolution of theoretical FL...
Schematic diagrams of GPUs' architecture and Time evolution of theoretical FL...
 
GPGPU Seminar (GPU Accelerated Libraries, 3 of 3, Thrust)
GPGPU Seminar (GPU Accelerated Libraries, 3 of 3, Thrust) GPGPU Seminar (GPU Accelerated Libraries, 3 of 3, Thrust)
GPGPU Seminar (GPU Accelerated Libraries, 3 of 3, Thrust)
 
GPGPU Seminar (GPU Accelerated Libraries, 2 of 3, cuSPARSE)
GPGPU Seminar (GPU Accelerated Libraries, 2 of 3, cuSPARSE) GPGPU Seminar (GPU Accelerated Libraries, 2 of 3, cuSPARSE)
GPGPU Seminar (GPU Accelerated Libraries, 2 of 3, cuSPARSE)
 
GPGPU Seminar (GPU Accelerated Libraries, 1 of 3, cuBLAS)
GPGPU Seminar (GPU Accelerated Libraries, 1 of 3, cuBLAS) GPGPU Seminar (GPU Accelerated Libraries, 1 of 3, cuBLAS)
GPGPU Seminar (GPU Accelerated Libraries, 1 of 3, cuBLAS)
 
GPGPU Education at Nagaoka University of Technology: A Trial Run
GPGPU Education at Nagaoka University of Technology: A Trial RunGPGPU Education at Nagaoka University of Technology: A Trial Run
GPGPU Education at Nagaoka University of Technology: A Trial Run
 
Cuda fortranの利便性を高めるfortran言語の機能
Cuda fortranの利便性を高めるfortran言語の機能Cuda fortranの利便性を高めるfortran言語の機能
Cuda fortranの利便性を高めるfortran言語の機能
 
PGI CUDA FortranとGPU最適化ライブラリの一連携法
PGI CUDA FortranとGPU最適化ライブラリの一連携法PGI CUDA FortranとGPU最適化ライブラリの一連携法
PGI CUDA FortranとGPU最適化ライブラリの一連携法
 
教育機関でのJetsonの活用の可能性
教育機関でのJetsonの活用の可能性教育機関でのJetsonの活用の可能性
教育機関でのJetsonの活用の可能性
 
GPGPU Seminar (GPGPU and CUDA Fortran)
GPGPU Seminar (GPGPU and CUDA Fortran)GPGPU Seminar (GPGPU and CUDA Fortran)
GPGPU Seminar (GPGPU and CUDA Fortran)
 
GPGPU Seminar (Accelerataion of Lattice Boltzmann Method using CUDA Fortran)
GPGPU Seminar (Accelerataion of Lattice Boltzmann Method using CUDA Fortran)GPGPU Seminar (Accelerataion of Lattice Boltzmann Method using CUDA Fortran)
GPGPU Seminar (Accelerataion of Lattice Boltzmann Method using CUDA Fortran)
 
2015年度先端GPGPUシミュレーション工学特論 第14回 複数GPUの利用
2015年度先端GPGPUシミュレーション工学特論 第14回 複数GPUの利用2015年度先端GPGPUシミュレーション工学特論 第14回 複数GPUの利用
2015年度先端GPGPUシミュレーション工学特論 第14回 複数GPUの利用
 
2015年度先端GPGPUシミュレーション工学特論 第13回 数値流体力学への応用 (高度な最適化)
2015年度先端GPGPUシミュレーション工学特論 第13回 数値流体力学への応用(高度な最適化)2015年度先端GPGPUシミュレーション工学特論 第13回 数値流体力学への応用(高度な最適化)
2015年度先端GPGPUシミュレーション工学特論 第13回 数値流体力学への応用 (高度な最適化)
 
2015年度先端GPGPUシミュレーション工学特論 第10回 Poisson方程式の求解 (線形連立一次方程式)
2015年度先端GPGPUシミュレーション工学特論 第10回 Poisson方程式の求解(線形連立一次方程式)2015年度先端GPGPUシミュレーション工学特論 第10回 Poisson方程式の求解(線形連立一次方程式)
2015年度先端GPGPUシミュレーション工学特論 第10回 Poisson方程式の求解 (線形連立一次方程式)
 
2015年度先端GPGPUシミュレーション工学特論 第9回 偏微分方程式の差分計算 (移流方程式)
2015年度先端GPGPUシミュレーション工学特論 第9回 偏微分方程式の差分計算(移流方程式)2015年度先端GPGPUシミュレーション工学特論 第9回 偏微分方程式の差分計算(移流方程式)
2015年度先端GPGPUシミュレーション工学特論 第9回 偏微分方程式の差分計算 (移流方程式)
 

2015年度先端GPGPUシミュレーション工学特論 第6回 プログラムの性能評価指針 (Flop/Byte,計算律速,メモリ律速)