[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
Hi,
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?
Thomas
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)
icm=MPI_COMM_WORLD
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
jr=27
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.
a=(/x,y,z/)
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
http://www.dtm.ciw.edu/users/ruedas/
More information about the mpich-discuss
mailing list