P-NCASの基本操作は、ほぼNCASと同様です。またプリ・ポストプロセッサ連携なども利用することができます。ここではオブジェクトの操作などのNCASと共通する説明は省略し、NCASと違う点を主にしてP-NCASの基本操作を説明していきます。
P-NCASの説明をはじめる前に、P-NCASで作成した例題を説明します。この例題を使用しながらP-NCASの基本操作を説明していきます。
例題は2次元衝撃波管問題であり、角柱管内の中央に位置する仕切りを隔て高圧と低圧の気体が密閉されている。仕切りをはずしたときに圧力・密度の不連続的な変化により衝撃波を発生するモデルである。この角柱内の2次元断面上での気体の圧力・密度・温度を計算する。
この計算領域をプロセッサ数分だけ分割して並列計算する。
基礎偏微分方程式(PDE)とモデル図を示す。
またP-NCASで設計した例題のシミュレーション結果を示す。
NCASを起動し、以下のダイアログでNew Pad for Parallelを選択する。
P-NCASが起動し、P-NCAS用の問題入力オブジェクトが出現する。
NCASと同様に偏微分方程式問題を入力する。
入力する問題の次元数を選択すると、つぎのダイアログがでてきます。
プロセッサ数、つまり並列数を設定してください。
ここまでは一般的な説明です。
例題のデータを準備しておいたので、P-NCASシステムのディレクトリPara_Shock内のshock.objをロードしてください。
プロセッサ数は4とします。
次のようになります。偏微分方程式問題が入力されています。
各情報を確認してみてください。
離散化過程を見ます。そのためにはまず離散化過程を見るための空のオブジェクトを作成します。次のメニューを選択します(NCASではコマンドrunにあたる)。
各オブジェクトに名称をつけると以下のようになります。(これはshock_run.objというデータをロードしてもOK)
すべての偏微分式・および方程式を離散化する方法はNCASの操作と同じであります。NCASと異なる点は、NCASのcreate main procedureが、P-NCASではParallel Program Designになっています。
NCASのオートマティックラン(Automatic Run)にあたるものが、
Disc. and Para. Program Designメニューです。
離散化とプログラム設計を自動的に行いたい場合はこのメニューを選択してください。
並列プログラム設計のメニュー(Parallel Program Design か Disc. and Para. Program Design)を選択すると、P-NCASは自動的に各ソルバー式の解法を分類しダイアログで表示します。
*
P-NCASでは2000年3月現在、Implicit method(陰解法) を用いる問題には対応していません。
ここでImplicit method(陰解法)が存在する場合には、P-NCASではプログラムを作成することができません。
次に並列プログラムの負荷分散法を選択します。
P-NCASでは設計する並列プログラムの負荷分散法を選択することができます。それぞれの動作・使用制限・有効な計算環境について説明します。
@ 均等負荷分散型
動作 → 各プロセッサに割り当てられる計算量は等しい。つまり分割される領域は等しい。
制限 → 分割形状はユーザが任意に設定できる。
計算環境 → 計算に用いる全プロセッサの計算能力・負荷が等しい場合に有効な手法。
A 静的負荷分散型
動作 → 各プロセッサに割り当てる計算量を、そのプロセッサの計算能力・負荷に合わせて分配する。
制限 → 分割形状、領域の大きさはパフォーマンスファイルによって決定される。
計算環境 → 計算に用いる各プロセッサの計算能力・負荷が異なる場合に有効な手法。
B 動的負荷分散型
動作 → 各プロセッサに割り当てる計算量を、そのプロセッサの計算能力・負荷に合わせて分配する。また計算実行中にプロセッサの能力が変化した場合には計算量の割り当てを変更し直す。
制限 → プログラム初期の分割形状、領域の大きさはパフォーマンスファイルによって決定される。
計算環境 → 計算に用いる各プロセッサの計算能力・負荷がプログラム実行中に変化する場合に有効な手法。
A,Bの制限で現れたパフォーマンスファイルについては、別章で説明します。
以下のダイアログから負荷分散法を選択します。
LOAD BALANCEグループより
OFFかONを選択します。
●OFF → 均等負荷分散型
●ON → 静的負荷分散か動的負荷分散
前項で●ONを選択した場合、
AUTOMAITC LOAD BALANCEグループより
●Static Load Balance → 静的負荷分散型
●Dynamic Load Balance → 動的負荷分散型
以上のボタンにより負荷分散法を選択します。
@ 均等負荷分散型を選択すると
以下のダイアログによって各軸方向の分割数を選択してください。各軸の分割数を掛け合わせた数とTotal division number(プロセッサ数)が一致していなければいけません。
並列化情報オブジェクトと並列プログラムオブジェクトが作成されます。
A 静的負荷分散型を選択すると
以下のアナウンスが表示されます。
そして、パフォーマンスファイル(*.inf)ファイルを選択します。
パフォーマンスファイルにつきましては別章で説明します。
並列化情報オブジェクトと並列プログラムオブジェクトが作成されます。
B 動的負荷分散型を選択すると
静的負荷分散型同様パフォーマンスファイルを開きます。すると並列化情報オブジェクトと並列プログラムオブジェクトが作成されます。
並列プログラムの確認・ステアリング方法はNCASと同様です。
並列プログラムが設計されると同時に、P-NCASでは並列化情報オブジェクトが作成されます。このオブジェクトは設計された並列プログラムの計算領域の分割状況データを詳細に表示しています。このオブジェクトによってどのような並列化プログラムが作成されるのか、また各プロセッサに割り当てられる領域の大きさを確認するなどの並列化の検証をしやすくするものです。
このオブジェクトの説明をします。
このオブジェクトでは静的負荷分散型によって領域が分割されています。プロセッサの能力に合わせて領域分割されている様子が確認できます。
プログラムの入手方法はNCASと同様です。
プログラムオブジェクト上のメニューからAuto-create Parallel program in Cを選択するだけです。