HOME > その他 > 講義 > 工学部共通科目(冬学期)

工学部共通科目(冬学期)

工学部共通科目「スパコンプログラミング(1)、スパコンプログラミング(Ⅰ)」(冬学期)

 本講義は通年(夏学期、冬学期)予定されており、夏学期、冬学期ともに同様の講義を行います。本講義に登録の学生は、無料で日本最高速のスーパコンピュータT2Kオープンスパコン(東大版)が利用できるという特典があります。


 演習室の都合から63名になり次第、登録を打ち切らせていただきます。


 ガイダンスを2009年10月6日(火)10時15分から情報基盤センターで予定していますので、必ず出席をお願いします。


 学生の皆様、ふるってご登録ください。

講義名

 工学部共通科目「スパコンプログラミング(1)、スパコンプログラミング(Ⅰ)」


 東京大学工学部、および工学系研究科における、情報基盤センターのスーパーコンピュータT2Kオープンスパコン(HITACHI HA8000クラスタシステム)を用いたプログラミングの講義(夏学期、冬学期、同一科目)です。
 この講義は、MPI(Message Passing Interface)を用いた並列プログラミングの初心者を対象としています。
 アプリケーションの対象は、基礎的な数値計算処理です。

講義日程

 毎週火曜日 第2時限 10:15-11:55
 情報基盤センター1F 大演習室1 (63名収容)[情報基盤センター案内地図

目標

 高性能計算を学ぶためには、計算機アーキテクチャに始まり、コンパイラやOSといったシステムソフトウエア、さらに扱っているアプリケーションのアルゴリズムに至る広範な階層の知識が必要となる。 講義でこれらすべてを扱うことはできない。そこで、厳選された実用的な課題について、講義と演習を行う。本講義は、従来講義のように広い知識の獲得を目指すものではない。 実際に高性能プログラムを基盤センタのスーパコンピュータ上で開発できるという、実用的でかつ、研究者として生き残るために必須な技能の習得を目指すものである。 この技能の習得により、受講者の研究を格段に進展させることを目標とする。

講義項目

概要

 高性能計算を行うために必須な並列計算プログラミング技法の講義と実習を行う。並列プログラミングで多く用いられている、MPI(Message Passing Interface)の入門的な利用技術を習得する。 処理対象は数値計算の基本演算とする。
 また、情報基盤センタのスーパコンピュータT2Kオープンスパコン(HITACHI HA8000クラスタシステム)を用いて高性能計算を行う場合に必要となる技法(テクニック、ノウハウ等)についても習得を目指す。

本講義のキーワード

(1)並列計算機入門
  i) 並列計算機の種類:分散メモリ型並列計算機とは
  ii) 並列プログラミングモデル:SPMDモデルとは


(2)C言語およびFortran言語を用いた並列プログラム作成の基礎
  i) 情報基盤センターのスーパーコンピュータ T2Kオープンスパコン(HITACHI HA8000
   クラスタシステム)の使い方
  ii) 通信インタフェースMPI(Message Passing Interface)の概要


(3)高性能プログラミング技法の基礎
  i) 配列連続アクセス
  ii) ループアンローリング
  iii) キャッシュブロック化
  iv) パイプライン化、通信隠ぺい手法、など
  v) レジスタおよびキャッシュブロックのチューニング など


(4)基礎的な数値計算処理の並列プログラミング
  i) 行列演算基本操作
   - 行列-ベクトル積
   - 行列-行列積
   - 行列の転置処理 など
  ii) 基礎的な数値計算アルゴリズム
   - 密行列の解法:連立一次方程式の解法(密行列LU分解)、固有値解法(べき乗法) など


(5)発展的話題
  i) ソフトウエア自動チューニング

参考書(テキスト)

  • MPI並列プログラミング、P.パチェコ 著 / 秋葉 博 訳
  • 並列プログラミング虎の巻MPI版、青山幸也 著、理化学研究所情報基盤センタ(http://accc.riken.jp/HPC/training/text.html
  • Message Passing Interface Forum(http://www.mpi-forum.org/
  • MPI-Jメーリングリスト(http://phase.hpcc.jp/phase/mpi-j/ml/
  • ソフトウエア自動チューニング:数値計算ソフトウエアへの適用とその可能性、片桐孝洋 著、慧文社、2004年、ISBN4-905849-18-7

演習環境

 本演習には、情報基盤センターが所有するスーパーコンピュータ T2Kオープンスパコン(東大版)(HITACHI HA8000クラスタシステム)を利用する。受講者は無料でスーパーコンピュータの利用ができる。情報基盤センターの端末室からの利用を行う。

理解すべき事項

  • 並列化の方法
  • SIMDの概念
  • 数値計算アルゴリズムの基礎
  • プログラムの高速実装法の基礎
  • MPIの使い方
  • 東京大学情報基盤センターのスーパーコンピュータの利用方法

受講条件

  • UNIXに関する基本的な知識・経験があること(必須要件)
  • C言語もしくはFortran言語によるプログラミングの経験があること
  • 若干の数値計算アルゴリズムに関する知識があれば望ましい

前提となる知識項目

  • UNIXの基礎(ファイル構造、コマンド、ログイン方法、など)
  • UNIXのエディタの操作(emacsの操作方法)
  • C言語もしくはFortran言語の基礎(文法、制御文、ループ文、配列確保、関数呼び出し時の引数、変数宣言と変数型)

応用先

  • 計算機科学(高性能計算(HPC)、高性能数値計算ライブラリ、並列アルゴリズム)
  • 計算科学(数値シミュレーション全般、流体工学、計算化学)

成績評価

  • 課 題
    講義内において発表
  • 評 価
    実習課題レポート(100%)、もしくは、講義中に発表されるプログラムコンテストの結果(100%)

注意

  • 工学部、工学部以外の受講生ともに、***工学部窓口で*** 必ず事前登録をしてください。
  • 演習室の都合から63名になり次第、登録を中止します
  • 2009年10月6日(火)にガイダンスを行いますので必ず参加してください。

受講手順

  1. 工学部窓口で【事前登録】をしてください
  2. 工学部、工学系研究科、情報理工学系研究科の学生は、3部局共通の「学生情報システム」を利用し、webで履修登録をしてください。
  3. 上記3部局以外の学部・研究科の学生は、自分の所属する学部や研究科で決められた履修登録期間に、所属する学部・研究科の学務課等で履修申告をしてください。

 なお、2、3の履修登録だけでは、スパコンアカウント発行の都合から本講義は受講できません。以下の ***工学部窓口による事前登録*** が必要です。

<<事前登録について>>

 演習室定員の都合から履修希望者は、工学部窓口による事前登録を行ったうえで、所属の各学部・研究科で決められた期間内に履修登録手続きをしてください。演習室定員(63名)を越えた場合には、履修できません。

  • 事前登録期間:2009年10月1日(木)~ 10月13日(火)
  • 登録手続場所:工学部・工学系研究科 学務課学務チーム窓口(工学部8号館1階)
    ※必ず学生証をお持ちください。
  • 本講義は、教育用計算機システムを利用します。履修希望の学生は、教育用計算機システムのアカウントを取得していることが必要です。アカウントを取得していない学生は、演習開始より前に同システム講習会を受講し、アカウントを取得する必要があります。

 講習会は、通常は週1、2回実施されています。詳しくは、下記のホームページを参照した上で、学生が個々に手続きを行い、演習開始時には教育用計算機システムのアカウントを取得してください。

講習会等に関して(東京大学情報基盤センター 教育用計算機システム)

http://www.ecc.u-tokyo.ac.jp/seminar.html