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

文字サイズ 

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

講義の概要とねらい

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

到達目標

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

キーワード

ベクトル化、共有メモリ並列、分散メモリ並列、GPUプログラミング、Pythonライブラリ、行列積、連立一次方程式の解法、並列デバッガ、並列性能解析、コンテナ、深層学習

学生が身につける力(ディグリー・ポリシー)

専門力 教養力 コミュニケーション力 展開力(探究力又は設定力) 展開力(実践力又は解決力)

授業の進め方

今年はオンラインで講義を行う.
毎回コードを用意しておき実際にTSUBAMEにログインして演習形式で進める.

授業計画・課題

  授業計画 課題
第1回 並列計算の基礎 並列計算に関する基本的なコンセプトや理論を身につける
第2回 共有メモリ並列化 OpenMPを用いて共有メモリ型の並列化ができるようになる
第3回 分散メモリ並列化 MPIを用いて分散メモリ型の並列化ができるようになる
第4回 SIMD並列化 SSE, AVX, AVX512を用いてSIMDベクトル化ができるようになる
第5回 GPUプログラミング OpenACC, CUDA, HIPを用いてGPUがプログラミングできるようになる
第6回 並列プログラミングモデル StarPU, OmpSs, Legionなどの高度な並列プログラミングモデルを使えるようになる
第7回 キャッシュブロッキング BLISLABやCUBLASを例にとってキャッシュブロッキングを実践する
第8回 高性能Python numPyやcuPyなどのライブラリを用いることでPythonコードを高速に実装できるようになる
第9回 I/Oライブラリ NetCDF, HDF5, MPI-IOなどの並列I/Oライブラリを適切に使えるようになる
第10回 並列デバッガ CUDA-GDB、Valgrind、TotalViewを用いて並列プログラムをデバッグできるようになる
第11回 並列性能解析 gprof, VTune, PAPI, Tau, Vampireを使って並列プログラムの性能解析ができるようになる
第12回 コンテナ Singularityを用いてDocker imageを使えるコンテナ環境を構築する
第13回 科学技術計算 偏微分方程式を離散化し、それを並列に実装する方法を身につける
第14回 深層学習 PyTorchを用いて大規模なニューラルネットを並列計算機上で訓練する

授業時間外学修(予習・復習等)

学修効果を上げるため,教科書や配布資料等の該当箇所を参照し,「毎授業」授業内容に関する予習と復習(課題含む)をそれぞれ概ね100分を目安に行うこと。

教科書

なし

参考書、講義資料等

なし

成績評価の基準及び方法

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

関連する科目

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

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

なし

その他

Zoomのリンクは受講登録者に初回講義の前日にメールで送付する.

このページのトップへ