高度情報教育基盤ユニット(iEdu)

ユニット提供科目

  1. 現在の位置 : ホーム
  2.  
  3. ユニット提供科目-科目内容
  4.  
  5. 計算科学演習A

計算科学演習A

授業の概要・目的

本授業の目的は,大規模データに対する統計処理を通じて,高速な逐次計算プログラムを作成す る技法と並列計算の初歩を学ぶことである. その目的を達成するために,本授業では,予測を行うための典型的な手法である回帰分析を行う C 言語のプロ グラムを 3 種類作成する.1 つは逐次計算のプログラム,1 つは OpenMP を用いた並列計算のプログラム, もう 1 つは MPI を用いた並列計算のプログラムである.実習に先立ち,コンピュータを用いて計算を行う数 値計算についての基本的な知識や,行列・線形代数の知識,回帰分析の知識,および,並列計算を行うための OpenMP と MPI についてなど,実習に必要な事項について講義する.

【大学院横断型教育の概要・目的】
具体的な題材を課題とした実習により,計算科学・並列計算の技法を実践的に学ぶことができ,学習成果の活 用が期待される.特に,計算科学の技法を強く意識していなかった理系分野の大学院生が,この授業を受講す ることにより,新しい視点で,自分の分野の研究にアプローチできるようになる.

高速なプログラムを作成する技法を理解し,OpenMP および MPI を用いて並列計算を行うプログラムを作成 できるようになること.

授業計画と内容

・数値計算と計算科学(1 回) 二分法やガウスの消去法を例に計算機で計算する方法について講義する
・線形代数(1 回)
回帰分析を行うのに必要なグラムシュミットの正規直交化法と QR 分解,および,分散メモリの並列計算 で QR 分解を行う All Reduce アルゴリズムについて講義する
・回帰分析(1 回) 回帰分析と最小二乗法について講義する
・逐次計算の高速化(1 回) 効率的なアルゴリズム,計算機アーキテクチャとキャッシュの有効活用など高速な逐次計算を行うコツに ついて講義する
・OpenMP 入門(1 回)
共有メモリ向けの並列化技法である OpenMP について講義する
・MPI 入門(1 回)
分散メモリ向けの並列化技法である MPI について講義する
・回帰分析を行うプログラムの作成(9 回)
回帰分析を行う C 言語のプログラムを 3 種類作成する.
始めに逐次計算のプログラムを作成し,それを OpenMP を用いて並列化を行ったプログラム,MPI を用 いて並列化を行ったプログラムをそれぞれ作成する.

履修要件

C 言語を用いて実習を行うため,C 言語の文法を既に習得しているか,予習と復習を授業と 並行して行うことを期待する.

ページの先頭へ

S