最新の並列計算事情とCAE

Similar documents
九州大学がスーパーコンピュータ「高性能アプリケーションサーバシステム」の本格稼働を開始

Microsoft Word - HOKUSAI_system_overview_ja.docx

VXPRO R1400® ご提案資料

Microsoft Word ●IntelクアッドコアCPUでのベンチマーク_吉岡_ _更新__ doc

資料3 今後のHPC技術に関する研究開発の方向性について(日立製作所提供資料)

RICCについて

スライド 1

GPUコンピューティング講習会パート1

hpc141_shirahata.pdf

<4D F736F F D B B B835E895E97708A4A8E6E82C A98418C6782CC8E6E93AE2E646F63>

PowerPoint プレゼンテーション

supercomputer2010.ppt

スライド 1

NVIDIA Tesla K20/K20X GPU アクセラレータ アプリケーション パフォーマンス テクニカル ブリーフ

GPU n Graphics Processing Unit CG CAD

Slides: TimeGraph: GPU Scheduling for Real-Time Multi-Tasking Environments

GPUを用いたN体計算

4 倍精度基本線形代数ルーチン群 QPBLAS の紹介 [index] 1. Introduction 2. Double-double algorithm 3. QPBLAS 4. QPBLAS-GPU 5. Summary 佐々成正 1, 山田進 1, 町田昌彦 1, 今村俊幸 2, 奥田洋司

PowerPoint プレゼンテーション

Microsoft Word - koubo-H26.doc

Microsoft PowerPoint - GPUシンポジウム _d公開版.ppt [互換モード]

PowerPoint Presentation

Microsoft PowerPoint 知る集い(京都)最終.ppt

スパコンに通じる並列プログラミングの基礎

本文ALL.indd

Microsoft PowerPoint - GPGPU実践基礎工学(web).pptx

openmp1_Yaguchi_version_170530

1 GPU GPGPU GPU CPU 2 GPU 2007 NVIDIA GPGPU CUDA[3] GPGPU CUDA GPGPU CUDA GPGPU GPU GPU GPU Graphics Processing Unit LSI LSI CPU ( ) DRAM GPU LSI GPU

PowerPoint Presentation

PowerPoint プレゼンテーション

<4D F736F F F696E74202D20834B F C8FEE95F A7793C195CA8D758B E348C8E3893FA816A202D E >

並列・高速化を実現するための 高速化サービスの概要と事例紹介

システムソリューションのご紹介

PowerPoint プレゼンテーション

Microsoft PowerPoint PCクラスタワークショップin京都.ppt

熊本大学学術リポジトリ Kumamoto University Repositor Title GPGPU による高速演算について Author(s) 榎本, 昌一 Citation Issue date Type URL Presentation

PowerPoint Presentation

修士論文

(速報) Xeon E 系モデル 新プロセッサ性能について

高性能計算研究室の紹介 High Performance Computing Lab.

スパコンに通じる並列プログラミングの基礎

HPC143

研究背景 大規模な演算を行うためには 分散メモリ型システムの利用が必須 Message Passing Interface MPI 並列プログラムの大半はMPIを利用 様々な実装 OpenMPI, MPICH, MVAPICH, MPI.NET プログラミングコストが高いため 生産性が悪い 新しい並

スパコンに通じる並列プログラミングの基礎


PowerPoint プレゼンテーション

CCS HPCサマーセミナー 並列数値計算アルゴリズム

TopSE並行システム はじめに

<4D F736F F F696E74202D2091E63489F15F436F6D C982E682E992B48D8291AC92B489B F090CD2888F38DFC E B8CDD8

Microsoft PowerPoint - ★13_日立_清水.ppt

チューニング講習会 初級編

tabaicho3mukunoki.pptx

ガイダンス(2016年4月19日)-HP

untitled

製品開発の現場では 各種のセンサーや測定環境を利用したデータ解析が行われ シミュレーションや動作検証等に役立てられています しかし 日々収集されるデータ量は増加し 解析も複雑化しており データ解析の負荷は徐々に重くなっています 例えば自動車の車両計測データを解析する場合 取得したデータをそのまま解析

ペタスケール計算環境に向けたFFTライブラリ

Microsoft PowerPoint ppt

GPUコンピューティング講習会パート1

TSUBAME2.0 における GPU の 活用方法 東京工業大学学術国際情報センター丸山直也第 10 回 GPU コンピューティング講習会 2011 年 9 月 28 日

