XcalableMPとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > XcalableMPの意味・解説 

XcalableMP

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/07/01 23:28 UTC 版)

ナビゲーションに移動 検索に移動
XcalableMP (XMP)
パラダイム 並列計算メッセージパッシング命令形手続き型言語)、構造化プログラミング
設計者 PCクラスタコンソーシアム 並列プログラミング言語XcalableMP規格部会
最新リリース 1.4/ 2018年11月9日 (2年前) (2018-11-09)
型付け 弱い静的型付け
主な処理系 Omni Compiler
影響を受けた言語 High Performance FortranCo-array Fortran
プラットフォーム クロスプラットフォーム
ウェブサイト xcalablemp.org
テンプレートを表示

XcalableMPXMP は大規模な並列計算機上での高性能計算向けにC言語およびFortranを拡張して作られたプログラミング言語である[1]

XMPの実行モデルはSPMDであり、その実行主体はノードと呼称する。 XMPは並列化の手段として、グローバルビューローカルビューをユーザに提供している。 グローバルビューでは、テンプレートと呼ばれる仮想的なインデックス集合を用いて並列化を行う。 グローバルビューでは、OpenMPのように、プログラマは逐次コードに対して指示文を挿入することで、データのマッピング、ノード間のデータのread/write、ループ文の並列化などを行う。XMPの指示文のいくつかはHigh Performance Fortranの指示文を引き継いだものである。 ローカルビューでは、Co-array Fortranのように、ノード番号を指定してノード間のデータのread/writeを行う。なお、Fortran言語のXMPはCo-array Fortranの上位互換である。

例(グローバルビュー)

int a[20];
#pragma xmp template t[20]  /* 0から19までのテンプレートを定義 */
#pragma xmp nodes p[4]        /* ノード集合を定義 */
#pragma xmp distribute t[block] onto p  /* テンプレートをノード集合に分散させる */
#pragma xmp align a[i] with t[i]        /* 分散されたテンプレートと配列を関連付ける */

int main() {
#pragma xmp loop on t[i]   /* 分散されたテンプレートに従い、ループ文を各ノードで実行する */
for (int i = 0; i < 20; i++)
   a[i] = func(i);

  return 0;
}

例(ローカルビュー)

#include <xmp.h>
#pragma xmp nodes p[4]        /* ノード集合を定義 */
int a[20]:[*];  /* Coarrayの定義 */

int main() {
  int me = xmpc_node_num();   /* 自身のノード番号を取得 */
 
  if (me == 1)
    a[0:20]:[3] = a[0:20];  /* ノード番号1は、自身が持つ配列aを、ノード番号3が持つ配列aにPUTする */

  return 0;
}

関連項目

外部リンク

脚注

  1. ^ 公式サイト



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「XcalableMP」の関連用語

XcalableMPのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



XcalableMPのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのXcalableMP (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS