シラバス
授業科目名 | 年度 | 学期 | 開講曜日・時限 | 学部・研究科など | 担当教員 | 教員カナ氏名 | 配当年次 | 単位数 |
---|---|---|---|---|---|---|---|---|
並列・分散システム特論 | 2024 | 後期 | 水6 | 国際情報研究科修士課程 | 小花 聖輝 | コハナ マサキ | 1・2年次配当 | 2 |
科目ナンバー
IG-IG5-AI03
履修条件・関連科目等
C言語によるプログラムが書けること。Linux環境での開発ができること。
授業で使用する言語
日本語
授業で使用する言語(その他の言語)
授業の概要
現代で主流となっているマルチコアCPUの構造を知り、計算資源を効率良く利用するための並列・分散計算の方法について理解する。
科目目的
並列・分散処理の手法や設計方法を知り、逐次処理を並列化・分散化できるようになる。
並列・分散処理の利点と欠点を理解し、状況に応じて使い分けができるようになる。
到達目標
PthreadやOpenMPを用いた並列処理を実装できるようになる。
MPIを用いた分散計算を実装できるようになる。
アルゴリズムの並列化ができるようになる。
授業計画と内容
第1回 CPUの構成、スレッドとプロセス
第2回 スレッドプログラミングの基礎 (pthread)
第3回 共有変数と排他制御 (pthread)
第4回 共有メモリ、パイプ
第5回 ソケット通信
第6回 MPIを使った分散処理 (MPI)
第7回 データ構造とメッセージ (MPI)
第8回 集合通信 (MPI)
第9回 OpenMPを使った並列処理 (OpenMP)
第10回 同期、結合、属性指示 (OpenMP)
第11回 性能評価の方法
第12回 ループアンローリング
第13回 ワークプール法
第14回 ライフゲーム
授業時間外の学修の内容
その他
授業時間外の学修の内容(その他の内容等)
講義中に出題する演習課題に取り組む。
授業時間外の学修に必要な時間数/週
成績評価の方法・基準
種別 | 割合(%) | 評価基準 |
---|---|---|
レポート | 50 | 期末レポート |
その他 | 50 | 演習課題 |
成績評価の方法・基準(備考)
原則、10回以上授業に出席しないと成績評価の対象となりません。
課題や試験のフィードバック方法
授業時間内で講評・解説の時間を設ける
課題や試験のフィードバック方法(その他の内容等)
アクティブ・ラーニングの実施内容
実施しない
アクティブ・ラーニングの実施内容(その他の内容等)
授業におけるICTの活用方法
実施しない
授業におけるICTの活用方法(その他の内容等)
実務経験のある教員による授業
いいえ
【実務経験有の場合】実務経験の内容
【実務経験有の場合】実務経験に関連する授業内容
テキスト・参考文献等
テキスト
講義内で必要に応じて指示する。
参考文献
並行コンピューティング技法 ―実践マルチコア/マルチスレッドプログラミング、Clay Breshears (著), 千住 治郎 (翻訳)、オライリージャパン、2009
PThreads Programming: A POSIX Standard for Better Multiprocessing (English Edition)、Jacqueline Farrell, Dick Buttlar, Bradford Nichols、O’Reilly、1996