Open mnakao opened 8 years ago
報告者:村井
XMP/C でも、local_alias 指示文を導入する。
ただし、XMP/F とは少し構文が異なり、以下のように、type * const 型を持ち、初期値を持つポインタに対して指定する。多次元の分散配列に対しては指定できない。
float a[100];
pragma xmp align a[i] with t(i)
float * const b = &a;
pragma xmp local_alias b
以下のようにlocal_alias指示文を導入する。ローカルエイリアスである配列は一次元でなければならない。
float a[100][100];
#pragma xmp align a[i][j] with t(i,j)
float b[]:[*];
#pragma xmp local_alias b => a
報告者:村井
XMP/F では、以下のようにローカルエイリアスを coarray として宣言することにより、a の領域をcoarray として割付けることができる (4.8.1 の Example 3)。
一方、XMP/C では、アドレス演算子を用いて実行文においてローカルエイリアスを取得するため、a の領域を coarray として割付けることができない。