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

ユニット提供科目

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

計算科学入門

授業の概要・目的

計算アルゴリズムと計算機アーキテクチャによる高精度計算と高速計算の基礎、並列計算技法、応用事例を教授する。コンピュータを活用する上で最も重要な逐次計算の高速化技法と、マルチコアCPUを搭載する計算機での並列計算技法や分散メモリ型並列計算機における並列計算技法について、C言語を利用して実習を行う。計算科学についての基礎力をつけることを目的とする。
【大学院横断型教育の概要・目的】計算機アーキテクチャの理解、並列プログラミングの習得に止まらず、多くの事例研究の学習により、幅広い分野における計算科学の技法の習得ができる。そのため、より実践的な場面での学習成果の活用が期待される。特に、計算科学の技法を強く意識していなかった理系分野の大学院生が、この授業を受講することにより、新しい視点で、自分の分野の研究にアプローチできるようになる。

授業計画と内容

シミュレーション科学,行列計算,最適化アルゴリズムなどを題材として,計算の精度と実行時間,並列プログラミング(OpenMPとMPI入門),事例研究について学ぶ。全15回の予定は以下の通りである。
・数値計算についての講義(6回)
(1)数値計算の精度と安定性数値計算の結果の精度を向上させるための数理的背景を持つ事例、多倍長計算の活用、計算機における演算、計算スキームの安定性などの解説
(2)数値計算の高速化BLAS&LAPACK数値計算を高速化するための一つの有効な手段として、数値計算ライブラリとして有名なBLASとLAPACKの構造やその活用法の解説
(3)最適化アルゴリズム
アルゴリズムや実装の工夫による最適化計算の高速化についての解説
※年度によって(1)-(3)の一部を省略することがある
・計算科学についての講義(3回)
(1)逐次計算の高速化と並列計算計算機アーキテクチャの説明、キャッシュの有効活用、データの再利用などによる逐次計算の高速化とデータ分割、キュー、粒度などの並列計算の基礎理論の説明
(2)OpenMPによる並列計算並列計算のためのOpenMPプログラミング技法、基礎理論、逐次プログラムからの変更点などの紹介
(3)MPIによる並列計算並列計算のためのMPIの並列モデル、基礎理論、基本関数の使い方などの解説
・スーパーコンピュータ実習(3回)
(1)C言語による逐次計算の高速化技法についての実習
(2)C言語によるマルチコアCPUを搭載する計算機での並列計算技法についての実習(3)C言語による分散メモリ型並列計算機での並列計算技法についての実習
・事例研究についての講義(3回)

履修要件

・課題実習では、学術情報メディアセンターのスーパーコンピュータを使用します。情報学研究科に所属の学生は事前に取得しているアカウントを使用します。他研究科履修生については本演習用に必要に応じてアカウントを配布します。
・実習用端末として、ノート型PCを持参してください。持参できるノート型PCがない場合には教員に申し出てください。

成績評価の方法・基準

以下の通り、レポート課題および平常点で評価する。
・数値計算についての講義において、レポート課題を出題する(配点30点)
・スーパーコンピュータ実習において、プログラミングの課題を出題する(配点45点)
・平常点評価には、出席状況と質問など通した授業への積極的な参加を評価する(配点25点)

教科書

講義資料を配布する。
教科書は特に定めない。

参考書等

(参考書)
特に定めない。

その他(授業外学習の指示・オフィスアワー等)

プログラミング言語Cについては、その文法を習得していることを前提として演習を行う為、それについての予習と復習を授業と並行して行うことを期待する。さらに、各話題について、授業時間の制約の為、詳細に解説することが困難であるため、各自で、図書館等を利用して各話題についての深い知識を得ることを期待する。
オフィスアワーについては担当教員のKULASIS登録情報を参照すること。
關戸啓人:sekido@amp.i.kyoto-u.ac.jp
佐藤寛之:hsato@amp.i.kyoto-u.ac.jp授業時間外で質問がある場合には、あらかじめ、上記のアドレスにメールをすること。

ページの先頭へ

S