国際核融合エネルギー研究センター大型並列計算機における グローバル

国際核融合エネルギー研究センター大型並列計算機における
グローバルジャイロ運動論コードの高速並列化
仕様書
平成 28 年 6 月
国立研究開発法人 量子科学技術研究開発機構
核融合エネルギー研究開発部門 六ヶ所核融合研究所
核融合炉システム研究開発部
プラズマ理論シミュレーショングループ
目次
1 一般仕様
1.1 件名・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
1.2 目的・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
1.3 契約範囲・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
1.4 納期・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
1.5 納入場所及び納入条件・・・・・・・・・・・・・・・・・・・・・・・
1.6 検収条件・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
1.7 かし担保条件・・・・・・・・・・・・・・・・・・・・・・・・・・・
1.8 提出資料・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
1.9 貸与品・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
1.10 国際核融合エネルギー研究センター大型計算機の使用・・・・・・・・・
1.11 グリーン購入法の推進・・・・・・・・・・・・・・・・・・・・・・・
1.12 報告と協議・・・・・・・・・・・・・・・・・・・・・・・・・・・・
1.13 その他・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
2
2
2
3
3
3
3
3
3
4
4
4
4
2. 技術仕様
2.1 背景および作業概要・・・・・・・・・・・・・・・・・・・・・・・・
2.2 プログラム概要・・・・・・・・・・・・・・・・・・・・・・・・・・
2.3 具体的な作業内容・・・・・・・・・・・・・・・・・・・・・・・・・
2.4 報告書作成・・・・・・・・・・・・・・・・・・・・・・・・・・・・
5
5
6
7
添付資料
別添 -1 コンピュータプログラム作成等業務特約条項
別添 -2
産業財産権特約条項
1
1
一般仕様
1.1
件名
国際核融合エネルギー研究センター大型並列計算機におけるグローバルジャ
イロ運動論コードの高速並列化
1.2
目的
トカマクプラズマにおける熱・粒子輸送は、プラズマの圧力勾配に起因する
乱流によって支配されており、乱流輸送現象の解明と定量的な予測は核融合の
研究開発における重要課題の一つである。近年、トカマクプラズマの乱流輸送
研究ではジャイロ運動論モデルに基づくコードが広く用いられているが、プラ
ズマを大域的に取り扱うグローバルコードでは、電子運動を近似しており、実
験結果を定量的にも定性的にも再現するには至っていない。近年の研究でトカ
マクプラズマ中の熱輸送の定量的な再現には、電子の運動が重要であることが
明らかになっており、特別チームが検討する原型炉プラズマに対し、信頼性の
ある輸送・分布予測を行うためには電子運動のより正確な取扱いが不可欠であ
るが、電子運動の時間スケールはイオンに比べて速いため、イオン運動のみを
取り扱う場合に比べて計算量が大幅に増えることになる。
そこで本件では、グローバルジャイロ運動論コード GKNET に対して、(1) ハ
イブリッド並列による高速化、(2) 半陰解法のための行列ソルバーの最適化を
行うことで、国際核融合エネルギー研究センター(以下 IFERC という)の大型
並列計算機 Helios において 1000 ノード程度まで効率的に計算が実行できるよ
うチューニングを行うことを目的とする。
1.3
契約範囲
1.3.1 契約範囲内
1) 仕様分析(打ち合わせを含む)
2) プログラム設計
3) プログラミング
4) デバッグ
5) テスト・ラン(打ち合わせを含む)
6) 処理性能評価
7) 報告書等の納入資料の作成
1.3.2
契約範囲外
1) 第 1 章第 3 項 1 号記載の契約範囲内に記載なきもの
2
1.4
納期
平成 28 年 12 月 2 日
1.5
納入場所及び納入条件
1) 納入場所
青森県上北郡六ヶ所村大字尾駮字表舘 2 番地 166
国立研究開発法人量子科学技術研究開発機構(以下、
「量研機構」という。)
六ヶ所核融合研究所
2) 部分使用
量研機構は、第 1 章第 7 項に定める検収前においても、必要がある場合に
は作成プログラムの全部または一部を受注者と協議のうえ使用することが
できる。
1.6 検収条件
プログラムによる計算結果の検討(線形 ITG 不安定性のベンチマークテスト
等、詳細は別添資料を参照)及び納入資料の合格をもって検収とする。
1.7
瑕疵担保責任
検収後 1 年以内に設計、プログラミング上の瑕疵が発見された場合,無償に
て速やかにプログラムを修正するものとする。
1.8
提出資料
資料名
1) プログラム解説書
2) 処理性能データ報告書
3) ソースプログラム・入力データ等のコード運
用に必要なファイルの全て,並びに、上記
1),2),3)の PDF ファイル収納 CD-ROM
1.9
提出時
期
納入時
納入時
納入時
部数
承認
1部
1部
1式
要
要
不要
貸与品
本作業の実施にあたり、量研機構から以下のものを無償貸与する。
(1) ソフトウェア
グローバルジャイロ運動論コード GKNET
1式
貸与品は、作業完了時に全て返却すること。
3
1.10
国際核融合エネルギー研究センター大型計算機の使用
受注者は本件作業を実施するにあたり、IFERC の大型並列計算機 Helios を、
無償で使用できる(最大 1 万コア時間程度)。ただし、計算機利用の形態とし
ては、研究室の端末を利用またはインターネットを介した利用とする。また、
計算機の使用にあたっては、量研機構の利用規則を遵守するものとする。なお、
外部からインターネットを介して計算機を利用する場合、必要な機材は受注者
が用意するものとする。
1.11
グリーン購入法の推進
1) 本契約において,グリーン購入法(国等による環境物品等の調達等に関
する法律)に適用する環境物品(事務用品,OA 機器等)が発生する場合は,こ
れを採用するものとする。
2) 本仕様に定める提示資料(納入印刷物)については、グリーン購入法の基
本方針に定める「紙類」の基準を満たしたものであること。
1.12
報告と協議
作業の進捗状況を随時報告し、本仕様に記載されている事項及び本仕様に記
載のない事項について疑義が生じた場合は,量研機構と協議のうえ,その決定
に従うものとする。
1.13 その他
本契約の履行にあたっては、別添 1「コンピュータプログラム作成等業務特約
条項」及び別添 2「産業財産権特約条項」を遵守するものとする。
4
技術仕様
2
2.1
背景および作業概要
トカマクプラズマにおける熱・粒子輸送は、プラズマの圧力勾配に起因する乱流に
よって支配されており、乱流輸送現象の解明と定量的な予測は核融合の研究開発にお
ける重要課題の一つである。そのような微視的乱流が関与した複雑現象を解析する上
で、近年、ジャイロ運動論に基づいた大規模シミュレーションが精力的に行われてお
り、特にプラズマを大域的に取り扱うグローバルシミュレーションは、形成される密
度・温度分布を予測する上で非常に重要なツールであると見なされている。
現在のグローバルジャイロ運動論シミュレーションでは、電子は断熱応答を仮定す
ることで、イオンの運動のみを取り扱っているが、近年、トカマクプラズマにおける
外側炉心領域の熱・粒子輸送の再現には、捕捉電子不安定性に起因する乱流が不可欠
であることが明らかになってきた。この捕捉電子不安定性を取り扱うためには、より
正確に電子運動を取り扱う必要がある。しかし、その場合、質量比(イオンの質量/
電子の質量)に比例して CFL 条件が厳しくなり、イオン運動だけを取り扱う場合に比
べ計算量は莫大なものとなる。このためグローバルジャイロ運動論コード GKNET で
は、MPI による並列と OpenMP によるスレッド並列のハイブリッド並列化を実施し、
多数の演算コアを用いた計算を可能としている。しかし、電子運動、加えて、今後、
燃焼プラズマで必要な多イオン種によるシミュレーションのためには、さらなる並列
最適化が必要となる。そこで、本件では以下の 2 点を実施する。
(1) IFERC の大型並列計算機 Helios 上において、MPI/OpenMP によるコードのハイブ
リッド並列化をさらに進め、1000 ノード(16000 コア)程度までのコードのパフォー
マンスを分析しチューニングを行う。
(2) 双共役勾配法(BiCG 法)を用いた半陰解法のための行列ソルバー部分のチューニ
ング、および他のスキームとの比較・検討を行う。
これらの実施のため、1 万コア以上の大型並列計算機でのパフォーマンスの詳細な
分析能力、コードのハイブリッド並列化の知見・技術力、並びに一般的な数値計算ラ
イブラリと行列解法についての知見を有していることを要求する。また、IFERC では
基本言語を英語としているため、Helios のユーザーサポートとやり取りするため英語
でのコミュニケーション能力も必要である。
2.2
プログラム概要
本コード GKNET で解いている方程式は、5 次元相空間( x, y , z, v, µ )における双曲線
型偏微分方程式である Vlasov 方程式と、実空間 3 次元( x, y , z )における準中性条件(ポ
5
アソン方程式)と呼ばれる式である。
前者は有限差分法の一種である 4 次精度森西スキームを用いて空間的に離散化し、
4 次精度 Runge-Kutta 法を用いて時間積分させている。並列化は 5 次元( x, y , z, v|| , µ )領
域分割法を用いており、裾値データを 1 体 1 通信(MPI_SENDRECV)で受け渡しする必
要である。一方、後者はジャイロ平均と呼ばれる平均化計算などを行っており、数学
的には 2Φ − A Φ =C の線形方程式に帰着される。本コードでは固定点法を用いてこの
式を解いている。並列化については 3 次元( x, y , z )領域分割を用いており、 v|| , µ 方向
に領域分割している場合は x, y , z 方向に再分配している。
フローチャートについては下図に、詳細については添付資料に示す。
図:GKNET コードのフローチャート
2.3
具体的な作業内容
A. コード全体にわたるハイブリッド並列化とチューニング
コードの基本的な並列化は MPI によるプロセス並列であり、OpenMP によるスレッ
ド並列は一部(ポアソン方程式を解く部分)で行われている。本作業では、OpenMP
によるスレッド並列をポアソン方程式部分以外へ拡大し、そのコードを Helios 計算機
1000 ノード程度まで、ノード数を変化させて実行し、パフォーマンスを分析する。そ
の際、1 ノードに MPI の 1 プロセスを割り当て、その中で OpenMP のスレッド数を変
6
化させて実行し、並列化効率が飽和するスレッド数を明らかにし、飽和するスレッド
数が最大となるようチューニングを行う。なお、Helios 計算機の 1 ノードは 2CPU(2
×8=16 コア)である。
B. 行列ソルバーの最適化
CFL 条件緩和のため半陰解法の導入を検討しており、GKNET を簡略化した 4 次元
コードに対して、Additive Semi-Implicit Runge-Kutta (ASIRK)法とその際に必要な大規
模疎行列を解くソルバーとして BiCG 法の実装を行ったものの、反復計算、特に
MPI_ALLREDUCE による集団通信に多くの時間を費やし、計算時間は陽解法を用い
たケースよりも長くなっている。この行列計算部分をチューニング、あるいは Helios
計算機で利用可能な Intel MKL や PETSc などの並列化数値計算ライブラリに差し替え
た場合のパフォーマンスを比較、検討し、最適化する。
2.4 報告書作成
上記 2.3 の作業内容に関する報告書を作成する。
上記 2.3 の作業は、詳細な打ち合わせを行いながら、進めていくものとする。
7
3
(
3
3
)
3
(
)
3
2
)
3
)
)
3
3
)
)
)
3
3
1
)
)
)
3
3
!
3
(
1
!3
)
3
)
)
!
!
3
!
) !
)
)
(
)
1
)
1
3
)
3
)
)3
)
)
3
(
)
1
)
3
!
1
)
)
)
!