Oops, I knew I forgot something!
I am using OpenMPI 3.1.1
I have tried loading in a OpenMPI 4.0.3 module but receive a repeating error at 
runtime:

[tcn560.bullx:16698] pml_ucx.c:175  Error: Failed to receive UCX worker 
address: Not found (-13)
[tcn560.bullx:16698] [[42671,6],29] ORTE_ERROR_LOG: Error in file dpm/dpm.c at 
line 493

Which makes me think I am in fact on an IB cluster, I will configure my own 
local OpenMPI 4.0.4 with the config options you suggest and test it out.
I will also set up a run with the mca parameters suggested by Gilles. The 
cluster I work on will be down for the next two days so it will be a bit before 
I can provide any updates! Thank you for your patience and your help, much 
appreciated. 

-Sean


On 7/25/20, 4:33 AM, "users on behalf of Joseph Schuchart via users" 
<users-boun...@lists.open-mpi.org on behalf of users@lists.open-mpi.org> wrote:

    External.

    Hi Sean,

    Thanks for the report! I have a few questions/suggestions:

    1) What version of Open MPI are you using?
    2) What is your network? It sounds like you are on an IB cluster using
    btl/openib (which is essentially discontinued). Can you try the Open MPI
    4.0.4 release with UCX instead of openib (configure with --without-verbs
    and --with-ucx)?
    3) If that does not help, can you boil your code down to a minimum
    working example? That would make it easier for people to try to
    reproduce what happens.

    Cheers
    Joseph

    On 7/24/20 11:34 PM, Lewis,Sean via users wrote:
    > Hi all,
    >
    > I am encountering a silent hang involving MPI_Ssend and MPI_Irecv. The
    > subroutine in question is called by each processor and is structured
    > similar to the pseudo code below. The subroutine is successfully called
    > several thousand times before the silent hang behavior manifests and
    > never resolves. The hang will occur in nearly (but not exactly) the same
    > spot for bit-wise identical tests. During the hang, all MPI ranks will
    > be at the Line 18 Barrier except for two. One will be waiting at Line
    > 17, waiting for its Irecv to complete, and the other at one of the Ssend
    > Line 9 or 14. This suggests that a MPI_Irecv never completes and a
    > processor is indefinitely blocked in the Ssend unable to complete the
    > transfer.
    >
    > I’ve found similar discussion of this kind of behavior on the OpenMPI
    > mailing list:
    > 
https://nam01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.mail-archive.com%2Fusers%40lists.open-mpi.org%2Fmsg19227.html&amp;data=02%7C01%7Cscl63%40drexel.edu%7C3b0c3aea09a64654a4c108d830756470%7C3664e6fa47bd45a696708c4f080f8ca6%7C0%7C0%7C637312628045924572&amp;sdata=H2yKKppFOFeJo1SrwQSi2Lts%2BtPQBjpf%2FjLVSlKrCiY%3D&amp;reserved=0
    > ultimately resolving in setting the mca parameter btl_openib_flags to
    > 304 or 305 (default 310):
    > 
https://nam01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.mail-archive.com%2Fusers%40lists.open-mpi.org%2Fmsg19277.html&amp;data=02%7C01%7Cscl63%40drexel.edu%7C3b0c3aea09a64654a4c108d830756470%7C3664e6fa47bd45a696708c4f080f8ca6%7C0%7C0%7C637312628045924572&amp;sdata=GulI2%2F%2F%2BnQskKGz7HVSmwVG053T0v4w66TSxrWMvTEc%3D&amp;reserved=0.
 I
    > have seen some promising behavior by doing the same. As the mailer
    > suggests, this implies a problem with the RDMA protocols in infiniband
    > for large messages.
    >
    > I wanted to breathe life back into this conversation as the silent hang
    > issue is particularly debilitating and confusing to me.
    > Increasing/decreasing the number of processors used does not seem to
    > alleviate the issue, using MPI_Send results in the same behavior,
    > perhaps a message has exceeded a memory limit? I am running a test now
    > that reports the individual message sizes but I previously implemented a
    > switch to check for buffer size discrepancies which is not triggered. In
    > the meantime, has anyone run into similar issues or have thoughts as to
    > remedies for this behavior?
    >
    > 1:  call MPI_BARRIER(…)
    >
    > 2:  do i = 1,nprocs
    >
    > 3:   if(commatrix_recv(i) .gt. 0) then     ! Identify which procs to
    > receive from via predefined matrix
    >
    > 4:         call Mpi_Irecv(…)
    >
    > 5:   endif
    >
    > 6:   enddo
    >
    > 7:   do j = mype+1,nproc
    >
    > 8:   if(commatrix_send(j) .gt. 0) then     ! Identify which procs to
    > send to via predefined matrix
    >
    > 9:         MPI_Ssend(…)
    >
    > 10: endif
    >
    > 11: enddo
    >
    > 12: do j = 1,mype
    >
    > 13:  if(commatrix_send(j) .gt. 0) then     ! Identify which procs to
    > send to via predefined matrix
    >
    > 14:        MPI_Ssend(…)
    >
    > 15: endif
    >
    > 16: enddo
    >
    > 17: call MPI_Waitall(…)     ! Wait for all Irecv to complete
    >
    > 18: call MPI_Barrier(…)
    >
    > Cluster information:
    >
    > 30 processors
    >
    > Managed by slurm
    >
    > OS: Red Hat v. 7.7
    >
    > Thank you for help/advice you can provide,
    >
    > Sean
    >
    > *Sean C. Lewis*
    >
    > Doctoral Candidate
    >
    > Department of Physics
    >
    > Drexel University
    >

Reply via email to