学部・大学院区分
Undergraduate / Graduate
情報・博前
時間割コード
Registration Code
2550057
科目区分
Course Category
科目名 【日本語】
Course Title
大規模計算特論A
科目名 【英語】
Course Title
High-Performance Computing A
コースナンバリングコード
Course Numbering Code
GSI156049J
担当教員 【日本語】
Instructor
片桐 孝洋 ○ 星野 哲也
担当教員 【英語】
Instructor
KATAGIRI Takahiro ○ HOSHINO Tetsuya
単位数
Credits
1
開講期・開講時間帯
Term / Day / Period
春1期 火曜日 4時限
Spring1 Tue 4
対象学年
Year
1年
1
授業形態
Course style

開講系(学部)・開講専攻(大学院)
Subject
必修・選択
Required / Selected


授業の目的 【日本語】
Goals of the Course(JPN)
並列計算機の構成方式,高性能プログラミング技法,並列プログラミング,および,近年のスーパーコンピュータの技術動向の講義を通して,大規模計算の基盤技術の習得を目的とする。
授業の目的 【英語】
Goals of the Course
The aim of this lecture is to obtain basic technologies of large-scale computations by learning hardware methodology of parallel computers, techniques for high performance programming, parallel programming, and advanced supercomputer technologies.
到達目標 【日本語】
Objectives of the Course(JPN)
並列計算機の構成方式,高性能プログラミング技法,並列プログラミング,および,近年のスーパーコンピュータの技術動向の講義を通して,大規模計算の基盤技術の習得を目標とする。

並列プログラミングおよび高性能プログラミング技法について,行列-行列積やLU分解法などの基本的な数値計算処理を題材として学習する。

OpenMP や MPI (Message Passing Interface)など,大規模計算に資するプログラミング技術の理解も行う。本講義では情報基盤センターの最先端のスーパーコンピュータ「不老」の利用が可能であり,並列プログラミングの基礎能力の育成も目標としている。
到達目標 【英語】
Objectives of the Course
Through the lectures, configurations of parallel computers, high-performance programming techniques, parallel programming, and recent technological trends of supercomputers are studied to obtain basic technology for large-scale computation.

Parallel programming and high-performance programming techniques are studied using basic numerical calculation processes, such as matrix-matrix multiplication and LU factorization.

OpenMP and MPI (Message Passing Interface), which are programming techniques for large-scale computation, are studied. In this lecture, the Supercomputer “Flow”, which is an advanced supercomputer at Information Technology Center, is used to obtain basic ability of parallel programming.
授業の内容や構成
Course Content / Plan
大規模計算による実践的問題解決能力を身に付けるために,並列処理および並列プログラミングの基礎,OpenMPとMPIによるプログラミングの基礎,および,基礎的な数値計算アルゴリズムの並列化方法について紹介する。

それらを説明した後,OpenMPとMPIによる並列プログラミング及びスーパーコンピュータを用いた実習を行う。

〔計画〕
1. ガイダンス,並列計算およびスーパーコンピュータの基礎
2. 並列プログラミングの基礎
3. スーパーコンピュータの実例,使い方
4. 高性能プログラミング技法の基礎(ループアンローリング,連続アクセス,ブロック化,等)
5. OpenMPの基礎
6. MPIの基礎
7. MPIを用いた並列化演習I(行列-行列積)
8. MPIを用いた並列化演習II(LU分解法)
履修条件・関連する科目
Course Prerequisites and Related Courses
特になし
成績評価の方法と基準
Course Evaluation Method and Criteria
講義中に与える演習課題のレポート100%,合計100点満点で60点以上を合格とする。
教科書・参考書
Textbook/Reference book
必要に応じて配布する。

参考書:
 岩下武史,片桐孝洋,高橋大介著「スパコンを知る:その基礎から最新の動向まで」東京大学出版会

 片桐孝洋著「スパコンプログラミング入門-並列処理とMPIの学習-」東京大学出版会

 片桐孝洋著「並列プログラミング入門:サンプルプログラムで学ぶOpenMPとOpenACC」東京大学出版会
課外学習等(授業時間外学習の指示)
Study Load(Self-directed Learning Outside Course Hours)
演習課題を与える。
授業開講形態等
Lecture format, etc.
対面。ただし、資料は講義中に指定するHPで公開する。
遠隔授業(オンデマンド型)で行う場合の追加措置
Additional measures for remote class (on-demand class)