地球シミュレータ:1.地球シミュレータ・システム1.2地球シミュレータのプログラミング環境
4
0
0
全文
(2) ■■. 1.2 地球シミュレータのプログラミング環境 ■. ハイブリッド並列化. ���� ����������� ���� ����������� �� �������� �� ������ �� ������ �������� � ���������� � ��� ��� �� ��� �� ��� ��. PN 間並列処理. HPF/MPI. PN 内並列処理. 自動並列化/ OpenMP. ベクトル処理. フラット並列化 HPF/MPI. 自動ベクトル化. 表 -1 ES のプログラミングモデル. (a)逐次プログラム. ���� ����������� ���� ����������� ����� ���������� ����������� �� ��� �� �������� ����� ������ �� ������ ����� ������ �� ������ �������� � ���������� � ��� ��� �� ��� �� ��� ��. �� 自動並列化/� OpenMP�. HPF/MPI ���. (a)ハイブリッド並列化. (b)HPFによる並列プログラム HPF/MPI. ���� ������������������ ���� �������������������� ��� ���� � ��������� ��� � �� � � ��� � �� � � �� ��� �� �� ���� ��� � ������������� ���� �� ��� �� ��������� ���� ���� � ����������� ��� � ������������� ��� �� ���� ����������������� �� �������� ����� ������ �� ������ ����� ������ �� ������ �������� � ���������� � ��� ��� �� ��� �� ��� ��. (b)フラット並列化. 図 -2 ES における 2 つの並列化方法. の 2 つの方法がある. ハイブリッド並列化 PN 間と PN 内の並列処理を区 別し,階層的な並列化を行う.PN 間並列処理を HPF または MPI で記述する.PN 内並列処理は自動並列化 を用いるか, または OpenMP で記述する(図 -2(a) ) . フラット並列化 PN 間と PN 内の並列処理を区別 せず,全体を 640 × 8 = 5,120 台の AP を持つ 1 つ のシステムとしてみる.HPF または MPI で記述する (図 -2(b)).. (c)MPIによる並列プログラム. いずれの方法でも,ベクトル処理は,各言語のコン パイラが提供する自動ベクトル化機能によって実現さ. 図 -1 ES のプログラムの例. れる. 一般に,階層並列性を柔軟に利用することができるハ イブリッド並列化は性能において優れ,階層並列性を意. りは,PN 間の通信に比べると高速である.. 識する必要がないフラット並列化はプログラミングの容. ベクトル処理 ベクトル命令によって,AP がベクト. 易さにおいて優れているといえる.. ル(配列)データを一度に演算する処理. ES の性能を十分に引き出すには,これら 3 つの並列. HPF ランタイムと MPI ライブラリは,どちらの並列. 性のすべてを最大限に利用してプログラムを開発しなけ. 化方法においても効率よく動作するよう注意深く設計・. ればならない.. 最適化されている.. 表 -1 には ES のプログラミングモデルを示す.この 表が示すように,ES の 3 階層並列性を利用するには次 ■ ■. IPSJ Magazine Vol.45 No.2 Feb. 2004. −2−. 123.
(3) ■■■■ ■■■■. Earth Simulator. 特 集:地球シミュレータ. ■■■ ■■■. 1. 地球シミュレータ・システム | 2. 地球シミュレータの応用 | 3. 運営計画および分野別利用状況. 公認拡張. ・ポインタのマッピング ・構造体成分のマッピング. ・INDIRECT. HPF2.0 (core). ・ON ・GEN_BLOCK ・SHADOW ・再マッピング. ・タスク並列 ・RANGE ・etc.. HPF/ES ・HALO ・並列I/O ・バッチデバッグ ・ベクトル化/マイクロタスク指示行 ・自動並列化 ・MPI I/F ・LOCAL & REFLECT ・リダクション種別 ・通信スケジュールの再利用 ・非同期通信 ・etc.. HPF/JA. 図 -4 INPACT-3D の実行結果:レーザー核融合の 爆縮過程における燃料・プッシャー接触面. 図 -3 HPF/ES の機能. HALO 有限要素法に代表される,従来は HPF で. HPF/ES による並列化. は並列化が難しいとされた不規則問題を扱うための ■ データ並列言語 High Performance Fortran(HPF). 機能である.. 並列計算機を用いて実際にシミュレーションを行う自. 並列入出力 ES のような巨大な並列計算機で実行. 然科学者の多くは,必ずしも並列プログラミングの専門. される計算では,入出力の規模も必然的に巨大にな. 家ではないにもかかわらず,効率のよい並列プログラム. るため,並列入出力が必要不可欠になる.HPF/ES. を開発するために多くの労力を割くことを強いられてい. は,並列入出力のためのシンプルなインタフェース. る.もし, 容易に効率のよい並列化を行う手段があれば,. を提供しており,実行時の簡単な指定だけで並列入. 彼らはアルゴリズムやモデルの開発に注力することがで. 出力を利用することができる.. きるだろう.そのような手段(コンパイラ,ツール,シ. MPI インタフェース MPI 手続きを呼び出してい. ステム,etc.)に対する要求は従来より非常に強い.. る手続きを HPF プログラムから呼ぶことができる.. この要求に応えるべく,米 Rice 大学の Ken Kennedy. プログラムをさらに高速化したり,既存の MPI コ. 教授を中心とする組織 HPF Forum によって,1993 年. ードを再利用する場合に用いられる.. に HPF1.0 が,1996 年 に HPF2.0 が 制 定 さ れ た 1999 年 に は, 日 本 の HPF 合 同 検 討 会. ☆1. 1). .. に よ っ て,. HPF をさらに実用的な言語とする HPF/JA 拡張仕様が 定められた. 階層並列化 ES の階層並列性を効果的に利用する ため,ベクトル化/自動並列化指示行を受け付ける. HPF プロセッサは,実行時の指定によって,PN か. 2). .. AP のいずれかに割り当てることができる.PN に. HPF は,Fortran の拡張として定義されるデータ並列. 割り当てる場合がハイブリッド並列化,AP に割り. 言語である.その基本的な考え方は,簡単な指示文の形. 当てる場合がフラット並列化に相当する.. 式でユーザがデータの分割の方法だけを指示すれば,コ. 性能 HPF/ES を用いてプラズマシミュレーション. ンパイラが通信の生成と計算の分割を自動的に行う,と. コード IMPACT-3D を並列化し,ES の 512 ノード上で. いうものである.MPI に比べて非常に容易に並列化を行. 14.9TFLOPS という性能(ピーク性能比 45%)を達成. えることが特長である.. した.この成果は,2002 年度の Gordon Bell 賞の言語 部門を受賞した. 3). .図 -4 は,IMPACT-3D の実行結果. の例である.. ■ ES における HPF 機能 ES 上では HPF/ES と呼ばれる HPF コンパイ ラが提供されている.HPF/ES は,最新の HPF2.0 仕様 とその公認拡張および HPF/JA 拡張仕様に加えて,い. MPI/ES による並列化. くつかの独自機能をサポートしている(図 -3). HPF/ES の独自拡張には,次のような機能が含まれる. ☆1. Message Passing Interface(MPI)は,分散メモリ向け. 2001 年に HPF 推進協議会へ改組.. 124. ■■ ■■. 45 巻 2 号 情報処理 2004 年 2 月. −3−.
(4) ■■. 1.2 地球シミュレータのプログラミング環境 ■. ルートプロセス. 3. 1 2 3. INを介したPN間 データ転送. 3. 2. AP. 並列処理を利用するための機能を備えている.. メモリコピー. ■ ベクトル化. ステップ(2). PN. ソースプログラム中からベクトル化可能なループ構. 3. 造を自動的に検出し,それに対してベクトル命令を生. ステップ(1). 成する.基本的なベクトル化に加えて,部分ベクトル化 やマクロ演算ベクトル化といった拡張ベクトル化機能を. 図 -5 フラット並列化におけるブロードキャスト通信: (1)2 項ツリー方式で IN を介して各 PN へ転送; (2)PN 内の各 AP へ共有メモリ上でコピー. 持つ. ■ PN 内共有メモリ並列化 PN 内共有メモリ並列化は,次の 2 つの方法のいずれ. の並列プログラムにおいて,並列処理の単位であるプロ. かを利用して行う.. セスを操作する方法や,プロセス間でデータをやりとり. 自動並列化 各コンパイラは,ループの繰り返し間の. するために用いるメッセージ通信を行う方法を定めた仕. データ依存関係などを解析して,プログラム中に並列. 様標準である. 4). .. 制御構造を自動的に挿入する機能を持つ.この機能を. ES で 利 用 で き る MPI/ES は,MPI-1 仕 様 お よ び. 「自動並列化」と呼ぶ.コンパイラオプションや指示. MPI-2 仕様に基づくメッセージ通信ライブラリである.. 行により自動並列化機能に対して細かく並列化の制御. その特長は,IN と PN 内共有メモリの機能を活用する. を行うこともできる.. ことにより,ノード間とノード内の通信をシームレスか. OpenMP OpenMP とは共有メモリ並列処理のため 5). つ高い性能で実現することである.すなわち,MPI/ES. の標準 API である. のシステムは,データをやりとりするプロセスの位置関. C++)で書かれたプログラム中にユーザが OpenMP. 係を把握し,それらが別々の PN 内にある場合には IN. 指示行を挿入することでコンパイラが並列化を行う.. を介したデータ転送として,同一の PN 内にある場合に. ES で は,FORTRAN90/ES と C++/ES が OpenMP. は共有メモリ上の高速なメモリコピーとして,通信を行. 1.0 をサポートしている(近日中に OpenMP 2.0 がサ. う.したがって,フラット並列化を行う場合において,. ポートされる予定である).. .ベースとなる言語(Fortran, C,. 通信を行うプロセスの位置関係(同一 PN 内にあるのか, 別々の PN 内にあるのか)を意識することなく, 真に「フ ラットな」プログラミングが可能になっている.図 -5 に, フラット並列化における集団通信の例として,ブロード. 数学ライブラリ. キャスト通信の動作を示す.. 行列演算や連立 1 次方程式の求解,高速フーリエ変. 1 つの MPI プロセスは,フラット並列化では 1 つの. 換(FFT)といった基本的な計算を行うサブルーチン群. AP に,ハイブリッド並列化では 1 つの PN に割り当て. が,科学技術計算ライブラリ ASL/ES として提供され. られる.この切り替えは実行時の指定による.. ている.ASL/ES は,ES のアーキテクチャに適合する よう十分に高速化・最適化を施されており,ES の PN 内共有メモリ並列処理とベクトル処理において最大の性. 言語コンパイラ. 能を発揮できる.. ES のプログラミングモデルにおいて,言語コンパ. 参考文献 1)High Performance Fortran Forum, http://www.crpc.rice.edu/HPFF/ 2)HPF 推進協議会 , http://www.hpfpc.org/ 3)Sakagami, H., Murai, H., Seo, Y. and Yokokawa, M.: 14.9TFLOPS Three-dimensional Fluid Simulation for Fusion Science with HPF on the Earth Simulator, In Proc. of SC2002(Nov. 2002). 4)Message Passing Interface Forum, http://www.mpi-forum.org/ 5)OpenMP, http://www.openmp.org/ (平成 15 年 11 月 29 日受付). イラはベクトル化と PN 内共有メモリ並列化(ハイブ リッド並列化の場合)を担当する.ES では,Fortran , C および C++ のコンパイラを利用できる(それぞれ, FORTRAN90/ES ,C/ES および C++/ES と呼ぶ).い ずれも,高度な自動ベクトル化機能と PN 内共有メモリ ■ ■. IPSJ Magazine Vol.45 No.2 Feb. 2004. −4−. 125.
(5)
関連したドキュメント
地表を「地球の表層部」といった広い意味で はなく、陸域における固体地球と水圏・気圏の
ところで、モノ、ヒト、カネの境界を越え た自由な往来は、地球上の各地域の関係性に
メモ : 権利の詳細な管理は、 BlackBerry WorkspacesEnterprise ES モード BlackBerry Workspaces およ. び Enterprise ES ( 制限付きフルアクセス )
【おかやまビーチスポーツフェスティバルの目的】
Apply Fanfare ES INSECTICIDE/MITICIDE as a banded spray over the row at a rate of 0.05 to 0.15 pounds active ingredient per acre (3.2 to 9.6 12.8 fluid ounces formulated) in
For all other crops, apply Bumper ES by ground equipment in a minimum of 10 gals of water per acre unless specified otherwise in the APPLICATION INSTRUCTIONS section of this
ダイキングループは、グループ経 営理念「環境社会をリードする」に 則り、従業員一人ひとりが、地球を
地球温暖化対策報告書制度 における 再エネ利用評価