PowerPoint プレゼンテーション

untitled

PowerPoint Presentation

Microsoft PowerPoint - CCS学際共同boku-08b.ppt

4.7講義.key

CELSIUSカタログ(2012年7月版)

PNopenseminar_2011_開発stack

ERDAS IMAGINE における処理速度の向上 株式会社ベストシステムズ PASCO CORPORATION 2015

GPGPUイントロダクション

1重谷.PDF

untitled

HP High Performance Computing(HPC)

CELSIUSカタログ(2012年5月版)

PowerPoint プレゼンテーション

ポスト「京」でのコデザイン 活動報告

連載講座 : 高生産並列言語を使いこなす (5) 分子動力学シミュレーション 田浦健次朗 東京大学大学院情報理工学系研究科, 情報基盤センター 目次 1 問題の定義 17 2 逐次プログラム 分子 ( 粒子 ) セル 系の状態 ステップ 18

PowerPoint プレゼンテーション

Pervasive PSQL v11 のベンチマーク パフォーマンスの結果

高性能計算研究室の紹介 High Performance Computing Lab.

PowerPoint プレゼンテーション

スライド 1

<4D F736F F F696E74202D F A282BD94BD959C89F A4C E682528D652E707074>

EnSightのご紹介

マルチコアPCクラスタ環境におけるBDD法のハイブリッド並列実装

スライド 1

GPU チュートリアル :OpenACC 篇 Himeno benchmark を例題として 高エネルギー加速器研究機構 (KEK) 松古栄夫 (Hideo Matsufuru) 1 December 2018 HPC-Phys 理化学研究所 共通コードプロジェクト

― ANSYS Mechanical ―Distributed ANSYS(領域分割法)ベンチマーク測定結果要約

研究報告用MS-Wordテンプレートファイル

GPU GPU CPU CPU CPU GPU GPU N N CPU ( ) 1 GPU CPU GPU 2D 3D CPU GPU GPU GPGPU GPGPU 2 nvidia GPU CUDA 3 GPU 3.1 GPU Core 1

NUMAの構成

main.dvi

スライド 1

Slides: TimeGraph: GPU Scheduling for Real-Time Multi-Tasking Environments

FX10利用準備

新しい並列プログラミング言語である 分散メモリ環境において OpenMPのようにMPI とは異なるシンプルな言語構文と指示文による並列化を目指している ベース言語は Fortran 言語とC 言語となっており 2011 年 6 月に発足したPC クラスタコンソーシアム XcalableMP 規格部会

スーパーコンピューティング - 高速に計算する技術 -

TSUBAME2.0におけるGPUの 活用方法

about MPI

Microsoft PowerPoint - sales2.ppt

SC SC10 (International Conference for High Performance Computing, Networking, Storage and Analysis) (HPC) Ernest N.

Transcription:

1 大島聡史 ( 東京大学情報基盤センター助教 / 並列計算分科会主査 ) 最新の並列計算事情と CAE

アウトライン 最新の並列計算機事情と CAE 世界一の性能を達成した 京 について マルチコア メニーコア GPU クラスタ 最新の並列計算事情と CAE MPI OpenMP CUDA OpenCL etc. 京 については 仕分けやら予算やら計画やらの面で問題視する意見もあるかと思いますが なるべく技術的な視点でお話しさせていただきますのでご勘弁願います 2

最新の並列計算機事情 京 先日発表された TOP500 ランキングにて一位を達成 世界一のスーパーコンピュータ なのか? 京 実物の写真 ( 理研の web ページから ) No.1 の証書を渡された渡辺氏と佐相氏 ( ドイツ ハンブルクの ISC2011 にて撮影 ) 3

4 TOP500 スーパーコンピュータのランキング 半年ごとに更新 6 月の ISC と 11 月の SC にあわせて発表される 旧地球シミュレータが連続 5 期も君臨したためにアメリカが本気になったことは有名 指標は LINPACK ベンチマークの性能 密行列計算 主に行列積の性能が影響する 主に CPU 性能 ( 浮動小数点演算性能 ) が反映される すなわち TOP500 で一位 ( 上位 ) にランキングされてもどんな計算でも高速にできるわけではない CPU が強力であることはわかる システムが安定して動くことがわかる ( こともある ) ストレージが重要な場合は? 整数演算性能は? 疎行列系 ( キャッシュが利かない ) は? 京 のNo.1は喜ばしいが それが全てではないことを知っておいて欲しい

