学部・大学院区分情報・博前
時間割コード2550057
科目区分
主専攻科目
科目名 【日本語】大規模計算特論A
科目名 【英語】
コースナンバリングコードGSI156049J
担当教員 【日本語】片桐 孝洋 ○ 大島 聡史
担当教員 【英語】KATAGIRI Takahiro ○ OHSHIMA Satoshi
単位数1
開講期・開講時間帯春1期 火曜日 1時限
Spring1 Tue 1
対象学年1年
1
授業形態
開講系(学部)・開講専攻(大学院)
情報システム学専攻
必修・選択


授業の目的 【日本語】
並列計算機の構成方式,高性能プログラミング技法,並列プログラミング,および,近年のスーパーコンピュータの技術動向の講義を通して,大規模計算の基盤技術の習得を目的とする。
授業の目的 【英語】
[This course will be taught in Japanese.]

The goal of this course is to obtain basic skills of large-scale computation via organization of parallel computers, techniques of high performance programming, and trends of technologies of supercomputing.
到達目標 【日本語】
並列計算機の構成方式,高性能プログラミング技法,並列プログラミング,および,近年のスーパーコンピュータの技術動向の講義を通して,大規模計算の基盤技術の習得を目的とする。
並列プログラミングおよび高性能プログラミング技法について,行列-行列積やLU分解法などの基本的な数値計算処理を題材として学習する。
OpenMP や MPI (Message Passing Interface)など,大規模計算に資するプログラミング技術の理解も行う。
本講義では情報基盤センターの最先端のスーパーコンピュータの利用が可能であり,並列プログラミングの基礎能力の育成も目的としている。
到達目標 【英語】
The goal of this course is to obtain basic skills of large-scale computation via organization of parallel computers, techniques of high performance programming, and trends of technologies of supercomputing.
To learn skills of parallel programming and high performance programming, we use basic numerical computations as an example, such as Matrix-matrix multiplications and LU decomposition. We also treat OpenMP and MPI (Message Passing Interface) for programming of large-scale computations.
Advanced supercomputers installed in Information Technology Center, Nagoya University will be used for parallel programming to obtain the basic skills in this course.
授業の内容や構成
大規模計算による実践的問題解決能力を身に付けるために,並列処理および並列プログラミングの基礎,OpenMPとMPIによるプログラミングの基礎,および,基礎的な数値計算アルゴリズムの並列化方法について紹介する。
それらを説明した後,OpenMPとMPIによる並列プログラミング及びスーパーコンピュータを用いた実習を行う。

〔計画〕
1. ガイダンス,並列計算およびスーパーコンピュータの基礎
2. 並列プログラミングの基礎
3. スーパーコンピュータの実例,使い方
4. 高性能プログラミング技法の基礎(ループアンローリング,連続アクセス,ブロック化,等)
5. OpenMPの基礎
6. MPIの基礎
7. MPIを用いた並列化演習I(行列-行列積)
8. MPIを用いた並列化演習II(LU分解法)
To obtain actual skills of problem solving for large-scale computations, we introduce basics of parallel processing, parallel programming with OpenMP and MPI. We also show that how to parallelize problems by using basic numerical computations. After explaining these basic topics, a training of parallel programing for OpenMP and MPI with supercomputer is performed.

[Course plan]
1. Introduction, and basics of parallel computation and supercomputers.
2. Basics of parallel programming.
3. Actual supercomputers, and its usage.
4. Basic High performance Computing Programming: Loop unrolling, Continues accesses, Blocking, etc.
5. Basic of Programming with OpenMP.
6. Basic of Programming with MPI.
7. Training I: Parallelization with MPI (Matrix-Matrix Multiplication).
8. Training II: Parallelization with MPI (LU decomposition).


履修条件・関連する科目
成績評価の方法と基準
講義中に与える演習課題のレポート100%,合計100点満点で60点以上を合格とする。
Your final grade will be calculated according to report (100%), which is provided in the course. To pass, students must earn at least 60 points out of 100.
教科書・参考書
必要に応じて配布する。
参考書:
岩下武史,片桐孝洋,高橋大介著「スパコンを知る:その基礎から最新の動向まで」東京大学出版会
 片桐孝洋著「スパコンプログラミング入門-並列処理とMPIの学習-」東京大学出版会
 片桐孝洋著「並列プログラミング入門:サンプルプログラムで学ぶOpenMPとOpenACC」東京大学出版会
Course materials will be provided in the course.
The reference books are shown. Only Japanese is available.

岩下武史,片桐孝洋,高橋大介著「スパコンを知る:その基礎から最新の動向まで」東京大学出版会
 片桐孝洋著「スパコンプログラミング入門-並列処理とMPIの学習-」東京大学出版会
 片桐孝洋著「並列プログラミング入門:サンプルプログラムで学ぶOpenMPとOpenACC」東京大学出版会

課外学習等(授業時間外学習の指示)
NUCTを通じて講義資料の事前配布を行う。
講義において説明した理論を理解するために課題を与える。
Course material will be distributed via NUCT.
To understand theory that is explained in the course, submission of reports is required.
授業開講形態等
遠隔授業(オンデマンド型)で行う場合の追加措置