Quantcast
Channel: Intel® Fortran Compiler for Linux* and macOS*
Viewing all articles
Browse latest Browse all 2583

fort run out of comunicators with coarray fortran

$
0
0

 

  Hi,

  I am running a coarray fortran application with intel fortran compiler ifort (IFORT) 13.0.1 20121010, and after some transfers between images, the code crashes with the error:

 

Fatal error in MPI_Win_create: Other MPI error, error stack:
MPI_Win_create(153)...........: MPI_Win_create(base=0x23ec030, size=8224, disp_unit=1, MPI_INFO_NULL, comm=0x84000000, win=0x2c92650) failed
MPID_Win_create(37)...........: 
MPIDI_Win_create(92)..........: 
MPIR_Comm_dup_impl(55)........: 
MPIR_Comm_copy(1070)..........: 
MPIR_Get_contextid(543).......: 
MPIR_Get_contextid_sparse(834): Too many communicators

 

It seems to me that the compiler is translating each sync images/daa transfer into a different MPI communicators, and therefore the program runs very fast out of communicators.

The code crashes after a fixed number of calls to a subroutine that reads:

  subroutine copybnd_su2_id(U,latt, id, ieo)

    type (SU2_field), intent (inout) :: U
    type (lattice), intent (in)  :: latt
    integer, intent (in) :: id, ieo

    integer :: imx, j, ifc, kt, ipr, isrc, iofs
    complex (kind=DPC), allocatable :: zbuf(:,:)[:], zloc(:,:)

    iofs = 0
    imx = maxval(latt%iface(:))/2+1
    allocate(zbuf(imx,2)[*], zloc(imx,2))

    ...

 

Any ideas about how to overcome this issue?

 


Viewing all articles
Browse latest Browse all 2583

Trending Articles