Submit Search
Upload
Isca13 study
•
2 likes
•
1,600 views
Toshiya Komoda
Follow
研究室内部の論文読み会で使った資料です.
Read less
Read more
Report
Share
Report
Share
1 of 20
Download now
Download to read offline
Recommended
EnrootとPyxisで快適コンテナ生活
EnrootとPyxisで快適コンテナ生活
Kuninobu SaSaki
Router board勉強会vol2(配布用)
Router board勉強会vol2(配布用)
milk hanakara
KVM環境におけるネットワーク速度ベンチマーク
KVM環境におけるネットワーク速度ベンチマーク
VirtualTech Japan Inc.
Router board勉強会vol2(ベンチマーク班まとめ)
Router board勉強会vol2(ベンチマーク班まとめ)
milk hanakara
2015年度GPGPU実践基礎工学 第7回 シングルコアとマルチコア
2015年度GPGPU実践基礎工学 第7回 シングルコアとマルチコア
智啓 出川
A100 GPU 搭載! P4d インスタンス使いこなしのコツ
A100 GPU 搭載! P4d インスタンス使いこなしのコツ
Kuninobu SaSaki
2015年度先端GPGPUシミュレーション工学特論 第5回 GPUのメモリ階層の詳細(様々なメモリの利用)
2015年度先端GPGPUシミュレーション工学特論 第5回 GPUのメモリ階層の詳細(様々なメモリの利用)
智啓 出川
2015年度GPGPU実践基礎工学 第6回 ソフトウェアによるCPUの高速化技術
2015年度GPGPU実践基礎工学 第6回 ソフトウェアによるCPUの高速化技術
智啓 出川
Recommended
EnrootとPyxisで快適コンテナ生活
EnrootとPyxisで快適コンテナ生活
Kuninobu SaSaki
Router board勉強会vol2(配布用)
Router board勉強会vol2(配布用)
milk hanakara
KVM環境におけるネットワーク速度ベンチマーク
KVM環境におけるネットワーク速度ベンチマーク
VirtualTech Japan Inc.
Router board勉強会vol2(ベンチマーク班まとめ)
Router board勉強会vol2(ベンチマーク班まとめ)
milk hanakara
2015年度GPGPU実践基礎工学 第7回 シングルコアとマルチコア
2015年度GPGPU実践基礎工学 第7回 シングルコアとマルチコア
智啓 出川
A100 GPU 搭載! P4d インスタンス使いこなしのコツ
A100 GPU 搭載! P4d インスタンス使いこなしのコツ
Kuninobu SaSaki
2015年度先端GPGPUシミュレーション工学特論 第5回 GPUのメモリ階層の詳細(様々なメモリの利用)
2015年度先端GPGPUシミュレーション工学特論 第5回 GPUのメモリ階層の詳細(様々なメモリの利用)
智啓 出川
2015年度GPGPU実践基礎工学 第6回 ソフトウェアによるCPUの高速化技術
2015年度GPGPU実践基礎工学 第6回 ソフトウェアによるCPUの高速化技術
智啓 出川
Jubatus 新機能ハイライト
Jubatus 新機能ハイライト
JubatusOfficial
(JP) GPGPUがPostgreSQLを加速する
(JP) GPGPUがPostgreSQLを加速する
Kohei KaiGai
サバフェスLT(元うなぎ屋)
サバフェスLT(元うなぎ屋)
snicker_jp
NVIDIA Japan Seminar 2012
NVIDIA Japan Seminar 2012
Takuro Iizuka
【旧版】2009/12/10 GPUコンピューティングの現状とスーパーコンピューティングの未来
【旧版】2009/12/10 GPUコンピューティングの現状とスーパーコンピューティングの未来
Preferred Networks
Slurmのジョブスケジューリングと実装
Slurmのジョブスケジューリングと実装
Ryuichi Sakamoto
EthernetやCPUなどの話
EthernetやCPUなどの話
Takanori Sejima
Sesanboot ja
Sesanboot ja
pcwhaha
[Cyber HPC Symposium 2019] Microsoft Azureによる、クラウド時代のハイパフォーマンスコンピューティング High...
[Cyber HPC Symposium 2019] Microsoft Azureによる、クラウド時代のハイパフォーマンスコンピューティング High...
Shuichi Gojuki
[Azure Antenna] クラウドで HPC ~ HPC on Azure ~
[Azure Antenna] クラウドで HPC ~ HPC on Azure ~
Shuichi Gojuki
「Windows Azure でスーパーコンピューティング!」for Microsoft MVP camp 2014 大阪会場
「Windows Azure でスーパーコンピューティング!」for Microsoft MVP camp 2014 大阪会場
幸智 Yukinori 黒田 Kuroda
2015年度先端GPGPUシミュレーション工学特論 第2回 GPUによる並列計算の概念とメモリアクセス
2015年度先端GPGPUシミュレーション工学特論 第2回 GPUによる並列計算の概念とメモリアクセス
智啓 出川
2015年度GPGPU実践基礎工学 第8回 並列計算の概念(プロセスとスレッド)
2015年度GPGPU実践基礎工学 第8回 並列計算の概念(プロセスとスレッド)
智啓 出川
システムパフォーマンス勉強会#1
システムパフォーマンス勉強会#1
shingo suzuki
システムパフォーマンス勉強会#5
システムパフォーマンス勉強会#5
shingo suzuki
2015年度GPGPU実践基礎工学 第1回 学際的分野における先端シミュレーション技術の歴史
2015年度GPGPU実践基礎工学 第1回 学際的分野における先端シミュレーション技術の歴史
智啓 出川
システムパフォーマンス勉強会#8
システムパフォーマンス勉強会#8
shingo suzuki
2015年度GPGPU実践基礎工学 第5回 ハードウェアによるCPUの高速化技術
2015年度GPGPU実践基礎工学 第5回 ハードウェアによるCPUの高速化技術
智啓 出川
Native Memory Tracking
Native Memory Tracking
Takahiro YAMADA
2015年度GPGPU実践基礎工学 第15回 GPGPU開発環境(OpenCL)
2015年度GPGPU実践基礎工学 第15回 GPGPU開発環境(OpenCL)
智啓 出川
ACRi_webinar_20220118_miyo
ACRi_webinar_20220118_miyo
Takefumi MIYOSHI
UE4におけるLoadingとGCのProfilingと最適化手法
UE4におけるLoadingとGCのProfilingと最適化手法
エピック・ゲームズ・ジャパン Epic Games Japan
More Related Content
What's hot
Jubatus 新機能ハイライト
Jubatus 新機能ハイライト
JubatusOfficial
(JP) GPGPUがPostgreSQLを加速する
(JP) GPGPUがPostgreSQLを加速する
Kohei KaiGai
サバフェスLT(元うなぎ屋)
サバフェスLT(元うなぎ屋)
snicker_jp
NVIDIA Japan Seminar 2012
NVIDIA Japan Seminar 2012
Takuro Iizuka
【旧版】2009/12/10 GPUコンピューティングの現状とスーパーコンピューティングの未来
【旧版】2009/12/10 GPUコンピューティングの現状とスーパーコンピューティングの未来
Preferred Networks
Slurmのジョブスケジューリングと実装
Slurmのジョブスケジューリングと実装
Ryuichi Sakamoto
EthernetやCPUなどの話
EthernetやCPUなどの話
Takanori Sejima
Sesanboot ja
Sesanboot ja
pcwhaha
[Cyber HPC Symposium 2019] Microsoft Azureによる、クラウド時代のハイパフォーマンスコンピューティング High...
[Cyber HPC Symposium 2019] Microsoft Azureによる、クラウド時代のハイパフォーマンスコンピューティング High...
Shuichi Gojuki
[Azure Antenna] クラウドで HPC ~ HPC on Azure ~
[Azure Antenna] クラウドで HPC ~ HPC on Azure ~
Shuichi Gojuki
「Windows Azure でスーパーコンピューティング!」for Microsoft MVP camp 2014 大阪会場
「Windows Azure でスーパーコンピューティング!」for Microsoft MVP camp 2014 大阪会場
幸智 Yukinori 黒田 Kuroda
2015年度先端GPGPUシミュレーション工学特論 第2回 GPUによる並列計算の概念とメモリアクセス
2015年度先端GPGPUシミュレーション工学特論 第2回 GPUによる並列計算の概念とメモリアクセス
智啓 出川
2015年度GPGPU実践基礎工学 第8回 並列計算の概念(プロセスとスレッド)
2015年度GPGPU実践基礎工学 第8回 並列計算の概念(プロセスとスレッド)
智啓 出川
システムパフォーマンス勉強会#1
システムパフォーマンス勉強会#1
shingo suzuki
システムパフォーマンス勉強会#5
システムパフォーマンス勉強会#5
shingo suzuki
2015年度GPGPU実践基礎工学 第1回 学際的分野における先端シミュレーション技術の歴史
2015年度GPGPU実践基礎工学 第1回 学際的分野における先端シミュレーション技術の歴史
智啓 出川
システムパフォーマンス勉強会#8
システムパフォーマンス勉強会#8
shingo suzuki
2015年度GPGPU実践基礎工学 第5回 ハードウェアによるCPUの高速化技術
2015年度GPGPU実践基礎工学 第5回 ハードウェアによるCPUの高速化技術
智啓 出川
Native Memory Tracking
Native Memory Tracking
Takahiro YAMADA
2015年度GPGPU実践基礎工学 第15回 GPGPU開発環境(OpenCL)
2015年度GPGPU実践基礎工学 第15回 GPGPU開発環境(OpenCL)
智啓 出川
What's hot
(20)
Jubatus 新機能ハイライト
Jubatus 新機能ハイライト
(JP) GPGPUがPostgreSQLを加速する
(JP) GPGPUがPostgreSQLを加速する
サバフェスLT(元うなぎ屋)
サバフェスLT(元うなぎ屋)
NVIDIA Japan Seminar 2012
NVIDIA Japan Seminar 2012
【旧版】2009/12/10 GPUコンピューティングの現状とスーパーコンピューティングの未来
【旧版】2009/12/10 GPUコンピューティングの現状とスーパーコンピューティングの未来
Slurmのジョブスケジューリングと実装
Slurmのジョブスケジューリングと実装
EthernetやCPUなどの話
EthernetやCPUなどの話
Sesanboot ja
Sesanboot ja
[Cyber HPC Symposium 2019] Microsoft Azureによる、クラウド時代のハイパフォーマンスコンピューティング High...
[Cyber HPC Symposium 2019] Microsoft Azureによる、クラウド時代のハイパフォーマンスコンピューティング High...
[Azure Antenna] クラウドで HPC ~ HPC on Azure ~
[Azure Antenna] クラウドで HPC ~ HPC on Azure ~
「Windows Azure でスーパーコンピューティング!」for Microsoft MVP camp 2014 大阪会場
「Windows Azure でスーパーコンピューティング!」for Microsoft MVP camp 2014 大阪会場
2015年度先端GPGPUシミュレーション工学特論 第2回 GPUによる並列計算の概念とメモリアクセス
2015年度先端GPGPUシミュレーション工学特論 第2回 GPUによる並列計算の概念とメモリアクセス
2015年度GPGPU実践基礎工学 第8回 並列計算の概念(プロセスとスレッド)
2015年度GPGPU実践基礎工学 第8回 並列計算の概念(プロセスとスレッド)
システムパフォーマンス勉強会#1
システムパフォーマンス勉強会#1
システムパフォーマンス勉強会#5
システムパフォーマンス勉強会#5
2015年度GPGPU実践基礎工学 第1回 学際的分野における先端シミュレーション技術の歴史
2015年度GPGPU実践基礎工学 第1回 学際的分野における先端シミュレーション技術の歴史
システムパフォーマンス勉強会#8
システムパフォーマンス勉強会#8
2015年度GPGPU実践基礎工学 第5回 ハードウェアによるCPUの高速化技術
2015年度GPGPU実践基礎工学 第5回 ハードウェアによるCPUの高速化技術
Native Memory Tracking
Native Memory Tracking
2015年度GPGPU実践基礎工学 第15回 GPGPU開発環境(OpenCL)
2015年度GPGPU実践基礎工学 第15回 GPGPU開発環境(OpenCL)
Similar to Isca13 study
ACRi_webinar_20220118_miyo
ACRi_webinar_20220118_miyo
Takefumi MIYOSHI
UE4におけるLoadingとGCのProfilingと最適化手法
UE4におけるLoadingとGCのProfilingと最適化手法
エピック・ゲームズ・ジャパン Epic Games Japan
[DL Hacks]FPGA入門
[DL Hacks]FPGA入門
Deep Learning JP
Sparkパフォーマンス検証
Sparkパフォーマンス検証
BrainPad Inc.
2009/12/10 GPUコンピューティングの現状とスーパーコンピューティングの未来
2009/12/10 GPUコンピューティングの現状とスーパーコンピューティングの未来
Preferred Networks
Cmc cmd slim
Cmc cmd slim
Shinji Shimojo
CMSI計算科学技術特論A(7) 線形代数演算ライブラリBLASとLAPACKの基礎と実践2
CMSI計算科学技術特論A(7) 線形代数演算ライブラリBLASとLAPACKの基礎と実践2
Computational Materials Science Initiative
20130126 sc12-reading
20130126 sc12-reading
Toshiya Komoda
High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...
High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...
Takuma Usui
20180729 Preferred Networksの機械学習クラスタを支える技術
20180729 Preferred Networksの機械学習クラスタを支える技術
Preferred Networks
ASPLOS2017: Building Durable Transactions with Decoupling for Persistent Memory
ASPLOS2017: Building Durable Transactions with Decoupling for Persistent Memory
Atsushi Koshiba
Ethernetの受信処理
Ethernetの受信処理
Takuya ASADA
機械学習 / Deep Learning 大全 (6) Library編
機械学習 / Deep Learning 大全 (6) Library編
Daiyu Hatakeyama
45分で理解する 最近のスパコン事情 斉藤之雄
45分で理解する 最近のスパコン事情 斉藤之雄
Yukio Saito
20160625 cloud samuai_final
20160625 cloud samuai_final
Takano Masaru
[DL Hacks]ディープラーニングを まともに動かすために ハードウェアの人が考えていること
[DL Hacks]ディープラーニングを まともに動かすために ハードウェアの人が考えていること
Deep Learning JP
MemoryPlus Workshop
MemoryPlus Workshop
Hitoshi Sato
CPUの同時実行機能
CPUの同時実行機能
Shinichiro Niiyama
Hello, DirectCompute
Hello, DirectCompute
dasyprocta
PEZY-SC2上における倍々精度Rgemmの実装と評価
PEZY-SC2上における倍々精度Rgemmの実装と評価
Toshiaki Hishinuma
Similar to Isca13 study
(20)
ACRi_webinar_20220118_miyo
ACRi_webinar_20220118_miyo
UE4におけるLoadingとGCのProfilingと最適化手法
UE4におけるLoadingとGCのProfilingと最適化手法
[DL Hacks]FPGA入門
[DL Hacks]FPGA入門
Sparkパフォーマンス検証
Sparkパフォーマンス検証
2009/12/10 GPUコンピューティングの現状とスーパーコンピューティングの未来
2009/12/10 GPUコンピューティングの現状とスーパーコンピューティングの未来
Cmc cmd slim
Cmc cmd slim
CMSI計算科学技術特論A(7) 線形代数演算ライブラリBLASとLAPACKの基礎と実践2
CMSI計算科学技術特論A(7) 線形代数演算ライブラリBLASとLAPACKの基礎と実践2
20130126 sc12-reading
20130126 sc12-reading
High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...
High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...
20180729 Preferred Networksの機械学習クラスタを支える技術
20180729 Preferred Networksの機械学習クラスタを支える技術
ASPLOS2017: Building Durable Transactions with Decoupling for Persistent Memory
ASPLOS2017: Building Durable Transactions with Decoupling for Persistent Memory
Ethernetの受信処理
Ethernetの受信処理
機械学習 / Deep Learning 大全 (6) Library編
機械学習 / Deep Learning 大全 (6) Library編
45分で理解する 最近のスパコン事情 斉藤之雄
45分で理解する 最近のスパコン事情 斉藤之雄
20160625 cloud samuai_final
20160625 cloud samuai_final
[DL Hacks]ディープラーニングを まともに動かすために ハードウェアの人が考えていること
[DL Hacks]ディープラーニングを まともに動かすために ハードウェアの人が考えていること
MemoryPlus Workshop
MemoryPlus Workshop
CPUの同時実行機能
CPUの同時実行機能
Hello, DirectCompute
Hello, DirectCompute
PEZY-SC2上における倍々精度Rgemmの実装と評価
PEZY-SC2上における倍々精度Rgemmの実装と評価
More from Toshiya Komoda
5分で分かるselenium conference berlin 2017
5分で分かるselenium conference berlin 2017
Toshiya Komoda
Introduce Machine Learning into UI Tests
Introduce Machine Learning into UI Tests
Toshiya Komoda
selenimu commiter day 2017: Methods to Sustain Long Term Operations of E2E Au...
selenimu commiter day 2017: Methods to Sustain Long Term Operations of E2E Au...
Toshiya Komoda
CUDA & OpenCL GPUコンピューティングって何?
CUDA & OpenCL GPUコンピューティングって何?
Toshiya Komoda
Micro12勉強会 20130303
Micro12勉強会 20130303
Toshiya Komoda
2012 1203-researchers-cafe
2012 1203-researchers-cafe
Toshiya Komoda
More from Toshiya Komoda
(6)
5分で分かるselenium conference berlin 2017
5分で分かるselenium conference berlin 2017
Introduce Machine Learning into UI Tests
Introduce Machine Learning into UI Tests
selenimu commiter day 2017: Methods to Sustain Long Term Operations of E2E Au...
selenimu commiter day 2017: Methods to Sustain Long Term Operations of E2E Au...
CUDA & OpenCL GPUコンピューティングって何?
CUDA & OpenCL GPUコンピューティングって何?
Micro12勉強会 20130303
Micro12勉強会 20130303
2012 1203-researchers-cafe
2012 1203-researchers-cafe
Isca13 study
1.
ISCA’13 勉強会: Orchestrated Scheduling
and Prefetching for GPGPUs 中村研究室 D3 薦田 登志矢 2013年 8月 22日 木曜日 ISCA'13 勉強会 1
2.
紹介論文の概要 2013年 8月 22日
木曜日 ISCA'13 勉強会 2 • GPGPUと言えば, 涙ぐましいSW最適化の話ばかりなイメージ • 特にメモリ周り à こういうSW最適化をしなくて済むように, HW屋さん側でも様々な研究 がなされ始めている. で, 今回の紹介論文. • 「Orchestrated Scheduling and Prefetching for GPGPUs」 Adwait Jog et al. ISCA’13 HW プリフェッチを用いて, GPGPUプログラムのメモリアクセス レイテンシ隠蔽を目指す.
3.
(GP)GPUのアーキテクチャ • インオーダーSIMDコアが大量に詰まれており, 数千〜数万の スレッドを並列実行. •
各コアは数十KBのL1Dキャッシュを持つ. • 今回の話は, 各コア上で並列スレッドの実行順序をHW側で工夫するとL1D キャッシュへのプリフェッチが良く効くようになるという話. 2013年 8月 22日 木曜日 ISCA'13 勉強会 3 NVIDIA Kepler Architecture
4.
SIMDとSIMT(GPGPU)の実行方式の違い • SIMD • 一つの命令を複数のデータに対して,
並列実行. • ベクタ長を大きくすることは難しい • PCが一つしかないため, メモリアクセスが発生すると全体が止まってしまうため. Data 0 32 64 96 127 PC Inst1 Inst2 Inst3 2013年 8月 22日 木曜日 ISCA'13 勉強会 4 128 way SIMD の模式図
5.
SIMDとSIMT(GPGPU)の実行方式の違い Data 0 32 64
96 127 PC warp1 Inst1 Inst2 Inst3 32 way SIMD PC warp2 PC warp3 PC warp4 2013年 8月 22日 木曜日 • SIMT • 並列スレッド全体を固定長のwarpに分割. それぞれが, 独立のPCを持つ. • 並列スレッド数 (SIMDではベクタ長に相当) を大きくしても問題ない. • PCが複数(warp ごとに)あるので, メモリアクセスによるストールは当該のwarp がストールするだけで良い. • 複数のWarpの実行順序に任意性が存在する • Warp Scheduling Problem Warp 1 Warp 2 Warp 3 Warp 4 ISCA'13 勉強会 5
6.
単純な Warp Scheduling Data 0
32 64 96 127 Inst1 Inst2 Inst3 1 2 3 4 5 6 7 8 12 11 10 9 … memi 404 403 402 401 2013年 8月 22日 木曜日 Warp 1 Warp 2 Warp 3 Warp 4 実行順序 メモリアクセス (Long Latency) ISCA'13 勉強会 6 • RR: Round Robin (商用GPUで良く使われる) • 全ての Warp が同時にメモリストールし, 計算可能な warp が なくなることが多い. 従って, 実行性能が低い.
7.
Warp Schedulingによるオーバーラップ実行 Data 0 32
64 96 127 Inst1 Inst2 Inst3 1 2 3 4 6 5 … mem 202 201 Group 1 2013年 8月 22日 木曜日 Group 2 Warp 1 Warp 2 Warp 3 Warp 4 メモリアクセス (Long Latency) ISCA'13 勉強会 7 実行順序 • Two-Level Warp Scheduling (Micro’11) • warp を グループ化し, グループ間でメモリアクセスが同時に発生しない ように実行タイミングを調整することで, 性能向上.
8.
Warp Schedulingによるオーバーラップ実行 Data 0 32
64 96 127 Inst1 Inst2 Inst3 1 2 3 4 6 5 … mem 202 201 メモリアクセス (Long Latency) Group 1 2013年 8月 22日 木曜日 Group 2 Warp 1 Warp 2 Warp 3 Warp 4 203 204 205 206 208 207 404 403 Group1のメモリ アクセスとオーバー ラップ実行することで 性能向上 ISCA'13 勉強会 8 実行順序 • Two-Level Warp Scheduling (Micro’11) • warp を グループ化し, グループ間でメモリアクセスが同時に発生しない ように実行タイミングを調整することで, 性能向上.
9.
0 1 2 3 4 5 6 7 SSC PVC KMN SPMV BFSR FFT SCP BLK FWT JPEG GMEAN Round-robin (RR) Two-level
(TL) 理想的にプリフェッチが成功した場合のIPC向上率 2.20X 1.88X 2013年 8月 22日 木曜日 予備評価: GPGPUでプリフェッチを考える ことにどれくらい意味があるのか? ISCA'13 勉強会 9 • RR, TL ともにプリフェッチによって性能を向上できる余地は 大きい.
10.
想定するプリフェッチアルゴリズム • 様々なプリフェッチアルゴリズムが考えられるが, HWの実装 コストが小さい以下のアルゴリズムを想定. •
Spatial Locality Detection Based Prefetching 1. 連続するアドレスに対応するCache Lineをグループ化する. • e.g. Cache Block 128B, 2つのCache Blockを一つのGroupにする 2. 各Group内に存在するCache Blockの半分がミスしたら, 残りの Cache Blockをプリフェッチ 2013年 8月 22日 木曜日 ISCA'13 勉強会 10 Line1 Line2 Miss Prefetch Group of Cache Lines
11.
TL Scheduling時のプリフェッチ動作とその問題点 • 同一グループ内のwarp
が利用するデータしかプリフェッチされず, 性能が向上しない • 異なるWarp group は, 異なるCache Group内のデータを利用するた め, プリフェッチ対象にならない. 2013年 8月 22日 木曜日 ISCA'13 勉強会 11 Data 0 32 64 96 127 … mem 202 201 Group 1 Group 2 Warp 1 Warp 2 Warp 3 Warp 4 メモリアクセス (Long Latency) Miss Prefetch Prefetch が間に合わないので, 結局ミス. 性能向上効果はない à Schedulingの工夫で, 何とかならないか? Cache Group
12.
提案手法: Prefetch-aware warp (PA)
scheduling 2013年 8月 22日 木曜日 Data 0 32 64 96 127 Inst1 Inst2 Inst3 1 2 3 4 6 5 … mem 202 201 Group 1 Group 2 Warp 1 Warp 2 Warp 3 Warp 4 メモリアクセス (Long Latency) メモリアクセス (Long Latency) ISCA'13 勉強会 12 実行順序 • TL Scheduling における warp grouping の仕方を, ストライド方式に 変更
13.
提案手法: Prefetch-aware warp (PA)
scheduling 2013年 8月 22日 木曜日 Data 0 32 64 96 127 Inst1 Inst2 Inst3 1 2 3 4 6 5 … mem 202 201 Group 1 Group 2 Warp 1 Warp 2 Warp 3 Warp 4 メモリアクセス (Long Latency) メモリアクセス (Long Latency) 203 205 207 403 204 206 208 404 Group1のメモリ アクセスとオーバー ラップ実行することで 性能向上 ISCA'13 勉強会 13 実行順序 • TL Scheduling における warp grouping の仕方を, ストライド方式に 変更
14.
PA Scheduling 時のプリフェッチ動作 •
異なるグループの warp が利用するデータをプリフェッチできる • 異なる warp group は, 異なる Cache Group内のデータを 利用しやすい. 2013年 8月 22日 木曜日 ISCA'13 勉強会 14 Data 0 32 64 96 127 … mem 202 201 Warp 1 Warp 2 Warp 3 Warp 4 メモリアクセス (Long Latency) Miss Prefetch Cache Group Group 1 Group 2 Miss Prefetch
15.
PA Scheduling 時のプリフェッチ動作 •
異なるグループの warp が利用するデータをプリフェッチできる • 異なる warp group は, 異なる Cache Group内のデータを 利用しやすい. 2013年 8月 22日 木曜日 ISCA'13 勉強会 15 Data 0 32 64 96 127 … mem 202 201 Warp 1 Warp 2 Warp 3 Warp 4 メモリアクセス (Long Latency) Miss Prefetch Cache Group Group 1 Group 2 Miss Prefetch 403 404 Group2 のメモリ命令以前の命令実行中に プリフェッチが終了. L1D にヒットするため, 性能が向上する! Hit Hit
16.
評価環境 • GPGPU-Sim: GPUのサイクルレベルシミュレータ •
ハードウェア構成 • 30 SMs, 8 memory controllers, crossbar connected • 1300MHz, SIMT Width = 8, Max. 1024 threads/core • 32 KB L1 データキャッシュ, 8 KB Texture and Constant Caches • L1 Prefetcher : Locality Detector based Prefetcher • GDDR3@1100MHz • ベンチマークアプリ • Mapreduce Applications • Rodinia • Parboil • NVIDIA CUDA SDK – GPGPU Applications 2013年 8月 22日 木曜日 ISCA'13 勉強会 16
17.
プリフェッチの正確さの評価 85% 89% 90% 0% 20% 40% 60% 80% 100% 89%
86% 69% 0% 20% 40% 60% 80% 100% Fraction of Late Prefetches Prefetch Accuracy RR+Prefetching TL+Prefetching PA+Prefetching 2013年 8月 22日 木曜日 • PA Scheduling によって, 間に合わないプリフェッチリクエストの 数が減少. ISCA'13 勉強会 17
18.
プリフェッチによるミス率の減少幅 • 間に合うプリフェッチが増えたことで,
L1 D キャッシュのミス率 削減率が, 大幅に増加. 2013年 8月 22日 木曜日 2% 4% 16% 0% 5% 10% 15% 20% Reduction in L1D Miss Rates RR+Prefetching TL+Prefetching PA+Prefetching ISCA'13 勉強会 18
19.
性能評価 (IPC向上率) • Round
Robin+ Prefetching に対して 25% 性能向上 • Two Level Scheduling + Prefetching に対して 7% 性能向上 2013年 8月 22日 木曜日 0.5 1 1.5 2 2.5 3 SSC PVC KMN SPMV BFSR FFT SCP BLK FWT JPEG GMEAN RR+Prefetching TL TL+Prefetching Prefetch-aware (PA) PA+Prefetching 1.01 1.16 1.19 1.20 1.26 ISCA'13 勉強会 19
20.
まとめ • GPGPU アーキテクチャのHW最適化のお話 •
やはり, GPGPUはメモリがボトルネック. コア内での並列 スレッドの実行順序を工夫することで, 既存プリフェッチ手法の 効果を高めることに成功. • Round Robin+ Prefetching に対して 25% 性能向上 • Two Level Scheduling + Prefetching に対して 7% 性能向上 • プリフェッチの効果を高めるための, スレッドスケジューリング という発想が面白い. 2013年 8月 22日 木曜日 ISCA'13 勉強会 20
Download now