[mpich-discuss] Beginner's problem with MPE, logging, and ifort

Thomas Ruedas ruedas at dtm.ciw.edu
Mon Oct 19 18:31:27 CDT 2009

this is an absolute beginner's problem and probably very stupid, but 
anyway, after having spent more than a day reading the user guide for 
MPE and looking for docs on the web, I can only hope you can help me.

I have installed the latest MPICH2 version, and the installcheck tests 
indicate that MPE works. My Fortran compiler is the Intel Fortran 
compiler v.9.1, and the configure log indicates that no other Fortran 
compiler is used. All I want to do is automatic logging - no fancy 
user-defined calls (yet).
When I compile and run one of the example F77 programs *that does not 
seem to call any specific MPE routines*, things seem to work fine, and a 
log file is produced:
mpif77 -mpe=mpilog ~/local/share/examples_logging/fcomm1_isr.f
mpiexec -machinefile machines -n 4 a.out
  world_rank  0 on compute-0-0.local
  world_rank  2 on compute-0-2.local
  world_rank  1 on compute-0-1.local
  world_rank  3 on compute-0-3.local
Writing logfile....
Enabling the Default clock synchronization...
Finished writing logfile Unknown.clog2.

When I compile the small F90 test program listed and the end of this 
email and run it as follows:
mpif90 -mpe=mpilog test2.f90
mpiexec -machinefile machines -n 4 a.out
it runs normally, but no logging takes place, neither on the screen nor 
into a file. The option -mpe=mpitrace also shows no effect at all.
What is going wrong here?

Code of test.f90:
program test
implicit none
include "mpif.h"
integer :: errcode,icm,ir,is,jr,istat(MPI_STATUS_SIZE),n,n2
real :: x,y,z,a(3)
call MPI_INIT(errcode)
call MPI_COMM_RANK(icm,ir,errcode)
call MPI_COMM_SIZE(icm,is,errcode)
write(*,*) 'Testing broadcast with one var'
if (ir == 0) then
    write(*,*) 'comm: ',icm,' rank: ',ir,' size: ',is
end if
write(*,*) 'Process #',ir,': set jr=',jr
call MPI_BCAST(jr,1,MPI_INTEGER,0,icm,errcode)
write(*,*) 'Process #',ir,': updated jr=',jr,', error code ',errcode
write(*,*) 'Testing broadcast with several vars in an array'
if (ir == 0) then
    x=1.; y=2.; z=3.
end if
write(*,*) 'Process #',ir,': set x,y,z=',a
call MPI_BCAST(a,3,MPI_REAL,0,icm,errcode)
write(*,*) 'Process #',ir,': updated x,y,z=',a,', error code ',errcode
call MPI_FINALIZE(errcode)
end program test
Thomas Ruedas
Department of Terrestrial Magnetism
Carnegie Institution of Washington

More information about the mpich-discuss mailing list