Exercise on Computational Science B

Numbering Code G-LAS12 80017 SJ10
G-LAS12 80017 SJ11
Year/Term 2021 ・ Intensive, First semester
Number of Credits 1 Course Type Seminar
Target Year Graduate students Target Student For science students
Language Japanese Day/Period Intensive
TBD
Instructor name NAKASHIMA HIROSHI (Academic Center for Computing and Media Studies Professor)
FUKAZAWA KEIICHIROU (Academic Center for Computing and Media Studies Associate Professor)
SEKIDO HIROTO (Institute for Liberal Arts and Sciences Program-Specific Senior Lecturer)
Outline and Purpose of the Course 比較的簡単で背景となる数学的かつ工学的知識を受講者が共通に持つ具体的な大規模な科学技術計算の課題について、履修生がC言語、またはFORTRANを選択して、自ら並列計算プログラムを作成し、スーパーコンピュータにおける実行データを分析する。課題としては、例えば、拡散方程式の陽的差分法に関する並列計算がある。本科目は、計算科学に関する教育研究を行う全ての研究科に所属する大学院学生が受講しやすいよう夏期休暇中の集中講義科目として実施する。

【研究科横断型教育の概要・目的】
基本的な並列プログラミングの習得に止まらず、具体的な大規模な科学技術計算の課題についての実習により、計算科学の技法の習得ができる。そのため、より実践的な場面での学習成果の活用が期待される。特に、計算科学の技法を強く意識していなかった理系分野の大学院生が、この授業を受講することにより、新しい視点で、自分の分野の研究にアプローチできるようになる。
Course Goals MPIおよびOpenMPの基本的な機能を用いた並列プログラミングのためのスキルを習得すること。
Schedule and Contents 全15回の予定は、以下の通りである。
・並列計算概論2回
並列計算の基本,メディアセンターのスーパーコンピュータの紹介,スーパーコンピュータの基本的利用法に関する演習
・逐次プログラミング 2回
課題プログラムの原理・基本的計算法に関する解説,逐次プログラムの作成
・MPI(基礎)2回
MPI並列プログラミングの基本的な考え方と技法,MPIによる課題プログラムの基本的な並列化設計
・MPI(応用)2回
MPIの高度な機能とそれを用いたプログラミング,集合通信の機能と性能、MPIによる課題並列プログラム作成演習
・OpenMP(基礎)2回
OpenMP並列プログラミングの基本的な考え方と技法,OpenMPによる課題プログラムの基本的な並列化設計
・OpenMP(応用)2回
NUMAメモリアーキテクチャとNUMA対応のプログラミング,OpenMPによる課題並列プログラム作成演習
・並列化プログラミング 3回
課題並列プログラムの性能解析とチューニング・改良演習,レポート作成
Evaluation Methods and Policy 【レポート試験の成績(75%)】
MPIやOpenMPを利用したC言語もしくはFORTRANの並列化プログラミングに関する基礎的知識を獲得し、あわせて履修生が自身の専門分野において並列化シミュレーションを実施するために必要な知識、技能を獲得することを目標とする。講義内容の理解度や並列プログラミング技能の習熟度について、拡散方程式の初期値求解プログラムに関する以下の5回のレポート(配点各15点)により評価する。
・逐次プログラム
・問題空間を1次元分割したMPI並列プログラム
・問題空間を2次元分割したMPI並列プログラム
・Work Sharingを用いたOpenMPプログラム
・OpenMPとMPIを併用したハイブリッド並列プログラム
【平常点評価(25%)】
出席状況と、質問などを通した授業への積極的な参加を評価する。
Course Requirements ・MPIおよびOpenMPの入門的知識をあらかじめ習得しておくために、「計算科学入門」の履修あるいは学術情報メディアセンターが開催する「並列プログラミング講座」の受講が、極めて望ましいです。
・学術情報メディアセンターのスーパーコンピュータを使用します。情報学研究科に所属の学生は事前に取得しているアカウントを使用します。他研究科履修生については本演習用に必要に応じてアカウントを配布します。
・実習用端末として、SSHのクライアントソフト(PuTTYなど)をインストールしたノート型PCを持参してください。持参できるノート型PCがない場合には情報学研究科教務掛にあらかじめ申し出てください。
Study outside of Class (preparation and review) 『スーパーコンピュータの使い方』 (https://web.kudpc.kyoto-u.ac.jp/doc/hpc-manual/hpc-manual-ja.pdf)
Textbooks Textbooks/References 教科書は特に定めず、配布資料に基づいて講義する。
References, etc. 『スーパーコンピュータの使い方』 (https://web.kudpc.kyoto-u.ac.jp/doc/hpc-manual/hpc-manual-ja.pdf)
PAGE TOP