|
、XMP は大規模な並列計算機上での高性能計算向けにC言語およびFortranを拡張して作られたプログラミング言語である〔公式サイト 〕。 XMPの実行モデルはSPMDであり、その実行主体はノードと呼称する。 XMPは並列化の手段として、グローバルビューとローカルビューをユーザに提供している。 グローバルビューでは、テンプレートと呼ばれる仮想的なインデックス集合を用いて並列化を行う。 グローバルビューでは、OpenMPのように、プログラマは逐次コードに対して指示文を挿入することで、データのマッピング、ノード間のデータのread/write、ループ文の並列化などを行う。XMPの指示文のいくつかはの指示文を引き継いだものである。 ローカルビューでは、のように、ノード番号を指定してノード間のデータのread/writeを行う。なお、Fortran言語のXMPはの上位互換である。 ==例(グローバルビュー)== int a; #pragma xmp template t(0:19) / * 0から19までのテンプレートを定義 */ #pragma xmp nodes p(4) / * ノード集合を定義 */ #pragma xmp distribute t(block) onto p / * テンプレートをノード集合に分散させる */ #pragma xmp align a with t(i) / * 分散されたテンプレートと配列を関連付ける */ int main() 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「XcalableMP」の詳細全文を読む スポンサード リンク
|