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