山梨大学電子シラバス>検索結果一覧>授業データ



授業科目名
担当教員
並列コンピューティング特論
安藤 英俊/鈴木 智博
時間割番号
単位数
コース
履修年次
期別
曜日
時限
GTK503 2 (未登録) 1 後期 I
[概要と目標]
[Parallel Computing]
Parallel computing technologies bring out high performance computation power of modern multi-core CPUs and GPUs. The practical knowledge of parallel computing using such devices and its cluster system contributes to the large-scale scientific computing, big data analysis and machine learning. This course provides such skills and knowledge.
大規模な科学技術計算、ビッグデータや機械学習の処理の高速化の要求に応えるため、最新のマルチコア CPU、GPU およびそれらからなるクラスタシステムの性能を引き出すために必要となる並列プログラミングの実践的な知識を習得する。
なお、本授業はコンピュータ理工学コースのディプロマポリシーで定めた専門知識・技術(B1)に対応する。
[到達目標]
At the end of this course, the students should be able to: understand the basic knowledge of program optimizations for recent CPUs, understand the characteristic problems of parallel computing and its solutions, and understand the typical pattern of parallel computing and its efficient implementations on the GPU.
・近年のCPUにおけるプログラム最適化の基礎知識を理解する
・並列処理特有の問題点とその解決法を理解する
・並列処理の典型的なパターンとGPU上での効果的な実装法を理解する
[必要知識・準備]
Programming skill (C or C++)
C言語またはC++言語の知識が必要
[評価基準]
No評価項目割合評価の観点
1小テスト/レポート 100  %共有・分散メモリ型並列計算機とGPUにおける並列プログラミングの理解 
[教科書]
(未登録)
[参考書]
  1. 片桐孝洋, スパコンプログラミング入門, 東京大学出版会, ISBN:978-4-13-062453-4
  2. 寒川光ほか, HPCプログラミング, オーム社, ISBN:978-4-274-20746-4
[講義項目]
1. Introduction to parallel and high-performance computing (Suzuki)
2. Fundamentals of high-performance computing (Suzuki)
3. Parallel programming with OpenMP (Data parallel) (Suzuki)
4. Parallel programming with OpenMP (Task parallel) (Suzuki)
5. Parallel programming with MPI (Interprocess communication) (Suzuki)
6. Parallel programming with MPI (Asynchronous communication) (Suzuki)
7. Parallel matrix-vector multiplication (Suzuki)
8. Parallel matrix-matrix multiplication (Suzuki)
9. Introduction to GPU computing (Ando)
10. Fundamentals of GPU programming (Ando)
11. Basic parallel patterns (Map, Stencil) (Ando)
12. Basic parallel patterns (Reduction, Recurrence) (Ando)
13. Advanced parallel patterns (SCAN) (Ando)
14. Advanced parallel patterns (Ballot) (Ando)
15. Advanced topics on GPU computing (Ando)

第1回 高性能計算と並列プログラミングのイントロダクション(担当 鈴木)
第2回 BLAS演算(担当 鈴木)
第3回 行列行列積のチューニング(担当 鈴木)
第4回 OpenMPによる並列プログラミング(担当 鈴木)
第5回 実習1(担当 鈴木)
第6回 MPIによる並列プログラミング(担当 鈴木)
第7回 実習2(担当 鈴木)
第8回 実習3(担当 鈴木)
第9回 GPUによる並列プログラミングのイントロダクション(担当 安藤)
第10回 GPU上での並列Mapパターン+実習(担当 安藤)
第11回 GPU上での並列Stencilパターン(担当 安藤)
第12回 GPU上での並列Reductionパターン+実習(担当 安藤)
第13回 GPU上での並列Scanパターン(担当 安藤)
第14回 Nvidia Deep Learning Instituteによる実習(担当 安藤)
第15回 GPU上での並列Ballotパターン+実習(担当 安藤)

[実施形態」
Zoomによるライブ型とオンデマンド配信を適宜組み合わせて授業を行う。
鈴木担当回は基本的に対面形式とする。
[前年度授業に対する改善要望等への対応]
アンケート結果確認中