あらまし
MPI(Message Passing Interface)を用いたPCクラスタ環境の構築は容易である。
しかしながら、一般のエンジニアにとって、これらのクラスタ環境やMPIライブ
ラリ,並列計算アルゴリズムの実装については参考書など存在しない状況で、
学習上の困難さがある。ここでは、MPIクラスタ環境、並列有限要素法について
説明する。他方、最近のプロジェクトの成果によって、いくつかの並列有限要素法
ソフトウェアが無料公開されはじめている。これらの実装状況についても説明する。
1.概論
・逐次処理と並列処理の考え方の違い
・並列処理による効率化・問題分割
・ボトルネック、通信オーバーヘッドによる影響
・Flynnの分類
・ネットワークトポロジ
・メモリ共有型 vs 非メモリ共有型
2.PCクラスタのしくみと構築法
・PCクラスタの構築に必要なハードウェア機器
・PCクラスタの構築に必要なソフトウェア群
・物理的なネットワークの構築方法
・クラスタ構築対応Linux-OS(Operating System)のインストール方法
3.並列プログラミングのための環境設定
・PCクラスタのソフトウェア設定方法
・標準的なNIS(Network Information Service)を用いたクラスタ情報の管理方法
・NFS(Network File System)によるファイル共有方法
4.MPI通信ライブラリの基礎
・MPI (Message Passing Interface)ライブラリの基礎
・MPI_Datatypeについて
・MPI_* 命令群について
・1対1のブロッキング通信命令
・集団通信
・ユーザ定義データ型
5.MPI/LAMを用いたプログラミング基礎
・標準的な実装であるMPI/LAMを用いたプログラミングの基礎
・ブロッキング通信によるメッセージ交換
・数値積分法の並列化の例
・集団通信を用いた行列計算の並列化
6.並列有限要素法の考え方
効率のよい並列処理を行うためにはプロセッサ間の通信量・非並列部分の
オーバヘッドを抑えることと、プロセッサ毎の負荷バランスを均一にする
ことが重要である。この章では、メッシュ要素の領域分割法に着目し、いく
つかのアルゴリズムについて,その考え方を示すとともに性能を比較・検討
する。
7.並列有限要素法プログラミング
連立一次方程式の解法として「反復法」を用いるならば、既存の有限要素法
プログラムは、メッシュ領域間の「通信テーブル」を用意することによって
簡単に並列化できる場合が多い。この章では、並列化したデータ構造と並列
化ソルバーを示し、実装例を示しながら、そのプログラミングの実際について
説明する。
8.実験結果と考察
※具体的な解析例と、その実装、ならびに並列化による性能改善の結果について
示す。
9.まとめ
<付録A>
並列有限要素法フリーソフト・GeoFEM
GeoFEMは地球環境問題のシミュレーションを目的として開発された。
構造解析、流体解析、連立一次方程式の解法などの機能と、並列計算に必要な
様々なツールが含まれている。
<付録B>
並列有限要素法フリーソフト・ADVENTURE
ADVENTUREシステムは、廉価なPCクラスタから、超並列計算機までの実装が
可能な汎用フリーソフトである。モジュールの集合体であり、前処理
(表面パッチ生成、メッシュ生成、メッシュ領域分割、境界条件設定、他)
、応力解析、流体解析、磁場解析,、可視化機能が全て含まれている。
参考文献・URL
[1] MPI Forum : MPI(Message Passing Interface) standard :
http://www-unix.mcs.anl.gov/mpi/
[2] Marc Snir, et.al : MPI: The Complete Reference :
http://www.netlib.org/utk/papers/mpi-book/mpi-book.html
[3] Peter Pacheco : Parallel Programming with MPI :
http://nexus.cs.usfca.edu/mpi/
[4] P.Pacheco著(秋葉訳):MPI並列プログラミング([3]の邦訳版):
培風館
[5] 財団法人・高度情報科学技術研究機構(RIST):
Multi-Purpose/Multi-Physics Parallel Finite Element Simulator/Platform for Solid
Earth (GeoFEM):
http://geofem.tokyo.rist.or.jp/index_jp.html
[6] (株)アライドエンジニアリング:分散メモリ型並列CAEシステム
ADVENTURECluster (ADVC)
http://www.alde.co.jp/advcluster/index.html
[7] NEC C&C研究所:「有限要素シミュレーション言語FEEL」:
http://www.sw.nec.co.jp/hpc/sxwj/no20/rd.html