[hpct] MPI trace: Issues: Problem 2

Vitali A. Morozov morozov at anl.gov
Wed Aug 13 15:47:33 CDT 2008


Dear HPCT experts,

Problem 2 is almost identical to Problem 1 except there is no manual 
instrumentation: we want to trace all MPI calls.

1) mpi_profile.0 does not contain MPI_Send/MPI_Recv.

2) peekperf does not give sources, MPI_Send/MPI_Recv.

3) peekview traces 3 tasks (out of 16): 0, 2, and 15. It now shows 
MPI_Recv for task 2, but 3 other calls and 13 tasks are lost.

4) same error line "Error getting the executable name, line number 
information will not be available" in the error file.

FYI: similar C and C++ codes do not have "Error getting the executable 
name, line number information will not be available" errors, and 
peekperf correctly shows the sources. However, similar to 1),2) and 3), 
not all calls are registered.

Thanks,

Vitali Morozov

==============
program selective
implicit none
include 'mpif.h'

integer ierr, rank, nprocs, istat( MPI_STATUS_SIZE )
real(8) d

call MPI_Init( ierr )
call MPI_Comm_size( MPI_COMM_WORLD, nprocs, ierr )
call MPI_Comm_rank( MPI_COMM_WORLD, rank, ierr )

if ( rank .eq.  4 ) call MPI_Send( d, 1, MPI_DOUBLE_PRECISION, 8, 0, 
MPI_COMM_WORLD, ierr )
if ( rank .eq.  8 ) call MPI_Recv( d, 1, MPI_DOUBLE_PRECISION, 4, 0, 
MPI_COMM_WORLD, istat, ierr )

if ( rank .eq. 12 ) call MPI_Send( d, 1, MPI_DOUBLE_PRECISION,  2, 0, 
MPI_COMM_WORLD, ierr )
if ( rank .eq.  2 ) call MPI_Recv( d, 1, MPI_DOUBLE_PRECISION, 12, 0, 
MPI_COMM_WORLD, istat, ierr )

call MPI_Finalize(ierr)
stop
=============


mpixlf90 -g -c trace.f90
mpixlf90 -g -o trace trace.o -L/home/morozov/soft/hpct_bgp/lib/ 
-lmpitrace -llicense -lgfortran

TASK=trace
qsub -q short -A Performance -t 0:10:00 -n 16 --proccount 16 --mode smp 
-O $TASK \
    --env 
TRACE_SEND_PATTERN=yes:TRACE_ALL_TASKS=yes:TRACE_ALL_EVENTS=yes $TASK






More information about the hpct mailing list