スライド 1

学際計算科学・工学 人材育成
プログラムについて
2008年4月16日
情報基盤センター・地球惑星科学専攻・コンピュータ科学専攻
学際計算科学・工学(ICSE)人材育成の事業概要
イノベーション創出では,従来の理論・実験ベースの研究開発に加えて,第三の方法としての
計算シミュレーションが大きな期待を集めている。文部科学省は平成24年度までに,総演算性
能 10ペタフロップスを超える次世代スパコンを設置する。
この性能は,現在のPCの1千万倍の性能であるが,PCで稼働しているソフトウェアを次世代ス
パコンで動かすと1千万倍高速になるわけではない。現在のPCの1千万倍の性能を出せる計
算シミュレ-ションプログラムを開発するためには,計算モデル、アルゴリズム,高度なプログ
ラミング技術を習得した人材が必要となる。学部学生の基礎情報教育を受けて,研究室レベル
で伝承芸能的にソフトウェアが開発されている現状では,このような人材は育成できない。
そこで,従来の学問体系に計算機科学の基礎知識を織り込み,計算モデル,アルゴリズム,高
度なプログラミング技術,を体系化し,計算シミュレーションをベースとする新しい人材養成と研
究体制を緊急に整備する必要がある。
• 単なる「並列化」だけでなく,最先端のハードウェアを駆使してアルゴリズム,モデルを開発し,
新しい科学を開拓できる人材の育成
• 計算機科学の発展にも寄与できるような人材の育成:これは本学でないとできないこと
– アルゴリズム,開発基盤
– 更に次世代(20年後,30年後)のハードウェア,並列プログラミングモデル
• 理学・工学,計算機科学,応用数学の密接な協調
学際計算科学・工学(ICSE)人材育成
•ナノ新素材シミュレーション
•大規模災害(地震)シミュ
レーション
•安高効率バイオエタノール
生産
•IT技術
•システム
IT
ソフトウエア工
学
2008APR16
ナノバイオ・
インテグレーション
研究拠点
試験管実験と
シミュレーションの懸け橋
学際計算科学・
工学
(ICSE)
•既存アプリケーションプログラムを
使って研究開発ができる人材
•新しいアプリケーションプログラムを
研究開発する人材
•アプリケーションプログラムを開発する
ための支援環境を研究開発する人材
コンピュータ科学・工学
•インターネット
•WEB
•GOOGLE
•スパコン
CS
3
2008APR16
4
状況
• 2008-02-06
• 2008-03-03
平尾委員会
概算要求ヒアリング(電話)
• 基本的方針
– このまま続ける
– WG
• このメンバー+奥田(工・システム創成),常行(理・物理),中谷
(新領域・情報生命)
– 冬学期には試験的に講義・演習を開始したい
• コメント等
– これ以上科目が増えるのはまずい
– 現在の科目を「読み替える」,「ちょっと変更」
– 認定制度
2008APR16
5
概 要
•
•
•
•
•
はじめに
SMASH
人材育成の目標
地球物理学科,地球惑星科学専攻における教育の概要
教育プログラム
–
–
–
–
–
–
–
現状
全学ゼミ
科学技術計算基礎論・同演習
偏微分方程式の数値解法
有限要素法プログラミング,境界要素法プログラミング
並列計算プログラミング
講習会・特別講義
2008APR16
6
背 景
• 信頼性の高い科学技術シミュレーションを目指した,詳細モデ
リング,複数モデルのカップリング,観測・実験データとの融合,
の実現には,並列計算機利用が必須
• 理化学研究所「次世代スーパーコンピュータ」の開発等を背景
に,大規模並列シミュレーションへの期待は,産学において高
まっている・・・
• 並列プログラムの開発は困難である
• 「次世代スーパーコンピュータ」の稼動に備えて,2008年6月
より本学において稼動する「T2Kオープンスパコン」等の大規
模並列計算機を駆使してシミュレーションを実施できる理学・
工学分野の人材を育成することが重要である
– かっての地球シミュレータとHitachi SR8000@情報基盤センター
2008APR16
7
人材育成のためには
• 科学・工学分野,計算機科学,応用数学の密接な協力
• HPC(High-Performance Computing)教育プログラムの
整備
• 様々な並列シミュレーションコード,アプリケーションの整
備・実装
– RSS21,並列可視化システム等
• 大規模シミュレーションプログラム開発基盤の整備
– HPC-MW,HEC-MW
• 各分野の相互作用,スパイラル効果を狙う
2008APR16
8
学際計算科学・工学 人材育成
プログラム
• 情報基盤センター,理学部・理学系研究科,工学部・工学
系研究科,新領域創成科学研究科によって,全学的な
HPC教育プログラムの整備が検討されている(平尾委員
会)
• 地球惑星物理学科・地球惑星科学専攻における取り組み
がモデルとなっている
2008APR16
9
人材育成のためには
科学・工学
•
•
•
•
HPC教育
並列コード
開発基盤
計算機科学
応用数学
大規模並列シミュレーション
新しい科学の開拓
HPC研究の発展
高性能ハードウェアへの需要
2008APR16
•
•
•
•
•
10
はじめに
SMASH
人材育成の目標
地球物理学科,地球惑星科学専攻における教育の概要
教育プログラム
–
–
–
–
–
–
–
現状
全学ゼミ
科学技術計算基礎論・同演習
偏微分方程式の数値解法
有限要素法プログラミング,境界要素法プログラミング
並列計算プログラミング
講習会・特別講義
11
2008APR16
Scientific Computing = SMASH
David Levermore (Univ.Maryland)
http://www.math.umd.edu/~lvrmr/
Science
Modeling
Algorithm
Software
Hardware
• 本当にこの順番に重要である?
• これだけ幅広い分野を扱わなければな
らない
• 分野間の協力の重要性を示していると
も言える。
• 一人で全てをカバーすることは難しいが,
「並列」シミュレーションコードを全て自力
で開発するためには,これだけの範囲の
知識と経験はそれぞれある程度必要
– 「SH」をカバーするのが例えば「HPC-MW・
HEC-MW」などのライブラリ,基盤
12
2008APR16
SMASH:各分野の人間の興味
Science
Science
Science
Modeling
Modeling
Modeling
Algorithm
Algorithm
Algorithm
Software
Software
Software
Hardware
Hardware
Hardware
Science/Engineering
Computer Science
Applied Math.
13
2008APR16
Scientific Computing = SMASH
David Levermore (Univ.Maryland)
http://www.math.umd.edu/~lvrmr/
Science
Modeling
Algorithm
Software
Hardware
• 現在,実施されている授業,演習で
足りない部分を補足し,できるだけ
効率的に幅広い分野の知識と経験
を得る,ということが,教育プログラ
ムの設定にあたって重要
• 「SH」をカバーする「HPC-MW・
HEC-MW」の整備にあたって,各分
野が共同して研究開発を進める場
合にも,このような背景を考慮して作
業を進めれば効率的
2008APR16
•
•
•
•
•
14
はじめに
SMASH
人材育成の目標
地球物理学科,地球惑星科学専攻における教育の概要
教育プログラム
–
–
–
–
–
–
–
現状
全学ゼミ
科学技術計算基礎論・同演習
偏微分方程式の数値解法
有限要素法プログラミング,境界要素法プログラミング
並列計算プログラミング
講習会・特別講義
2008APR16
15
レベルに応じた教育
• A型:「SMASH」
– 並列プログラムを全て自分で開発できる
• B型:「SMASH」
– 「HPC-MW・HEC-MW」等により並列プログラムを自分で開発できる
– オープンソースのコードを自分で改良できる
• 少しでも新しいことをやるとなると「A型」級の知識は必要
• C型:「SMASH」
– 既存の並列プログラムを使用してシミュレーション等を実施する
• S型(究極の人材):A型に加えて
– コンパイラ開発,計算機設計に提言,研究協力ができる
– 反復法の前処理手法など,アルゴリズムの開発に貢献できる
– ライブラリ,「HPC-MW・HEC-MW」など計算基盤の整備に貢献できる
• 各レベルに応じた教育プログラムを提供することが重要
2008APR16
16
レベルに応じた教育(続き)
• 「SMASH」
– 灰燼に帰する(中島先生)
And so, my fellow Americans: ask not what your
country can do for you — ask what you can do for your
country.
My fellow citizens of the world: ask not what America will
do for you, but what together we can do for the freedom of
man.
John F. Kennedy
1961. January 20th
(Inaugural Address)
2008APR16
17
And so, my fellow geophysicists: ask not what
computer/computational sciences can do for you — ask
what you can do for computer/computational sciences.
My fellow scientists and engineers of the application
world: ask not what HPC will do for you, but what together
we can do for pioneering the future frontier of the new
science and engineering.
Kengo Nakajima
2008. February 28th
(Workshop for HPC Education)
2008APR16
18
2008APR16
計算機科学・応用数学分野の
人材の教育も重要!
19
• 「大規模並列シミュレーションの研究に貢献できるような計算
機科学・応用数学分野の人材の育成」も重要
• 背景となる科学,計算モデルに関する経験,知識がなければ,
例えば「HPC-MW・HEC-MW」の研究開発に貢献することは
困難である(反復法の前処理手法等も含む)。
• Scientific Computing Program
– 1990年代初頭~のアメリカ
– 「Computer Science」に籍をおきつつ,Science,Engineeringを副
専攻とするような大学院教育プログラム
– 効果については,賛否両論
• そこそこアプリケーションのことも知っているHPCの専門家が育っており,分野
間協力に重要な役割を果たしつつある
2008APR16
20
現 状(1/2)
• 調査中:連続体シミュレーション中心,理・工
• 地球惑星物理学科・地球惑星科学専攻で実施されているよう
に実施することが理想(後述)
– ①計算機リテラシー,プログラミングの初歩
– ②基本的な数値解析アルゴリズム
– ③偏微分方程式の数値解法・プログラミング
• Practicalなものを想定,Toyではない
– ④並列計算プログラミング
• ほとんどの学科,専攻では②まで(物理学科は①すらやって
いない)
2008APR16
21
現状(2/2)
Science
Modeling
Algorithm
Software
Hardware
• アプリケーションとプログラミングが結び
つくのは,研究室に配属されてから,と
いうのが実情
• 研究室内の伝承が主で体系的な教育
はなされていない場合が多い(と考えら
れる)
– どうしても「SM」に偏る
– 反復法の前処理など問題の設定によって
異なるアルゴリズムを適用,開発しなけれ
ばならないような場合に応用が効かない
– 多くの場合,最適化・チューニングなど「H」
に関する部分まではカバーしていない。
2008APR16
22
例えば,有限要素法であれば
•
•
•
•
背景となる物理,微分方程式
変分原理,重み付き残差法
非線形アルゴリズム
メッシュ生成
– グラフ理論
• 数値積分
• 連立一次方程式
– 直接法・反復法,前処理
– 疎行列格納法
• ポスト処理,可視化
理論中心ではここら辺が抜け落ちる
実用的なシミュレーションコードを
「書けない」,「読めない」
2008APR16
23
並列プログラミングへの道
積み重ねが重要
分野に特有の事項,共通の事項がある
並列プログラミング
偏微分方程式数値解法
FEM,FDM実用プログラム
基礎的アルゴリズム,プログラミング
ガウス消去法,ODE等
UNIX, FORTRAN/C文法
ここには根本的な相違がある
現状では,「有限要素法」等は講義で教える
のは理論のみ,プログラミングは研究室で
2008APR16
基本方針
• 「SMASH」を見通せる能力+積み重ね
– 基礎をしっかり学ぶ(「SMASH」の「A」)
– チューニング,最適化の意識を持たせる(「SMASH」の「H」)
– プログラミング能力(SMASH)をつけるために,徹底して実アプリケー
ションコードのソースを「読む」能力をつけるところに重点を置く(特に
学部4年~大学院初級)
– 並列計算で大事なのはMPI等の文法ではなく,並列データ構造等を
いかに設計するかということ。そのためにも対象とするアプリケーショ
ン,使用されているアルゴリズムに対する深い理解が必要である。
• これまでの経験(多圏地球COE)で効果は確認済
• 既存の科目,教育プログラムの利用
– 各分野に特有の知識
– 認定⇒指針
• FORTRAN,Cの両ユーザーをカバーできるように工夫
24
2008APR16
•
•
•
•
•
25
はじめに
SMASH
人材育成の目標
地球物理学科,地球惑星科学専攻における教育の概要
教育プログラム
–
–
–
–
–
–
–
現状
全学ゼミ
科学技術計算基礎論・同演習
偏微分方程式の数値解法
有限要素法プログラミング,境界要素法プログラミング
並列計算プログラミング
講習会・特別講義
2008APR16
例:地球惑星物理学科,地球惑星科学専攻
• 地球惑星物理学演習:3年夏
– 計算機リテラシー
– FORTRAN
– 基本的な数値解析
• 地球物理数値解析:4年夏,大学院
– 偏微分方程式の数値解法
– 差分法,有限要素法
• 並列計算プログラミング,先端計算機演習I/II
– 有限体積法,境界要素法
– SPMDの考え方,MPI,OepMP
– http://www-solid.eps.s.u-tokyo.ac.jp/~nakajima/class/
• この他「地球物理データ解析」,「時系列データ解析」などあり
26
2008APR16
多圏地球COEにおける
並列計算プログラミング教育
FY.2004-FY.2007
• 「並列計算プログラミング」,「先端計算機演習I・II」は「地球シ
ミュレータ」に代表されるような大型並列計算機を使いこなし,
未解決の問題にチャレンジしていくような研究者を育成するこ
とが重要な目標の一つである。
• これまで,計算機科学を専門としない学生に対して科学技術
シミュレーションのための並列プログラミング技術を体系的に
教える授業は,日本では皆無であった。
• 「並列計算プログラミング」,「先端計算機演習I・II」は,そうし
た試みの日本で最初の内の一つであると自負している。
– 現在でもこれだけの内容をカバーするものは世界的に見ても他に例
は無い!
27
2008APR16
28
講義・演習の概要
• 夏学期「並列計算プログラミング」,「先端計算機演習I」
– MPIの基本であるSPMD(Single Program Multiple Data)の考え方
をアプリケーションの並列化を通して学んでもらうことに主眼を置く
• これはとにかくしつこいくらい教えた
– MPIによる差分法,有限体積法,境界要素法などのアプリケーション
の並列化手法に関する講義,演習:部品化
– その他
• 線形方程式の解法,可視化,チューニング,最適化,グリッドコンピューティング
• 冬学期「先端計算機演習II」
– 共有メモリ型並列計算機における並列化に有効なOpenMP
– オーダリング
• 並列化,ベクトル化において必須のプログラミング技術
– 多重格子(Multigrid)法
• SMASH
2008APR16
29
問題点等
• 当学科・専攻の教育環境は理想に限りなく近い・・・とは言え
• 修士課程入学者の半数以上は学外から進学
– 「地球惑星物理学演習」に相当するような訓練を受けているものは稀
– 「地球物理数値解析」,「並列計算関連講義」を受講しても,脱落する
者が多い
• 中島自身は,学習意欲に応えられないことを大変心苦しく感じている
• 両者を同時に受講する猛者も居る
– 「地球惑星物理学演習」を受講している者も居るが,週6コマ出席する
ことは非常に困難
• 受講者の様々なバックグラウンドに対応したきめの細かい教
育プログラムを整備することは考慮しなければならない
2008APR16
•
•
•
•
•
30
はじめに
SMASH
人材育成の目標
地球物理学科,地球惑星科学専攻における教育の概要
教育プログラム
–
–
–
–
–
–
–
現状
全学ゼミ
科学技術計算基礎論・同演習
偏微分方程式の数値解法
有限要素法プログラミング,境界要素法プログラミング
並列計算プログラミング
講習会・特別講義
2008APR16
31
現在策定中の案
• 連続体シミュレーション中心
• 地惑(理学系フロンティア)「並列計算プログラミング」,工学系
「スパコンプログラミング」等を最終ターゲットとする
• 本当にこのような講義,演習が必要なのか?
• 現状の授業で代替できるものは無いか?
• 現状の授業を「HPC人材育成プログラム」のガイドラインに応
じて変えていくことは可能か?
– というあたりを今後WGでつめる
2008APR16
HPC人材育成プログラム
計算機科学向け←
共通
→科学・工学向け
各学科・専攻
全学ゼミ:
プログラミング
入門
情報
駒
場
32
全学ゼミ:大規模
シミュレーション
入門
■:A型以上,■:共通
計算機
リテラシー
本
郷
科学技術計算基礎論・同演習
数値解析
偏微分方程式
数値解法
有限要素法等
大
学
院
有限要素法
境界要素法
プログラミング
偏微分方程式
数値解法
並列計算
プログラミング I
並列計算
プログラミング II
並列計算
プログラミング
計算機科学向け←
並列有限要素法 並列境界要素法
プログラミング
プログラミング
講習会,特別講義 等
共通
並列計算
プログラミング
短期集中
→科学・工学向け
オープン
スパコン利用
チューニング
入門
HPC-MW
RSS21
アプリケーション
科学技術計算
基礎論・同演習
短期集中
連立一次方程式
解法
並列AVS
使用法
各種ライブラリ
LAPACK
PETSc等
2008APR16
33
当面(夏学期)の目標
• 現状の調査とニーズの把握
– WG
• 冬学期以降の実施を前提とした,より詳細なシラバスの作成
– 講義・演習
– 講習会
• 須田先生は可 ?
• 地惑「並列計算機プログラミング・先端計算機演習」
–
–
–
–
夏季集中講義
7月23日開始
T2Kを使いたい:ご協力・助言をお願いいたします
密行列ソルバー:自作のPCG法⇒LINPACK
2008APR16
34
海洋研究開発機構
計算システム計画・運用部
http://www.jamstec.go.jp/spod/jp/iag/index.html
• 「地球シミュレータ」を運用している部署
– 中島は招聘技術研究主幹という非常勤職員
• 所属しているのはこの部の中の「産業利用推進グループ」
– 「共用イノベーション」のユーザーのサポート
– 最近は「ESよりもT2K使いましょう」と薦めたくなる気持ちを抑えるの
に苦労している
• ユーザー教育も担当している(4月22日に講習会)
– JAMSTEC内でも体系的なユーザー教育プログラムの整備を検討中
• 東大,T2Kと協力できたらやりたい
• e-learning
– http://weblearningplaza.jst.go.jp/