学部・大学院区分
Undergraduate / Graduate
工・博前
時間割コード
Registration Code
2821510
科目区分【日本語】
Course Category
専門科目
科目区分【英語】
Course Category
Specialized Courses
科目名 【日本語】
Course Title
大規模並列数値計算特論
科目名 【英語】
Course Title
Large-scale Parallel Computing
コースナンバリングコード
Course Numbering Code
担当教員 【日本語】
Instructor
片桐 孝洋 ○ 星野 哲也
担当教員 【英語】
Instructor
KATAGIRI Takahiro ○ HOSHINO Tetsuya
単位数
Credits
2
開講期・開講時間帯
Term / Day / Period
春 火曜日 1時限
Spring Tue 1
授業形態
Course style
講義
Lecture
学科・専攻【日本語】
Department / Program
応用物理学専攻
学科・専攻【英語】
Department / Program
Department of Applied Physics
必修・選択【日本語】
Required / Selected
選択
必修・選択【英語】
Required / Selected


授業の目的 【日本語】
Goals of the Course(JPN)
超高速並列計算機および並列プログラミングの講義を行う。実機として名古屋大学のスーパーコンピュータ「不老」を使用する課題を随時出す。プログラム言語にはFortranおよびCを使用する。

達成目標
1.超高速並列計算機および並列プログラミングの現状を説明できる。
2.初歩的な並列プログラミングを作成できる。
授業の目的 【英語】
Goals of the Course
Learning how to use a high speed parallel computer. You will have programming practices using the Supercomputer "Flow" at Nagoya university. The programming languages are Fortran and C.

Target:
1. Understanding the state of the art of high speed parallel computer and parallel programming.
2. Acquiring fundamental skills of parallel programming.
到達目標 【日本語】
Objectives of the Course(JPN))
超高速並列計算機および並列プログラミングの講義を行う。実機として名古屋大学のスーパーコンピュータ「不老」を使用する課題を随時出す。プログラム言語にはFortranおよびCを使用する。

達成目標
1.超高速並列計算機および並列プログラミングの現状を説明できる。
2.初歩的な並列プログラミングを作成できる。
到達目標 【英語】
Objectives of the Course
Learning how to use a high speed parallel computer. You will have programming practices using the Supercomputer "Flow" at Nagoya university. The programming languages are Fortran and C.

Target:
1. Understanding the state of the art of high speed parallel computer and parallel programming.
2. Acquiring fundamental skills of parallel programming.
バックグラウンドとなる科目【日本語】
Prerequisite Subjects
特にないが、プログラミングの基礎を学んでいることが望ましい。
バックグラウンドとなる科目【英語】
Prerequisite Subjects
Not specified, but taking some courses for programming is recommended.
授業の内容【日本語】
Course Content
 1.ガイダンス、高速計算の必要性と高速計算機の発展の歴史
 2.並列数値処理の基本演算
 3.スーパコンピュータの利用(アカウントの発行)
 4.高性能プログラミングの基礎
 5.OpenMPの基礎
 6.行列-ベクトル積の並列化
 7.べき乗法の並列化
 8.行列‐行列積の並列化(1)
 9.行列‐行列積の並列化(2)
10.数値計算ライブラリの利用
11.GPUコンピューティング・機械学習(1)
12.GPUコンピューティング・機械学習(2)
13.GPUコンピューティング・機械学習(3)
14.GPUコンピューティング・機械学習(4)

授業後にレポート課題を出す。レポートはそれぞれ課題ごとに指定の日付までに提出する。授業前に各自予習を行っておくこと。
授業の内容【英語】
Course Content
[1] High performance computing and its history
[2] Classification of concepts of high speed parallel computers and their state of the art
[3] Usage of high speed parallel computers
[4] Vector operations, multithreading and parallel processing
[5] Fundamentals of OpenMP
[6] Parallelization of Matrix-Vector Products
[7] Parallelization of Power iteration
[8] Parallelization of Matrix-Matrix Products (1)
[9] Parallelization of Matrix-Matrix Products (2)
[10] Use of Numerical Libraries.
[11] GPU Computing / Machine Learning (1)
[12] GPU Computing / Machine Learning (2)
[13] GPU Computing / Machine Learning (3)
[14] GPU Computing / Machine Learning (4)

