ユニット提供科目
ユニット提供科目
比較的簡単で背景となる数学的かつ工学的知識を受講者が共通に持つ具体的な大規模な科学技術計算の課題について,履修生がC言語,またはFORTRANを選択して,自ら並列計算プログラムを作成し,スーパーコンピュータにおける実行データを分析する.課題としては,例えば,拡散方程式の陽的差分法に関する並列計算がある.本科目は,計算科学に関する教育研究を行う全ての研究科に所属する大学院学生が受講しやすいよう夏期休暇中の集中講義科目として実施する.
【研究科横断型教育の概要・目的】
基本的な並列プログラミングの習得に止まらず,具体的な大規模な科学技術計算の課題についての実習により,計算科学の技法の習得ができる.そのため,より実践的な場面での学習成果の活用が期待される.特に,計算科学の技法を強く意識していなかった理系分野の大学院生が,この授業を受講することにより,新しい視点で,自分の分野の研究にアプローチできるようになる.
MPIおよびOpenMPの基本的な機能を用いた並列プログラミングのためのスキルを習得すること.
開講日程:9/11(月)〜9/15(金)各3〜5限
全15回の授業の予定は以下の通りである.
・並列計算概論(2回)
並列計算の基本,メディアセンターのスーパーコンピュータの紹介,スーパーコンピュータの基本的利用法に関する演習
・逐次プログラミング(2回)
課題プログラムの原理・基本的計算法に関する解説,逐次プログラムの作成
・MPI(基礎)(2回)
MPI並列プログラミングの基本的な考え方と技法,MPIによる課題プログラムの基本的な並列化設計
・MPI(応用)(2回)
MPIの高度な機能とそれを用いたプログラミング,集合通信の機能と性能,MPIによる課題並列プログラム作成演習
・OpenMP(基礎)(2回)
OpenMP並列プログラミングの基本的な考え方と技法,OpenMPによる課題プログラムの基本的な並列化設計
・OpenMP(応用)(2回)
NUMAメモリアーキテクチャとNUMA対応のプログラミング,OpenMPによる課題並列プログラム作成演習
・並列化プログラミング(3回)
課題並列プログラムの性能解析とチューニング・改良演習,レポート作成
・MPIおよびOpenMPの入門的知識をあらかじめ習得しておくために,「計算科学入門」の履修あるいは学術情報メディアセンターが開催する「並列プログラミング講座」の受講が,望ましい.
・学術情報メディアセンターのスーパーコンピュータを使用します.情報学研究科に所属の学生は事前に取得しているアカウントを使用する.他研究科履修生については本演習用に必要に応じてアカウントを配布する.
・実習用端末として,SSHのクライアント(WSLやPuTTYなど)をインストールしたノート型PCを持参すること.持参できるノート型PCがない場合には情報学研究科教務掛にあらかじめ申し出ること.