[mpich2-dev] Tracing ROMIO

Rob Latham robl at mcs.anl.gov
Wed Jan 13 10:16:43 CST 2010


On Wed, Jan 13, 2010 at 09:09:55PM +0900, "Kwangho CHA" wrote:
> Dear All,
>  
> I’d like to trace and profile the behavior of ROMIO. For example, I want to measure the execution time of “ADIOI_Calc_my_off_len” function, when an application program calls ‘MPI_File_read_all’.
> What is the best way to do this? 

'AGGREGATION_PROFILE' is kind of an old macro. we should really remove
that in the few places it remains.

The macro you should set is 'ADIOI_MPE_LOGGING'.  That will profile
the read and write system calls that ROMIO makes.  You can augment
that logging to profile ADIOI_Calc_my_off_len : you'll have to make
changes to adio/include/adioi.h and the function ADIO_Init to declare
more MPE events.

> So I tried to make MPICH2 library with ‘-DAGGREGATION_PROFILE’ and it seemed to generate new MPICH2 but I failed to use it as follow;
> 
> [khocha at compute-0-0 cio]$ mpicc ./mpi-tile-io.c -o mpi-tile-io -Wall -g -DHAVE_GETOPT_LONG
> /opt/mpi2pvfs/lib/libmpich.a(ad_read_coll.o)(.text+0x2d): In function `ADIOI_Calc_my_off_len':
> /kyle/mpich2-1.1/src/mpi/romio/adio/common/ad_read_coll.c:308: undefined reference to `MPE_Log_event'
> /opt/mpi2pvfs/lib/libmpich.a(ad_read_coll.o)(.text+0x397):/kyle/mpich2-1.1/src/mpi/romio/adio/common/ad_read_coll.c:501: undefined reference to `MPE_Log_event'
>  
> What should I do to make the ROMIO which can use ‘MPE_Log_event’? 

when you build your applications, be sure to link with -llmpe -lmpe

==rob

-- 
Rob Latham
Mathematics and Computer Science Division
Argonne National Lab, IL USA


More information about the mpich2-dev mailing list