2019年度 高性能科学技術計算   High Performance Scientific Computing

文字サイズ 

アップデートお知らせメールへ登録 お気に入り講義リストに追加
開講元
情報工学コース
担当教員名
横田 理央 
授業形態
講義
曜日・時限(講義室)
月1-2(W831)  木1-2(W831)  
クラス
-
科目コード
CSC.T526
単位数
2
開講年度
2019年度
開講クォーター
1Q
シラバス更新日
2019年3月18日
講義資料更新日
2019年6月6日
使用言語
日本語
アクセスランキング

講義の概要とねらい

本講義ではスーパーコンピュータを用いて大規模・高性能な計算を行うための並列アルゴリズムや高速化アルゴリズムやそれらを実装するためのSIMD、OpenMP、MPI、CUDAなどの並列プログラミング言語について紹介する。科学技術計算で多用される線形代数ライブラリの使い方やその基礎にあるアルゴリズム的工夫についても解説し、逐次実行用のものから大規模並列用のライブラリまで幅広く取り上げる。また、並列計算用のデバッガやプロファイラの使い方についても解説する。MapReduceやグラフ分割の高性能実装や深層学習フレームワークの大規模並列実装についても紹介する。

到達目標

本講義を受講することで以下の能力を習得することができる.
1. SIMDによるベクトル化、OpenMPによるスレッド化、MPIによる分散並列化が併用できるようになる.
2. OpenACC, CUDA, OpenCLを用いてGPUプログラミングができるようになる.
3. 高性能な数値計算ライブラリの内容を理解し、正しく使えるようになる.
4. 並列環境下でデバッガ、プロファイラを使って効率的に並列コードを開発できるようになる.
5. ModernGPUやMapReduceなどのプリミティブを使って簡易で高性能な実装ができるようになる.
6. グラフ分割ツールや深層学習フレームワークを大規模並列計算機で動作させれるようになる.

キーワード

ベクトル化、共有メモリ並列、分散メモリ並列、GPUプログラミング、数値計算ライブラリ、行列積、連立一次方程式の解法、高速フーリエ変換、並列デバッガ、並列性能解析、グラフ分割、深層学習

学生が身につける力

国際的教養力 コミュニケーション力 専門力 課題設定力 実践力または解決力
- -

授業の進め方

毎回コードを用意しておき実際にTSUBAMEにログインして演習形式で進める。

授業計画・課題

  授業計画 課題
第1回 TSUBAMEの使い方 東工大のスパコンTSUBAMEにログインし、ライブラリやジョブスケジューラを使えるようになる
第2回 共有メモリ並列化 pthreadsやOpenMPを用いて共有メモリ型の並列化ができるようになる
第3回 分散メモリ並列化 MPIを用いて分散メモリ型の並列化ができるようになる
第4回 SIMD並列化 SSE, AVX, AVX512を用いてSIMDベクトル化ができるようになる
第5回 GPUプログラミング OpenACC, CUDA, OpenCLを用いてGPUがプログラミングできるようになる
第6回 マルチGPUプログラミング CUDAとMPIを併用してTSUBAME上の複数のGPUを同時に使えるようになる
第7回 キャッシュブロッキング BLISLABやCUBLASを例にとってキャッシュブロッキングを実践する
第8回 数値計算ライブラリ LAPACK、SCALAPACK、FFTWなどの高性能数値計算ライブラリの内容を理解し適切に使えるようになる
第9回 連立一次方程式の高速ソルバ PETScやTrilinosが提供する様々な連立一次方程式の解法を適材適所で使えるようになる
第10回 I/Oライブラリ NetCDF, HDF5, MPI-IOなどの並列I/Oライブラリを適切に使えるようになる
第11回 並列デバッガ CUDA-GDB、Valgrind、TotalViewを用いて並列プログラムをデバッグできるようになる
第12回 並列性能解析 gprof, VTune, PAPI, Tau, Vampireを使って並列プログラムの性能解析ができるようになる
第13回 高性能プリミティブ ModernGPUやMapReduceの特性と用法を理解する
第14回 グラフ分割 METIS、ParMETISを用いて大規模なグラフを並列処理により分割する
第15回 深層学習 ChainerMNを用いて大規模なニューラルネットを並列計算機上で訓練する

教科書

なし

参考書、講義資料等

なし

成績評価の基準及び方法

小レポート (40%) 期末レポート (60%)により評価する.

関連する科目

  • 数値計算法(学部)
  • 計算数理応用–アルゴリズム–

履修の条件(知識・技能・履修済科目等)

なし

このページのトップへ