Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
14 Views

Bug with WRITE(*,*) and MPI process

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
Highlighted
14 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
Highlighted
Beginner
14 Views

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

0 Kudos
Highlighted
14 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