5 TOP500 List - June 2011 (1-10)

京 の概要 全体構成 CPU 数 :8 万以上 CPU コア数 :64 万以上 ピーク演算性能 :10PFLOPS 以上 http://www.nsc.riken.jp/project/spec.html に基づき作成 全ての CPU を同時に動かして得られる理論上の最大性能 メモリ総容量 :1PB 以上 ( ノードあたり 16GB) プロセッサ構成 8 コア SPARC64VIIIfx 富士通がカスタマイズした SPARC プロセッサ 16GFLOPS 8 コア =128GFLOPS プログラミング環境 Fortran, XPFortran, C/C++( 少なくとも ) 主な想定はノード内自動並列化 + ノード間 MPI( のはず ) 6

疑問 私たちも 京 を使えますか? ( 使えるルートはありますが ) 難しいでしょう 主なユーザは戦略 5 分野のメンバーとなります 分野 1 予測する生命科学 医療および創薬基盤 分野 2 新物質 エネルギー創成 分野 3 防災 減災に資する地球変動予測 分野 4 次世代ものづくり 分野 5 物質と宇宙の起源と構造 もし 京 を使えたら手持ちのアプリケーションは速く動きますか? 一部の例外はありますが 困難です もちろん 単体プロセッサ ( 単体ノード ) 性能分の差は出ますが 数千 数万 数十万コアを活用するにはプログラムの作り直しが必要になるでしょう 並列計算の知識と技術が必要! 7

8 ( 京 に特化した話はここまでにして ここからはもう少し広い話や身近な話をします )

最近のスーパーコンピュータ事情 キーワード ベクトル計算機 PCクラスタ マルチコアCPU マルチソケットCPU アクセラレータ メニーコア ( まずはハードウェア側の事情から ) 特にマルチコア CPU とアクセラレータについては個人所有の PC レベルでも容易に利用可能 むしろ 積極的に活用する必要がある 9

10 スライド一枚でわかる ( かもしれない ) スパコンのトレンド 10 年 (15 年?) 前 専用設計のベクトル計算機 強力なベクトルプロセッサを高速バスで接続 非常に 密 なシステム 近年 汎用の PC に近いシステム ( ノード ) を大量にネットワーク接続した 疎 なシステム PC クラスタ Xeon Opteron DDR SDRAM HDD/SSD InfiniBand 少ノードシステムの販売 流石に マザーボードや筐体は専用品? Cell B.E. や GPU といった演算加速器 アクセラレータ を搭載したヘテロジニアス ( 不均質 ) 構成 Roadrunner Nebulae Tianhe Tsubame スーパーコンピュータと汎用 PC の距離は ( ある意味 ) 小さい 規模が圧倒的に違うのがポイント

マルチコア CPU とマルチソケット マルチコア CPU 複数の CPU コア を搭載した CPU デュアルコア CPU クアッドコア CPU etc. 一般に売られている PC の多くはマルチコア CPU を搭載 ネットブックなど一部の激安 PC の一部は除く マルチソケット 複数個の CPU を 1 ノードに搭載 例 :T2K スパコン東大版 (1 ノードあたり 4 つの 4 コア CPU=1 ノードあたり 16 コア ) 一般に売られている PC はシングルソケット コア L1 L2 コア L1 11

アクセラレータ (Cell B.E. と GPU) 既存の CPU とは異なるアーキテクチャを持ち 特に高い並列計算性能を目指すハードウェア Cell B.E. PS3 に搭載されているプロセッサ ( もしくはそれをカスタマイズしたもの ) Power アーキテクチャのマルチコア CPU + 複数のシンプルな計算コア GPU (Graphics Processing Unit) 画像処理用のハードウェア いわゆるビデオカード 多数のシンプルな計算コアのグループを多数搭載 PC ショップで売られている GPU の多くが利用可能 PC ショップに 1TFLOPS の演算器が並んで売られている時代 PPE SPE SPE SPE SPE SPE SPE SPE SPE 12

メニーコア 多数のシンプルなコアを搭載 Intel の Many Integrated Core (MIC) 躓いた Larrabee まだ製品化されていない Pentium 程度のコア * を多数搭載 2012 年に製品化? コア $ * Cell B.E. の SPE や GPU の計算コアよりも複雑 各コアで OS が動くレベル 13

