Fortran coarray 图像访问无法正常工作?
fortran coarray image access not working properly?
使用简单的 gfortran coarray 程序。
出于某种原因,无法从根进程(例如 a[2])访问变量的图像。
我是否正确访问了这些图像?会不会是我编译的coarray库有误?
coarray.f90
program coarraytest
implicit none
integer, codimension[*]:: a
integer:: tot
if(this_image()==1) then
a=10
endif
if(this_image()==2) then
a=20
endif
sync all ! synchronize
if(this_image()==1) then
tot=a+a[2]
print *, a, a[2], tot
end if
sync all
print *, this_image(), ': ', a
end program
输出
10 0 682453724
1 : 10
2 : 20
备注
系统:
Ubuntu Linux 20.04
gfortran
OpenMPI (OpenRTE) 4.0.3
编译:
caf coarray.f90 -o coarray.o
执行:
cafrun -n 2 coarraytest.o
好的,看起来像是乐队安装。
我首先关注了这个link:
https://askubuntu.com/questions/1277932/cannot-install-open-coarrays-bin-for-gfortran-on-ubuntu-20-04
这已经过时了。不得不卸载所有垃圾并遵循以下 link:
https://github.com/sourceryinstitute/OpenCoarrays/blob/master/INSTALL.md#linux
使用简单的 gfortran coarray 程序。
出于某种原因,无法从根进程(例如 a[2])访问变量的图像。
我是否正确访问了这些图像?会不会是我编译的coarray库有误?
coarray.f90
program coarraytest
implicit none
integer, codimension[*]:: a
integer:: tot
if(this_image()==1) then
a=10
endif
if(this_image()==2) then
a=20
endif
sync all ! synchronize
if(this_image()==1) then
tot=a+a[2]
print *, a, a[2], tot
end if
sync all
print *, this_image(), ': ', a
end program
输出
10 0 682453724
1 : 10
2 : 20
备注
系统:
Ubuntu Linux 20.04
gfortran
OpenMPI (OpenRTE) 4.0.3
编译:
caf coarray.f90 -o coarray.o
执行:
cafrun -n 2 coarraytest.o
好的,看起来像是乐队安装。 我首先关注了这个link: https://askubuntu.com/questions/1277932/cannot-install-open-coarrays-bin-for-gfortran-on-ubuntu-20-04
这已经过时了。不得不卸载所有垃圾并遵循以下 link:
https://github.com/sourceryinstitute/OpenCoarrays/blob/master/INSTALL.md#linux