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

ユニット提供科目

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

計算科学入門

授業の概要・目的

計算アルゴリズムと計算機アーキテクチャによる高精度計算と高速計算の基礎、並列計算技法、応用事例を教授する。コンピュータを活用する上で最も重要な逐 次計算の高速化技法と、マルチコアCPUを搭載する計算機での並列計算技法や分散メモリ型並列計算機における並列計算技法について、C言語を利用して実習 を行う。計算科学についての基礎力をつけることを目的とする。

The aim of this course is to obtain the basic knowledge and skills for computational science. For this purpose, we give lectures and exercises as follows.
In lectures, we give the following topics: numerical algorithms, computer architecture, basics of high precision computation, high performance computing, parallel computing techniques, and applications of computational science in various fields.
In exercises, using the C language, students acquire optimization techniques for serial computing which is the most important technique to utilize computers. Students also acquire parallel computing techniques for computers with multicore CPUs and computers with distributed memory.

授業計画と内容

ガイダンス

情報学研究科の学生のためのスパコン利用ガイド

シミュレーション科学の基礎として,計算の精度と実行時間,並列プログラミング(OpenMPとMPI入門),事例研究について学ぶ。

全15回の予定は以下の通りである。

・数値計算についての講義5回
(1)数値計算の精度と安定性
数値計算の結果の精度を向上させるための数理的背景を持つ事例、多倍長計算の活用、計算機における演算、計算スキームの安定性などの解説

(2)数値計算の高速化 BLAS&LAPACK
数値計算を高速化するための一つの有効な手段として、数値計算ライブラリとして有名なBLASとLAPACKの構造やその活用法の解説
スライド(中村先生分)
資料(藤原先生分)
スライド(木村分)
スライド(木村分)
・計算科学についての講義4回

(1)逐次計算の高速化と並列計算
計算機アーキテクチャの説明、キャッシュの有効活用、データの再利用などによる逐次計算の高速化とデータ分割、キュー、粒度などの並列計算の基礎理論の説明
逐次計算

(2)OpenMPによる並列計算
並列計算のためのOpenMPプログラミング技法、基礎理論、逐次プログラムからの変更点などの紹介
OpenMP

(3)MPIによる並列計算
並列計算のためのMPIの並列モデル、基礎理論、基本関数の使い方などの解説
MPIスライド MPIプログラム例
・スーパーコンピュータ実習 3回

(1) C言語による逐次計算の高速化技法についての実習
課題(逐次計算の高速化)

(2) C言語によるマルチコアCPUを搭載する計算機での並列計算技法についての実習
課題(OpenMPによる並列計算)

(3) C言語による分散メモリ型並列計算機での並列計算技法についての実習
課題(MPIによる並列計算)
課題に関する質問とその回答(6月30日最終更新)
・事例研究についての講義3回程度

All schedules are as follows.
・Lecture of numerical computation (5 times Lecture)
(1) Accuracy and stability of numerical computation
(2) Speed-up of numerical computation, BLAS&LAPACK
・Lecture of computational science (4 times Lecture)
(1) Speed-up of serial computation and parallel computation
(2) Multi-thread parallel programming (OpenMP)
(3) Multi-process parallel programming (MPI)
・Supercomputer exercise (3 times Exercise)
(1) Speed-up of serial computation
(2) OpenMP
(3) MPI
・Case study (3 times Lecture)

履修要件

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

ECS-ID is required for all attendees prior to the exercise classes.
A laptop computer is used in this course. It is better to bring a laptop computer.

予備知識

プログラミング言語Cについては、その文法を習得していることを前提として演習を行う為、それについての予習と復習を授業と並行して行うことを期待する。さらに、各話題について、授業時間の制約の為、詳細に解説することが困難であるため、各自で、図書館等を利用して各話題についての深い知識を得ることを期待する。

成績評価の方法・基準

レポート試験の成績(75%) 平常点評価(25%)
数値計算についての講義において、「数値計算の精度と安定性」についてのレポート課題を2回出題する(配点 各10点)、「数値計算の高速化」についてのレポート課題を出題する(配点 10点)。
計算科学についての講義において、「逐次計算の高速化」「OpenMPによる並列計算」「MPIによる並列計算」についてのレポート課題を出題する(配点 各15点)
平常点評価には、出席状況と質問など通した授業への積極的な参加を評価します。

The understanding level of the each content of the lecture about "Accuracy and stability of numerical computation (1)", "Accuracy and stability of numerical computation (2)", and "Speed-up of numerical computation" is evaluated by a report, respectively. Students also submit three reports corresponding to exercises about "Speed-up of serial computation", " OpenMP" and "MPI".

"Accuracy and stability of numerical computation (1)": it is worth 10 points.
"Accuracy and stability of numerical computation (2)": it is worth 10 points.
"Speed-up of numerical computation": it is worth 10 points.
"Speed-up of serial computation": it is worth 15 points.
"OpenMP": it is worth 15 points.
"MPI": it is worth 15 points.
Attendance and active participation through questions is worth 25 points.

教科書

講義資料を配布
特に定めない

Handouts to be distributed
Not specified

参考書等

特に定めない

Not specified

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

オフィスアワーについては担当教員の KULASIS 登録情報を参照すること。
木村欣司:kkimur@amp.i.kyoto-u.ac.jp
關戸啓人:sekido@amp.i.kyoto-u.ac.jp
授業時間外で、質問がある場合には、あらかじめ、上記のアドレスにメールをすること。

See KULASIS data for office-hour information.
Kinji Kimura : kkimur@amp.i.kyoto-u.ac.jp
Hiroto Sekido : sekido@amp.i.kyoto-u.ac.jp
Please send mail to the above-mentioned address to contact outside the class time.

※オフィスアワー実施の有無は、KULASISで確認してください 。

ページの先頭へ

S