Intel® oneAPI HPC Toolkit
Get help with building, analyzing, optimizing, and scaling high-performance computing (HPC) applications.
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!
1826 Discussions

Bug with WRITE(*,*) and MPI process

OP1
New Contributor I
100 Views

The simple code below fails when run (with mpiexec.exe) on a 64-bit Win. 7 workstation (with dual 6-core processors). The culprit is the WRITE(*,*) command (when a large number of such commands are issued, as in the example below). Writing to a file works well.

PROGRAM MAIN
USE MPI
IMPLICIT NONE
INTEGER :: RANK,ERROR,I
COMPLEX(KIND=8) :: A(8000)
CALL MPI_INIT(ERROR)
CALL MPI_COMM_RANK(MPI_COMM_WORLD,RANK,ERROR)
IF (RANK==0) THEN
    DO I=1,8000
        WRITE(*,*) I,A(I)
    END DO
END IF
CALL MPI_FINALIZE(ERROR)
END PROGRAM MAIN

The errors look like this:

[mpiexec@xxx] ..\hydra\ui\utils\uiu.c (406): assert (!closed) failed
[mpiexec@xxx] ..\hydra\pm\pmiserv\pmiserv_cb.c (973): error in the UI defined callback
[mpiexec@xxx] ..\hydra\tools\demux\demux_select.c (103): callback returned error status
[mpiexec@xxx] ..\hydra\pm\pmiserv\pmiserv_pmci.c (501): error waiting for event
[mpiexec@xxx] ..\hydra\ui\mpich\mpiexec.c (1110): process manager error waiting for completion

This fails with 16 Update 3 as well as the 17 Beta. A smaller array will not lead to this error.

0 Kudos
3 Replies
Steven_L_Intel1
Employee
100 Views

This doesn't sound like a Fortran issue, as I don't see any Fortran errors in the log. Whose MPI are you using? If it is trying to merge the standard output streams, it may be overwhelmed by the volume.

OP1
New Contributor I
100 Views

Steve - I am using Intel MPI (shipped with the cluster edition of Intel Parallel Studio).

Steven_L_Intel1
Employee
100 Views

Ok. I am going to move this to the Clustering Technologies forum where MPI experts can respond. I don't see any evidence that it is a Fortran problem.

Reply