Students are required to submit reports for several topics. Reports should be submitted before deadlines for each topics. Students should prepare for the class beforehand.
成績評価の方法と基準【日本語】
Course Evaluation Method and Criteria
講義で与える課題のレポートの成績により評価する。達成目標に対する評価の重みは同等である。
レポートでは各課題について超高速並列計算機および並列プログラミングの説明と初歩的な並列プログラミングを作成の能力を評価する。
成績評価の方法と基準【英語】
Course Evaluation Method and Criteria
Evaluated by scores of reports. The weights for each targets of this course are the same.
The skills to explain the state of the art of high speed parallel computer and parallel programming, and to implement parallel programs, are evaluated by reports.
履修条件・注意事項【日本語】
Course Prerequisites / Notes
履修条件は要さない。
履修条件・注意事項【英語】
Course Prerequisites / Notes
There are no prerequisites.
教科書【日本語】
Textbook
授業の進行に合わせ、講義資料を配布する。
教科書【英語】
Textbook
Documents for lectures will be provided.
参考書【日本語】
Reference Book
■教科書・参考書の別:【教科書】

 片桐孝洋 著、「並列プログラミングのツボ(仮称)」、東京大学出版会、2024年4月1日出版予定、ISBM: 978-4-13-062465-7
 なお、教科書以外の必要資料は、講義中に配布する。

■教科書・参考書の別:参考書

 出版社:東京大学出版会
 書名: スパコンを知る その基礎から最新の動向まで
 著者:岩下武史、片桐孝洋、高橋大介
 ISBN:9784130634557

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

 出版社:東京大学出版会
 書名:並列プログラミング入門: サンプルプログラムで学ぶOpenMPとOpenACC
 著者:片桐孝洋
 ISBN:978-4130624565

教科書・参考書の別:参考書
書名:計算科学のための並列計算―大規模計算への第一歩―
著者:金田行雄・笹井理生監修・石井克哉編
ISBN:978-4-320-12269-7
参考書【英語】
Reference Book
**Text Book:

"Catch the main points of parallel programming ", T. Katagiri (2024) , Tokyo-Daigaku Syupan-kai (To be published.) (In Japanese)

The other free materials will be presented during the class room.

**Reference Books:

1. "Supakon wo shiru: Sono kiso kara saishin no doukou made", T. Iwashita, T. Katagiri, and D. Takahashi (in Japanese).

2. "Supakon purogramming nyuumon -heiretsu shori to MPI no gakusyuu-", T. Katagiri (in Japanese).

3. "Heiretsu programming nyuumon: Sample program de manabu OpenMP to OpenACC", T. Katagiri (in Japanese).

4. "Keisan kagaku no tame no heiretsu keisan -daikibo keisan heno daiippo-", Y. Kaneda, A. Sasai, K. Ishii (in Japanese).
授業時間外学習の指示【日本語】
Self-directed Learning Outside Course Hours
授業中に提示される。
授業時間外学習の指示【英語】
Self-directed Learning Outside Course Hours
It is presented during class.
使用言語【英語】
Language used
Japanese
使用言語【日本語】
Language used
日本語
授業開講形態等【日本語】
Lecture format, etc.
対面
授業開講形態等【英語】
Lecture format, etc.
Face to face
遠隔授業(オンデマンド型)で行う場合の追加措置【日本語】
Additional measures for remote class (on-demand class)
遠隔授業(オンデマンド型)で行う場合の追加措置【英語】
Additional measures for remote class (on-demand class)