14 今すぐにでも始められる並列計算 STEP1 マルチコア CPU それなりの GPU があればすぐに始められる STEP2a マルチコア CPU+ アクセラレータ PC が複数台あればすぐに始められる STEP2b マルチコア CPU からなる PC 数台による小規模 PC クラスタ STEP3 マルチコアCPU+アクセラレータプログラムはどうからなるPC 数台による小規模 PCクラスタすれば良い?

15 最新の並列計算事情 ( やや C 言語よりの視点から ) 並列計算を行うためのプログラムを作る方法 従来の並列化プログラミング環境 自動並列化 OpenMP( ノード内専用 ) MPI( ノード内 ノード間兼用 ) 最近のプログラミング環境 GPU 向け :CUDA OpenCL CPU 向け : High Performance Fortran (HPF) Threading Building Block (TBB) Unified Parallel C (UPC) X10 Chapel XcalableMP (XMP) etc. スーパーコンピュータ 従来 :MPI 最近 :MPI+OpenMP 最近のプログラミング環境 コア数が増えすぎて MPI のみでは無理が生じてきた

CAE のためには何を学ぶ ( 使う ) べきか 1/2 実は ( プロダクト オープンソース等の種別を問わず ) 多くのソフトウェア ライブラリは並列化されている ( されつつある ) 最近は GPU に対応したソフトウェアも増加中 既製品で事足りるならそれで良い 本当に進めたいサイエンスを進められることはとても重要 サイエンスに集中できる vs 選択肢が増える 何故並列化を学ぶ必要があるのか 対象問題と実行環境とを適合させるため ( 学習する ) どの並列化済みソフトウェアを使うのがベストか 既製品では不足があるため ( 自前で実装する ) 並列化済みソフトウェアに与えるデータの作成に時間がかかる 自分のプログラム向けにアルゴリズムを改良してある 16

CAE のためには何を学ぶ ( 使う ) べきか 2/2 並列化が必要な場合は何を学ぶべきか ( 一例 ) OpenMP と MPI C/C++ でもFortranでも使える ( 言語自体から学ぶ必要がない ) 分散メモリと共有メモリを学べる 資料が非常に多い GPU を使いたい場合には CUDA か OpenCL どちらか覚えればもう一方も使いやすい OpenMPとMPIを知っていた方が理解しやすい C/C++ や Fortran 以外の言語を使っているユーザは?? スクリプト インタプリタから CUDA を利用する環境など 17

自前で実装する例の紹介 有限要素法における CG ソルバーの GPU 実装 有限要素法 : 偏微分方程式の数値解法の 1 つ 連続体力学の広い範囲で使用 CG ソルバー : 反復計算 疎行列ベクトル積 ベクトルの積や和や内積 疎行列ベクトル積 (SpMV) が実行時間の大部分を占めるため これを高速化することが重要 GPU を用いた SpMV に関するライブラリは既にある ( 公開されている ) 18

自前で実装する意義と内容 CPU 向けに最適化された有限要素法プログラムが存在 行列を 3x3 ブロック化しており 対角 上三角 下三角に分けて保持している CPU 向けプログラムで行っている最適化を活用するには自前での実装が必要 19

性能評価 実行環境と設定 Xeon W3520 (2.67GHz Nehalem 4 コア ) gcc v4.4 (-O3 オプション ) 512,000 要素 3x3 ブロック LU 前処理 double 型 測定結果 SpMV on CPU(OpenMP 4 スレッド ) ブロック化有り 71 msecs / iter (3.30GFLOPS) ブロック化無し 96 msecs / iter (2.24GFLOPS) SpMV on GPU ブロック化有り 20 msecs / iter (11.73GFLOPS) ブロック化無し 52 msecs / iter (4.51GFLOPS) ( 既存のライブラリと同程度の性能 ) 20

成果 CG 法の実行時間比較 GPU CPU OpenMP 4 スレッド CPU 1 スレッド 0 20 40 60 80 100 実行時間 ( 秒 ) 21

まとめ 最新の並列計算機事情 並列計算事情を CAE と関連づけて紹介した 並列計算機 並列計算について知ることは CAE の活用に役立つ ( と思います ) もちろん 全てを知ることは不可能であり不要である 興味と需要と時勢にあわせて選択すればよい 22

23 連絡先 ( 質問その他お気軽にどうぞ ) ohshima@cc.u-tokyo.ac.jp