Enviar pesquisa
Carregar
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
•
2 gostaram
•
1,118 visualizações
Hitoshi Sato
Seguir
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会のスライド
Leia menos
Leia mais
Engenharia
Vista de apresentação de diapositivos
Denunciar
Compartilhar
Vista de apresentação de diapositivos
Denunciar
Compartilhar
1 de 27
Baixar agora
Baixar para ler offline
Recomendados
Singularityで分散深層学習
Singularityで分散深層学習
Hitoshi Sato
How to Schedule Machine Learning Workloads Nicely In Kubernetes #CNDT2020 / C...
How to Schedule Machine Learning Workloads Nicely In Kubernetes #CNDT2020 / C...
Preferred Networks
About GStreamer 1.0 application development for beginners
About GStreamer 1.0 application development for beginners
Shota TAMURA
三次元点群処理ライブラリPCLと 統合ロボットシステム研究での 利用例の紹介
三次元点群処理ライブラリPCLと 統合ロボットシステム研究での 利用例の紹介
Ryohei Ueda
3GPP TS 38.300-100まとめ
3GPP TS 38.300-100まとめ
Tetsuya Hasegawa
Gpuフォトンマッピング手法 h26-09-kgussan-第2回レイトレ合宿
Gpuフォトンマッピング手法 h26-09-kgussan-第2回レイトレ合宿
Takahiro KOGUCHI
PGroonga – Make PostgreSQL fast full text search platform for all languages!
PGroonga – Make PostgreSQL fast full text search platform for all languages!
Kouhei Sutou
Gstreamer Basics
Gstreamer Basics
Seiji Hiraki
Recomendados
Singularityで分散深層学習
Singularityで分散深層学習
Hitoshi Sato
How to Schedule Machine Learning Workloads Nicely In Kubernetes #CNDT2020 / C...
How to Schedule Machine Learning Workloads Nicely In Kubernetes #CNDT2020 / C...
Preferred Networks
About GStreamer 1.0 application development for beginners
About GStreamer 1.0 application development for beginners
Shota TAMURA
三次元点群処理ライブラリPCLと 統合ロボットシステム研究での 利用例の紹介
三次元点群処理ライブラリPCLと 統合ロボットシステム研究での 利用例の紹介
Ryohei Ueda
3GPP TS 38.300-100まとめ
3GPP TS 38.300-100まとめ
Tetsuya Hasegawa
Gpuフォトンマッピング手法 h26-09-kgussan-第2回レイトレ合宿
Gpuフォトンマッピング手法 h26-09-kgussan-第2回レイトレ合宿
Takahiro KOGUCHI
PGroonga – Make PostgreSQL fast full text search platform for all languages!
PGroonga – Make PostgreSQL fast full text search platform for all languages!
Kouhei Sutou
Gstreamer Basics
Gstreamer Basics
Seiji Hiraki
Deep Dive into the Linux Kernel - メモリ管理におけるCompaction機能について
Deep Dive into the Linux Kernel - メモリ管理におけるCompaction機能について
NTT DATA Technology & Innovation
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
Preferred Networks
pg_trgmと全文検索
pg_trgmと全文検索
NTT DATA OSS Professional Services
ネットワークでなぜ遅延が生じるのか
ネットワークでなぜ遅延が生じるのか
Jun Kato
Lucas kanade法について
Lucas kanade法について
Hitoshi Nishimura
3D CNNによる人物行動認識の動向
3D CNNによる人物行動認識の動向
Kensho Hara
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
Preferred Networks
[Dl輪読会]A simple neural network module for relational reasoning
[Dl輪読会]A simple neural network module for relational reasoning
Deep Learning JP
【DL輪読会】Patches Are All You Need? (ConvMixer)
【DL輪読会】Patches Are All You Need? (ConvMixer)
Deep Learning JP
モデル高速化百選
モデル高速化百選
Yusuke Uchida
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
NTT DATA Technology & Innovation
レイトレ空間構造入門
レイトレ空間構造入門
Toru Matsuoka
CuPy解説
CuPy解説
Ryosuke Okuta
1076: CUDAデバッグ・プロファイリング入門
1076: CUDAデバッグ・プロファイリング入門
NVIDIA Japan
深層学習を用いたコンピュータビジョン技術とスマートショップの実現
深層学習を用いたコンピュータビジョン技術とスマートショップの実現
DeNA
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
Fixstars Corporation
ソフト高速化の専門家が教える!AI・IoTエッジデバイスの選び方
ソフト高速化の専門家が教える!AI・IoTエッジデバイスの選び方
Fixstars Corporation
【DL輪読会】EPro-PnP: Generalized End-to-End Probabilistic Perspective-n-Pointsfor...
【DL輪読会】EPro-PnP: Generalized End-to-End Probabilistic Perspective-n-Pointsfor...
Deep Learning JP
Your hash is.
Your hash is.
abend_cve_9999_0001
カルマンフィルタ入門
カルマンフィルタ入門
Yasunori Nihei
GTC Japan 2017
GTC Japan 2017
Hitoshi Sato
45分で理解する 最近のスパコン事情 斉藤之雄
45分で理解する 最近のスパコン事情 斉藤之雄
Yukio Saito
Mais conteúdo relacionado
Mais procurados
Deep Dive into the Linux Kernel - メモリ管理におけるCompaction機能について
Deep Dive into the Linux Kernel - メモリ管理におけるCompaction機能について
NTT DATA Technology & Innovation
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
Preferred Networks
pg_trgmと全文検索
pg_trgmと全文検索
NTT DATA OSS Professional Services
ネットワークでなぜ遅延が生じるのか
ネットワークでなぜ遅延が生じるのか
Jun Kato
Lucas kanade法について
Lucas kanade法について
Hitoshi Nishimura
3D CNNによる人物行動認識の動向
3D CNNによる人物行動認識の動向
Kensho Hara
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
Preferred Networks
[Dl輪読会]A simple neural network module for relational reasoning
[Dl輪読会]A simple neural network module for relational reasoning
Deep Learning JP
【DL輪読会】Patches Are All You Need? (ConvMixer)
【DL輪読会】Patches Are All You Need? (ConvMixer)
Deep Learning JP
モデル高速化百選
モデル高速化百選
Yusuke Uchida
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
NTT DATA Technology & Innovation
レイトレ空間構造入門
レイトレ空間構造入門
Toru Matsuoka
CuPy解説
CuPy解説
Ryosuke Okuta
1076: CUDAデバッグ・プロファイリング入門
1076: CUDAデバッグ・プロファイリング入門
NVIDIA Japan
深層学習を用いたコンピュータビジョン技術とスマートショップの実現
深層学習を用いたコンピュータビジョン技術とスマートショップの実現
DeNA
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
Fixstars Corporation
ソフト高速化の専門家が教える!AI・IoTエッジデバイスの選び方
ソフト高速化の専門家が教える!AI・IoTエッジデバイスの選び方
Fixstars Corporation
【DL輪読会】EPro-PnP: Generalized End-to-End Probabilistic Perspective-n-Pointsfor...
【DL輪読会】EPro-PnP: Generalized End-to-End Probabilistic Perspective-n-Pointsfor...
Deep Learning JP
Your hash is.
Your hash is.
abend_cve_9999_0001
カルマンフィルタ入門
カルマンフィルタ入門
Yasunori Nihei
Mais procurados
(20)
Deep Dive into the Linux Kernel - メモリ管理におけるCompaction機能について
Deep Dive into the Linux Kernel - メモリ管理におけるCompaction機能について
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
pg_trgmと全文検索
pg_trgmと全文検索
ネットワークでなぜ遅延が生じるのか
ネットワークでなぜ遅延が生じるのか
Lucas kanade法について
Lucas kanade法について
3D CNNによる人物行動認識の動向
3D CNNによる人物行動認識の動向
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
[Dl輪読会]A simple neural network module for relational reasoning
[Dl輪読会]A simple neural network module for relational reasoning
【DL輪読会】Patches Are All You Need? (ConvMixer)
【DL輪読会】Patches Are All You Need? (ConvMixer)
モデル高速化百選
モデル高速化百選
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
レイトレ空間構造入門
レイトレ空間構造入門
CuPy解説
CuPy解説
1076: CUDAデバッグ・プロファイリング入門
1076: CUDAデバッグ・プロファイリング入門
深層学習を用いたコンピュータビジョン技術とスマートショップの実現
深層学習を用いたコンピュータビジョン技術とスマートショップの実現
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
ソフト高速化の専門家が教える!AI・IoTエッジデバイスの選び方
ソフト高速化の専門家が教える!AI・IoTエッジデバイスの選び方
【DL輪読会】EPro-PnP: Generalized End-to-End Probabilistic Perspective-n-Pointsfor...
【DL輪読会】EPro-PnP: Generalized End-to-End Probabilistic Perspective-n-Pointsfor...
Your hash is.
Your hash is.
カルマンフィルタ入門
カルマンフィルタ入門
Semelhante a 第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
GTC Japan 2017
GTC Japan 2017
Hitoshi Sato
45分で理解する 最近のスパコン事情 斉藤之雄
45分で理解する 最近のスパコン事情 斉藤之雄
Yukio Saito
Cmc cmd slim
Cmc cmd slim
Shinji Shimojo
CUDAプログラミング入門
CUDAプログラミング入門
NVIDIA Japan
20170421 tensor flowusergroup
20170421 tensor flowusergroup
ManaMurakami1
seccamp2012 チューター発表
seccamp2012 チューター発表
Hirotaka Kawata
第1回 配信講義 計算科学技術特論A (2021)
第1回 配信講義 計算科学技術特論A (2021)
RCCSRENKEI
20170726 py data.tokyo
20170726 py data.tokyo
ManaMurakami1
Imaocande LT
Imaocande LT
Imaoka Micihihiro
2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF
Atomu Hidaka
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
NTT Communications Technology Development
【A-1】AIを支えるGPUコンピューティングの今
【A-1】AIを支えるGPUコンピューティングの今
Developers Summit
Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編
Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編
Daiyu Hatakeyama
マルチコアのプログラミング技法 -- OpenCLとWebCL
マルチコアのプログラミング技法 -- OpenCLとWebCL
maruyama097
PyCoRAMを用いたグラフ処理FPGAアクセラレータ
PyCoRAMを用いたグラフ処理FPGAアクセラレータ
Shinya Takamaeda-Y
NVIDIA deep learning最新情報in沖縄
NVIDIA deep learning最新情報in沖縄
Tak Izaki
PCCC22:東京大学情報基盤センター 「Society5.0の実現を目指す「計算・データ・学習」の融合による革新的スーパーコンピューティング」
PCCC22:東京大学情報基盤センター 「Society5.0の実現を目指す「計算・データ・学習」の融合による革新的スーパーコンピューティング」
PC Cluster Consortium
2015年度GPGPU実践基礎工学 第14回 GPGPU組込開発環境
2015年度GPGPU実践基礎工学 第14回 GPGPU組込開発環境
智啓 出川
FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料
一路 川染
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
Hiroki Nakahara
Semelhante a 第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
(20)
GTC Japan 2017
GTC Japan 2017
45分で理解する 最近のスパコン事情 斉藤之雄
45分で理解する 最近のスパコン事情 斉藤之雄
Cmc cmd slim
Cmc cmd slim
CUDAプログラミング入門
CUDAプログラミング入門
20170421 tensor flowusergroup
20170421 tensor flowusergroup
seccamp2012 チューター発表
seccamp2012 チューター発表
第1回 配信講義 計算科学技術特論A (2021)
第1回 配信講義 計算科学技術特論A (2021)
20170726 py data.tokyo
20170726 py data.tokyo
Imaocande LT
Imaocande LT
2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
【A-1】AIを支えるGPUコンピューティングの今
【A-1】AIを支えるGPUコンピューティングの今
Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編
Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編
マルチコアのプログラミング技法 -- OpenCLとWebCL
マルチコアのプログラミング技法 -- OpenCLとWebCL
PyCoRAMを用いたグラフ処理FPGAアクセラレータ
PyCoRAMを用いたグラフ処理FPGAアクセラレータ
NVIDIA deep learning最新情報in沖縄
NVIDIA deep learning最新情報in沖縄
PCCC22:東京大学情報基盤センター 「Society5.0の実現を目指す「計算・データ・学習」の融合による革新的スーパーコンピューティング」
PCCC22:東京大学情報基盤センター 「Society5.0の実現を目指す「計算・データ・学習」の融合による革新的スーパーコンピューティング」
2015年度GPGPU実践基礎工学 第14回 GPGPU組込開発環境
2015年度GPGPU実践基礎工学 第14回 GPGPU組込開発環境
FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
Mais de Hitoshi Sato
ABCI: AI Bridging Cloud Infrastructure for Scalable AI/Big Data
ABCI: AI Bridging Cloud Infrastructure for Scalable AI/Big Data
Hitoshi Sato
AI橋渡しクラウド(ABCI)における高性能計算とAI/ビッグデータ処理の融合
AI橋渡しクラウド(ABCI)における高性能計算とAI/ビッグデータ処理の融合
Hitoshi Sato
Building Software Ecosystems for AI Cloud using Singularity HPC Container
Building Software Ecosystems for AI Cloud using Singularity HPC Container
Hitoshi Sato
産総研AIクラウドでChainerMN
産総研AIクラウドでChainerMN
Hitoshi Sato
Japan Lustre User Group 2014
Japan Lustre User Group 2014
Hitoshi Sato
MemoryPlus Workshop
MemoryPlus Workshop
Hitoshi Sato
LUG 2014
LUG 2014
Hitoshi Sato
GTC Japan 2014
GTC Japan 2014
Hitoshi Sato
Mais de Hitoshi Sato
(8)
ABCI: AI Bridging Cloud Infrastructure for Scalable AI/Big Data
ABCI: AI Bridging Cloud Infrastructure for Scalable AI/Big Data
AI橋渡しクラウド(ABCI)における高性能計算とAI/ビッグデータ処理の融合
AI橋渡しクラウド(ABCI)における高性能計算とAI/ビッグデータ処理の融合
Building Software Ecosystems for AI Cloud using Singularity HPC Container
Building Software Ecosystems for AI Cloud using Singularity HPC Container
産総研AIクラウドでChainerMN
産総研AIクラウドでChainerMN
Japan Lustre User Group 2014
Japan Lustre User Group 2014
MemoryPlus Workshop
MemoryPlus Workshop
LUG 2014
LUG 2014
GTC Japan 2014
GTC Japan 2014
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
1.
AIクラウドでのLinuxコンテナ利⽤ に向けた性能評価 佐藤 仁, ⼩川
宏⾼ 産業技術総合研究所 ⼈⼯知能研究センター 1 2017年12⽉17⽇ 第162回ハイパフォーマンスコンピューティング研究発表会
2.
Exclusive Summary 2 とある講演を聞いた 某スパコンユーザの Facebook(Twitterともリンク設定)
3.
⼈⼯知能技術の発展には アルゴリズム×ビッグデータ×計算基盤 の⼀体的な進展が不可⽋ 3 ビッグデータ アルゴリズム 計算基盤 深層学習, 機械学習, etc. クラウド,
スパコン, etc. 研究開発・実証・橋渡しを⾒据えたAIプラットフォームの構築・展開
4.
4 NEDOプロ(NAIROBI) 人工知能研究開発・実証 のための研究テストベッド H28.6運用開始 産総研AIクラウド(AAIC) 産総研と連携機関による 人工知能実証のための 共用プラットフォーム H29.6運用開始 AI橋渡しクラウド(ABCI) 高密度・省エネ構成 運用技術・ノウハウ うまくいった成果を 大規模実証 複数の産学官による オープンイノベーションプ ラットフォーム 最初からIDCへの技術移転 を見越した設計・運用 H30.3納入(予定) IDCなどに 商用展開 AIRCの計算基盤ロードマップ グリーンITプロ 実サービス化
5.
5 産総研AIクラウド(通称AAIC)とは? • 400x NVIDIA
Tesla P100s and Infiniband EDR accelerate various AI workloads including ML (Machine Learning) and DL (Deep Learning). • Advanced data analytics leveraged by 4PiB shared Big Data Storage and Apache Spark w/ its ecosystem. AI Computation System Large Capacity Storage System Computation Nodes (w/GPU) x50 • Intel Xeon E5 v4 x2 • NVIDIA Tesla P100 (NVLink) x8 • 256GiB Memory, 480GB SSD Computation Nodes (w/o GPU) x68 • Intel Xeon E5 v4 x2 • 256GiB Memory, 480GB SSD Mgmt & Service Nodes x16 Interactive Nodes x2 400 Pascal GPUs 30TB Memory 56TB SSD DDN SFA14K • File server (w/10GbEx2, IB EDRx4) x4 • 8TB 7.2Krpm NL-SAS HDD x730 • GRIDScaler (GPFS) Computation Network Mellanox CS7520 Director Switch • EDR (100Gbps) x216 Bi-direction 200Gbps Full bi-section bandwidth Service and Management Network IB EDR (100Gbps) IB EDR (100Gbps) GbE or 10GbE GbE or 10GbE Firewall • FortiGate 3815D x2 • FortiAnalyzer 1000E x2 UTM Firewall 40-100Gbps class 10GbE SINET5 Internet Connection 10-100GbE >4PiB effective RW100GB/s 既存のGPUスパコン に類似した構成
6.
GPU計算ノードの構成 • NVIDIA TESLA
P100 x 8 • Intel Xeon E5-2630 v4 x 2 ソケット – ソケットあたり10コア – Hyper Threading (HT) で動作 – ノードあたり40コアにみえる • 256GiBのメモリ • 480GBのSSD • EDR Infiniband – 計算ノード – GPFSストレージへ接続 6 Machine (256GB total) NUMANode P#0 (128GB) Package P#0 L3 (25MB) L2 (256KB) L1d (32KB) L1i (32KB) Core P#0 PU P#0 PU P#20 L2 (256KB) L1d (32KB) L1i (32KB) Core P#1 PU P#1 PU P#21 L2 (256KB) L1d (32KB) L1i (32KB) Core P#2 PU P#2 PU P#22 L2 (256KB) L1d (32KB) L1i (32KB) Core P#3 PU P#3 PU P#23 L2 (256KB) L1d (32KB) L1i (32KB) Core P#4 PU P#4 PU P#24 L2 (256KB) L1d (32KB) L1i (32KB) Core P#8 PU P#5 PU P#25 L2 (256KB) L1d (32KB) L1i (32KB) Core P#9 PU P#6 PU P#26 L2 (256KB) L1d (32KB) L1i (32KB) Core P#10 PU P#7 PU P#27 L2 (256KB) L1d (32KB) L1i (32KB) Core P#11 PU P#8 PU P#28 L2 (256KB) L1d (32KB) L1i (32KB) Core P#12 PU P#9 PU P#29 PCI 10de:15f9 card1 renderD128 PCI 10de:15f9 card2 renderD129 PCI 10de:15f9 card3 renderD130 PCI 10de:15f9 card4 renderD131 PCI 8086:8d62 sda PCI 1a03:2000 card0 controlD64 PCI 8086:8d02 NUMANode P#1 (128GB) Package P#1 L3 (25MB) L2 (256KB) L1d (32KB) L1i (32KB) Core P#0 PU P#10 PU P#30 L2 (256KB) L1d (32KB) L1i (32KB) Core P#1 PU P#11 PU P#31 L2 (256KB) L1d (32KB) L1i (32KB) Core P#2 PU P#12 PU P#32 L2 (256KB) L1d (32KB) L1i (32KB) Core P#3 PU P#13 PU P#33 L2 (256KB) L1d (32KB) L1i (32KB) Core P#4 PU P#14 PU P#34 L2 (256KB) L1d (32KB) L1i (32KB) Core P#8 PU P#15 PU P#35 L2 (256KB) L1d (32KB) L1i (32KB) Core P#9 PU P#16 PU P#36 L2 (256KB) L1d (32KB) L1i (32KB) Core P#10 PU P#17 PU P#37 L2 (256KB) L1d (32KB) L1i (32KB) Core P#11 PU P#18 PU P#38 L2 (256KB) L1d (32KB) L1i (32KB) Core P#12 PU P#19 PU P#39 PCI 8086:1528 enp129s0f0 PCI 8086:1528 enp129s0f1 PCI 10de:15f9 card5 renderD132 PCI 10de:15f9 card6 renderD133 PCI 10de:15f9 card7 renderD134 PCI 10de:15f9 card8 renderD135 PCI 15b3:1013 ib0 mlx5_0 Indexes: physical Date: Tue May 30 11:32:43 2017 MEM CPU Cores GPUs Infiniband HBA SSD
7.
AIアプリケーションの事例(Linuxコンテナ) • lang2program – https://github.com/kelvinguu/ lang2program –
ACL 2017 paper内で⽤いられた実装 – Dockerfileの提供 • Tensorflow, PostgresQL, Python pip Packages, etc. • 依存関係のあるソフトウェアの インストールが⼤量に発⽣ 7 HPC環境(スパコン)で動くか? • Dockerの⾮サポート (セキュリティ上ホストのrootを与えることができない) • マニュアルにインストールすれば可能だが煩雑
8.
8 ユーザプログラム 数値計算 ライブラリBLAS ドメイン 固有⾔語 デバッグ・ 性能プロファイル MPI・OpenMP・CUDA/OpenCL 並列ファイルシステム Lustre・GPFS バッチ ジョブスケジューラ Linux OS InfiniBabd ネットワーク SAN+ローカ ルストレージ X86+ GPU/ アクセラ レーター 仮想マシン・Linuxコンテナ Ethernet ネットワーク ローカル ノード ストレージ x86
CPU 分散ファイルシステム HDFS MapReduceフレームワーク Spark/Hadoop ユーザプログラム RDB PostgresQL 機械学習 ライブラリ MLlib/ Mahout グラフ処理 ライブラリ GraphX/ Giraph Java・Scala+統合開発環境 SQLクエリ エンジン Hive/Pig CloudDB/NoSQL Hbase/Cassandra/MondoDB コーディネーションエンジン ZooKeeper Linux OS 既存クラウド 既存スパコンアプリケーション層 システムソフトウェア層 ハードウェア層 OS層 Fortran・C・C+++統合開発環境 • クラウドはプログラムの実⾏に対話的な操作が必要。 • スパコンはバッチジョブによる実⾏のため不要。 • クラウドは利便性が⾼いプログラム⾔語を採⽤するも⾼速化には向かない。 データ解析等頻繁にプログラムを書き換える利⽤に特化。 • スパコンはマシンの性能を活かせるプログラム⾔語を採⽤するも、プログ ラムが難しく⽣産性が低い。数値演算などコアな処理はあまりプログラム を書き換える必要がないため。 • クラウドはデータベース利⽤が多い。 • スパコンは数千・数万台の計算機向けにデバッグ・性能チューニングが必要。 • クラウドは仮想マシン・コンテナ技術による⽤途に応じた環境構築が可能。 • スパコンは⾼速処理のためのベアメタル環境が主。 • クラウドはWebサーバ由来の技術、分散ストレージなどを採⽤。 • スパコンは超広帯域・低遅延ネットワーク、共有ストレージ、GPUなどを採⽤。 AI/ビッグデータ処理の⾼速化が最重要だがソフトウェアエコシステムは皆無 特に分散深層学習・強化学習、HPCと融合したワークロード等 既存のクラウドとスパコンで異なるソフトウェアエコシステム
9.
AIクラウドのためのソフトウェアエコシステム 既存のクラウド・スパコンの両⽅の技術要素が必要 9 数値計算 ライブラリ BLAS/Matlab デバッグ・ 性能プロファイル MPI・OpenMP・CUDA/OpenCL バッチジョブスケジューラ・ワークフロー Linux OS InfiniBabd ネットワーク SAN+ローカ ルストレージ X86+GPU/ アクセラレーター Linuxコンテナ 分散ファイ ルシステム HDFS ユーザプログラム RDB PostgresQL 機械学習 ライブラリ グラフ処理 ライブラリ Python,
Jupyter Notebook, R etc.+ 統合開発環境 CloudDB/ NoSQL AIクラウド アプリケーション層 OS層 深層学習 ライブラリ Web サービス ビッグデータ 処理カーネル Sort etc. Fortran・C・ C++ ネイティブコード 並列ファイ ルシステム Lustre・GPFS システムソフトウェア層 ハードウェア層 • 分散深層学習をはじめとする各種フレームワークを簡 単にバッチ処理や対話的な操作で利⽤ • 場合によってはウェブサービスの提供 • Python, Rなどのスクリプト⾔語、Jupyter Nodebookなどのフレームワークの利⽤ • MPI, OpenMP, CUDAを利⽤した並列処理、HPC由来 の数値演算カーネル(BLAS),ビッグデータ処理カーネ ル(Sort, PrefixSum, Merge, SetIntersection)のサ ポート • ⼤規模なパラメータサーベイ、ジョブの⻑時間実⾏、 ワークフローのサポート • 画像、映像、⾳声、テキストなど細粒度I/O, 秘匿性の あるデータへのアクセス • Linuxコンテナのサポート • スーパコンピュータ由来のInfiniband, GPUの利⽤、 コモディティサーバの採⽤
10.
Singularity (ソフトウェアの名称です) • Singularity – ⽶国LBNLで開発中のHPC向けLinuxコンテナ •
http://singularity.lbl.gov/ • https://github.com/singularityware/singularity • 修正BSDライセンス – ユーザ権限でプログラムを実⾏、ストレージへアクセス • rootで動作するデーモンが不要 => 資源管理をスケジューラに委ねる • setuidでroot権限を与えたコマンドを実⾏ (マウント、名前空間の作成、コンテナ内へのホストのPathのʼ作成など) – Dockerイメージが利⽤可能 • DockerHubと連携 – HPC系のソフトウェアスタックが利⽤可能 • CUDA, MPI, Infiniband, etc. 10
11.
Singularityの利⽤イメージ sudo singularity build
–sandbox tmpdir/ Singularity sudo singularity build –writable container.img Singularity sudo singularity build container.img Singularity sudo singularity build container.img docker://ubuntu sudo singularity build container.img shub://ubuntu Sandboxディレクトリの⽣成 コンテナイメージファイルの⽣成 sudo singularity shell –writable container.img パッケージソフトウェアを インストール(yum, apt等) Recipeファイルの利⽤ DockerHubの利⽤ (Dockerコンテナイメージ) SingularityHubの利⽤(Singularityコンテナイメージ) container.img コンテナイメージ ファイルを転送 インタラクティブにコンテナイメージを作成 既存のコンテナイメージを利⽤して作成 予め定めた⼿順によりコンテナイメージを作成 singularity run container.img singularity exec container.img … singularity shell container.img シェルを実⾏(shell) コマンドを与えて実⾏ (exec) 予め定義された動作を 実⾏(run) ユーザ環境 共有計算機環境 11
12.
Singularityでできること • GPU, Infiniband,
XXXが利⽤できるか? – ホスト側のデバイス関連ドライバ・ライブラリをコンテナ側 へみせる(nvidia-docker⽅式?) • MPIが利⽤できるか? – ホストのMPIをコンテナ側へみせる(コンテナなメリットが薄い) – コンテナ内にMPIをインストールし、コンテナの外からキックする (ホスト側と同じMPIを使⽤し, Buildも同じにする必要) • mpirun –np N singularity exec container.img mpi_program • mpi4pyが利⽤できるか? – コンテナ内にMPIをインストール – コンテナ内のMPIに対してmpi4pyをインストール – コンテナ外からキック 12
13.
分散深層学習フレームワーク向けコンテナイメージの構築 • ホスト側 – GPUやIninibandを活⽤するために デバイス関連ドライバ・ライブラリを コンテナ側へマウント •
GPUやIninibandの利⽤ • nvidia-docker⽅式 • コンテナ側 – ユーザランドライブラリの インストール • CUDA, CuDNN, NCCL2, ibverbs, MPI – 分散深層学習フレームワークの インストール • 最適化されたビルド 13 Base Drivers, Libraries on Host CUDA Drivers Infiniband Drivers Filesystem Libraries (GPFS, Lustre) Userland Libraries on Container CUDA CuDNN NCCL2 MPI (mpi4py) Mount ibverbs Distributed Deep Learning Frameworks Caffe2 ChainerMNDistributed TensorflowMXNet
14.
予備実験 • AIのワークロードを想定 – 演算性能(GEMM) –
メモリバンド幅性能(STREAM) – 通信性能(OSU Micro Benchmarks) – ストレージI/O性能 (FIO) – 分散深層学習性能(Imagenet-1K) • 実験環境 – AAIC – ベアメタル • CentOS 7.3, Linux 3.10.0, gcc v4.8.5, glibc v2.17 – Singularity • Singularity 2.4 • Ubuntu 16.04, Linux v3.10.0 gcc v5.4.0, glibc v2.23 – 両環境 • CUDA 8.0.61.2, CuDNN v6.0.21 NCCL v2.0.5, OpenMPI v2.1.1 14
15.
GPU計算ノードの構成(再掲) • NVIDIA TESLA
P100 x 8 • Intel Xeon E5-2630 v4 x 2 ソケット – ソケットあたり10コア – Hyper Threading (HT) で動作 – ノードあたり40コアにみえる • 256GiBのメモリ • 480GBのSSD • EDR Infiniband – 計算ノード – GPFSストレージへ接続 15 Machine (256GB total) NUMANode P#0 (128GB) Package P#0 L3 (25MB) L2 (256KB) L1d (32KB) L1i (32KB) Core P#0 PU P#0 PU P#20 L2 (256KB) L1d (32KB) L1i (32KB) Core P#1 PU P#1 PU P#21 L2 (256KB) L1d (32KB) L1i (32KB) Core P#2 PU P#2 PU P#22 L2 (256KB) L1d (32KB) L1i (32KB) Core P#3 PU P#3 PU P#23 L2 (256KB) L1d (32KB) L1i (32KB) Core P#4 PU P#4 PU P#24 L2 (256KB) L1d (32KB) L1i (32KB) Core P#8 PU P#5 PU P#25 L2 (256KB) L1d (32KB) L1i (32KB) Core P#9 PU P#6 PU P#26 L2 (256KB) L1d (32KB) L1i (32KB) Core P#10 PU P#7 PU P#27 L2 (256KB) L1d (32KB) L1i (32KB) Core P#11 PU P#8 PU P#28 L2 (256KB) L1d (32KB) L1i (32KB) Core P#12 PU P#9 PU P#29 PCI 10de:15f9 card1 renderD128 PCI 10de:15f9 card2 renderD129 PCI 10de:15f9 card3 renderD130 PCI 10de:15f9 card4 renderD131 PCI 8086:8d62 sda PCI 1a03:2000 card0 controlD64 PCI 8086:8d02 NUMANode P#1 (128GB) Package P#1 L3 (25MB) L2 (256KB) L1d (32KB) L1i (32KB) Core P#0 PU P#10 PU P#30 L2 (256KB) L1d (32KB) L1i (32KB) Core P#1 PU P#11 PU P#31 L2 (256KB) L1d (32KB) L1i (32KB) Core P#2 PU P#12 PU P#32 L2 (256KB) L1d (32KB) L1i (32KB) Core P#3 PU P#13 PU P#33 L2 (256KB) L1d (32KB) L1i (32KB) Core P#4 PU P#14 PU P#34 L2 (256KB) L1d (32KB) L1i (32KB) Core P#8 PU P#15 PU P#35 L2 (256KB) L1d (32KB) L1i (32KB) Core P#9 PU P#16 PU P#36 L2 (256KB) L1d (32KB) L1i (32KB) Core P#10 PU P#17 PU P#37 L2 (256KB) L1d (32KB) L1i (32KB) Core P#11 PU P#18 PU P#38 L2 (256KB) L1d (32KB) L1i (32KB) Core P#12 PU P#19 PU P#39 PCI 8086:1528 enp129s0f0 PCI 8086:1528 enp129s0f1 PCI 10de:15f9 card5 renderD132 PCI 10de:15f9 card6 renderD133 PCI 10de:15f9 card7 renderD134 PCI 10de:15f9 card8 renderD135 PCI 15b3:1013 ib0 mlx5_0 Indexes: physical Date: Tue May 30 11:32:43 2017 MEM CPU Cores GPUs Infiniband HBA SSD
16.
演算性能(GEMM) CPU GPU 16 Better
17.
メモリバンド幅性能(STREAM) 17 Triad Better
18.
通信性能(OSU Micro Benchmarks
v5.3.2) AllReduce (Ave. Latency, 2nodes, 8gpus/node) AllReduce(h2h) AllReduce(d2d) 18 Better
19.
ストレージI/O性能(FIO v2.19) スループット READ WRITE 19 Better
20.
ストレージI/O性能(FIO v2.19) IOPS (qdepth=1,
16) READ WRITE 20 Better
21.
Singularityを⽤いた分散深層学習フレームワークの実⾏ • 実験環境 – AAIC
8 nodes (64 GPUs) – フレームワーク: CHainerMN v1.0.0 • Chainer 2.1.0, Cupy 1.0.3, mpi4py 2.0.0, Python 3.6.1 – コンテナ • Singularity v2.3.1 • Ubuntu 16.04, gcc-5.4.0, glibc-2.23 – ベアメタル • CentOS 7.3, gcc-4.8.5, glibc-2.17, • 実験設定 – データセット: Imagenet-1K – モデル: ResNet-50 – 訓練: • バッチサイズ: GPU毎に32, 32 x 64 • 学習率: 30 epoch毎に0.1倍 • 最適化: Momentum SGD (momentum=0.9) • Weight Decay: 0.0001 • 訓練エポック数: 100 21 ベアメタル実⾏とほぼ遜⾊のない性能を確認 Better
22.
議論 • Singularity – ベアメタルと⽐較してほぼ遜⾊のない性能を確認 •
演算性能だけでなく、メモリバンド幅、ストレージI/O, ネットワーク性能(要確認)も • メモリのフットプリントは未確認 – OSの違いを超えられる(CentOS vs. Ubuntu) • 特に、glibcのバージョンの違いも容易に超えられる (glibcが互換性を担保するような実装になっている) – 導⼊しやすさ • configure, make, make installで可能。共有ストレージへも可能。 – あとはエンジニアリングイシュー • ソフトウェアの安定性の向上 • セキュリティイシューを潰す 22
23.
議論 (contʼd) • Singularityの⽋点 –
コンテナ内常駐デーモン不可 – Debug系(gdb)不可 – 資源管理は(cgroupsではなく)スケジューラまかせ 23
24.
議論 (contʼd) • ユーザが任意のコンテナを動かして問題が起きるか? –
特に問題がないと判断している(問題を定義したい) – 基本的には実⾏するユーザの責任 (現状でも任意のソフトウェアをユーザが動かしているので ほぼ同じ問題) • 特殊なコンテナが必要?制限はある? – 基本的には不要。ARMでもOPAでも(Linuxであれば)動く。 – ただし、計算環境に最適化するためには再コンパイルなどした⽅が良い。 • ISVアプリのライセンス – コンテナに含めるのは難しい(気がする) – ユーザ権限でホストの環境をコンテナ側にreadマウントすることはできる – ホストにISVアプリをインストール、コンテナ側にマウント? 24
25.
関連研究 • Docker – root権限が必要なデーモンによりコンテナ起動 –
cgroupによる資源管理 (rktも) • Shifter – NERSCで開発 (Coriとかで利⽤?)、CSCSで拡張(Piz Dizant) – Singulairtyと同様の技術, ImageGatewayの存在, Crayのサポート • ChalieCloud [SCʼ17] – Singulairtyと同様の技術 – Singularityのほうが盛り上がっている感はある (OpenMPI v3.0やMvapich v2.3.2のSingularityサポート) • McKernel Integration [Rossʼ17] – Oakforest PACSの事例 – GeoFM, CCS-QCD, mniFE、今回の報告と同様の結果・傾向 25
26.
まとめ • AIクラウドのためのソフトウェアエコシステムの必要性 – AIには既存のクラウドとスパコンの両⽅の技術要素が必要 –
AIというマーケットが広そうなところに 如何にHPC技術を取り込みやすい環境を作っていくか? • Singularityを⽤いたユーザ権限でのコンテナ実⾏ – 分散深層学習フレームワーク(≒HPCアプリケーション)の コンテナ化 – 予備実験による性能⽐較 • ベアメタルと⽐較してほぼ遜⾊のない性能を確認 26
27.
ABCI AI Bridging
Cloud Infrastructure The worlds first large-scale Open AI Infrastructure 27 ABCI Serving your AI needs in Spring 2018
Baixar agora