Intel® HPC Toolkit
Get help with building, analyzing, optimizing, and scaling high-performance computing (HPC) applications.
2089 Discussions

Bug with WRITE(*,*) and MPI process

OP1
New Contributor II
300 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
300 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.

0 Kudos
OP1
New Contributor II
300 Views

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

0 Kudos
Steven_L_Intel1
Employee
300 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.

0 Kudos
Reply