パラレルコンピューティング
担当者錦 慎之助
学年・開講期1年次 通年  [情報科学専攻 (通信教育課程)修士課程]
科目の種類専門
クラスメディア授業
区分・単位選択 2単位
科目ナンバー

授業の概要(ねらい)

近年、計算機技術の発展は著しく、それに伴って大規模な数値シミュレーションを実行する需要が大きくなっています。計算時間を短縮することで開発期間が短縮されるため、並列計算、すなわち、パラレルコンピューティングが用いられています。並列計算には大きく分けて、共有メモリ型と分散メモリ型の方法があり、それぞれの概念と特徴、および、MPIやOpenMPなどによる並列計算のプログラミングと実行方法を学びます。また、オープンソースの熱流体解析ソフトを用いて簡単な流体解析の並列計算の実技を行い、性能評価を行います。
この科目は、ディプロマポリシーDP1、DP3について修得します。

授業の到達目標

コンピュータによる分散処理の概念と手法について理解します。学生自身がコンピュータで並列計算が実行できるように、簡単なサンプルプログラムをMPIやOpenMPにより並列化するプログラムを作成し、計算を実行できるようになることを目標とします。

成績評価の方法および基準

レポートの課題(80%)と科目習得試験(20%)で評価します。なお、課題は4回出題します。
LMSにより、授業の資料の掲示、課題提出・フィードバックを行います。

教科書・参考文献

種別書名著者・編者発行所
教科書
参考文献図書館の資料やインターネットを活用して情報収集することを推奨します。
参考文献スパコンプログラミング入門: 並列処理とMPIの学習、片桐孝洋、東京大学出版会、ISBN-13: 978-4130624534
参考文献並列プログラミング入門: サンプルプログラムで学ぶOpenMPとOpenACC、片桐孝洋、東京大学出版会、ISBN-13: 978-4130624565

準備学修の内容

予習として「7. 授業内容」について、参考図書や図書館資料、インターネット等により情報収集した資料に基づき、事前学習を行ってください。(2時間)
授業後は復習を行い、また、課題(レポート)に取り組み、理解を深めてください。(1時間)

その他履修上の注意事項

各学生のパソコンあるいはノートパソコンに、オープンソースのコンパイラや熱流体解析ソフトをインストールし、プログラミングや計算実行を行う予定です。

授業内容

授業内容
第1回授業の進め方、コンピュータの歴史、並列計算の概要
第2回C言語のコンパイラのセットアップとプログラミングの基礎
第3回Fortranのコンパイラのセットアップとプログラミングの基礎
第4回共有メモリと分散メモリの概要と並列計算
第5回OpenMPによる共有メモリ並列処理(1)概要
第6回OpenMPによる共有メモリ並列処理(2)並列化のプログラミング
第7回OpenMPによる共有メモリ並列処理(3)並列計算
第8回OpenMPによる共有メモリ並列処理(4)性能評価
第9回MPIによる分散メモリ並列処理(1)概要
第10回MPIによる分散メモリ並列処理(2)並列化のプログラミング
第11回MPIによる分散メモリ並列処理(3)並列計算
第12回MPIによる分散メモリ並列処理(4)性能評価
第13回Fire Dynamics Simulator (FDS) の概要とセットアップ
第14回Fire Dynamics Simulator (FDS) のインプットファイルの作成
第15回Fire Dynamics Simulator (FDS) による熱流体解析を利用した並列化の性能確認