XcalableMP Programming Model and Language
37
5 int main(){
int a[10][10];
#pragma xmp align a[i][j] with t[i][j]
#pragma xmp loop on t[i][j]
10
for(int i=0;i<10;i++)
for(int j=0;j<10;j++)
a[i][j] = i * 10+j;
return 0;
15 }
XcalableMP Fortran
program main
!$xmp nodes p(2,2)
!$xmp template t(10,10)
!$xmp distribute t(block,block) onto p
5
integer :: a(10,10)
!$xmp align a(j,i) with t(j,i)
!$xmp loop on t(j,i)
do i=1, 10
10
do j=1, 10
a(j,i) = i * 10+j
enddo
enddo
15 end program main
3.3 array Construct
The array construct is for work mapping of array assignment statements.
XcalableMP C
#pragma xmp align a[i] with t[i]
:
#pragma xmp array on t[0:N]
a[0:N] = 1.0;
XcalableMP Fortran
!$xmp align a(i) with t(i)
:
!$xmp array on t(1:N)
a(1:N) = 1.0
Précédent

- 45/265

Suivant