46
H. Murai et al.
Fig. 34 Example of multi-dimensional shadow (3)
4.2 gmove Construct
The programmers can specify a communication of distributed arrays in the form
of assignment statements by using the gmove construct. In other words, with
the gmove construct, any array assignment between two arrays (i.e. global data
movement) that may involve inter-node communication can be specified.
There are three modes of gmove; “collective mode,” “in mode,” and “out mode.”
4.2.1 Collective Mode
The global data movement involved by a collective gmove is performed collectively, and results in implicit synchronization among the executing nodes.
XcalableMP C
#pragma xmp nodes p[4]
#pragma xmp template t[16]
#pragma xmp distribute t[block] onto p
int a[16], b[16];
5 #pragma xmp align a[i] with t[i]
#pragma xmp align b[i] with t[i]
:
H. Murai et al.
Fig. 34 Example of multi-dimensional shadow (3)
4.2 gmove Construct
The programmers can specify a communication of distributed arrays in the form
of assignment statements by using the gmove construct. In other words, with
the gmove construct, any array assignment between two arrays (i.e. global data
movement) that may involve inter-node communication can be specified.
There are three modes of gmove; “collective mode,” “in mode,” and “out mode.”
4.2.1 Collective Mode
The global data movement involved by a collective gmove is performed collectively, and results in implicit synchronization among the executing nodes.
XcalableMP C
#pragma xmp nodes p[4]
#pragma xmp template t[16]
#pragma xmp distribute t[block] onto p
int a[16], b[16];
5 #pragma xmp align a[i] with t[i]
#pragma xmp align b[i] with t[i]
:
