XcalableMP

、XMP は大規模な並列計算機上での高性能計算向けにC言語およびFortranを拡張して作られたプログラミング言語である。
XMPの実行モデルはSPMDであり、その実行主体はノードと呼称する。
XMPは並列化の手段として、グローバルビューとローカルビューをユーザに提供している。
グローバルビューでは、テンプレートと呼ばれる仮想的なインデックス集合を用いて並列化を行う。
グローバルビューでは、OpenMPのように、プログラマは逐次コードに対して指示文を挿入することで、データのマッピング、ノード間のデータのread/write、ループ文の並列化などを行う。XMPの指示文のいくつかはの指示文を引き継いだものである。
ローカルビューでは、のように、ノード番号を指定してノード間のデータのread/writeを行う。なお、Fortran言語のXMPはの上位互換である。
例（グローバルビュー）.
int a[20];
int main() {
for (int i = 0; i < 20; i++)
 a[i] = func(i);
 return 0;
例（ローカルビュー）.
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;