[MPICH] Problem when enabling ADIOI_MPE_LOGGING

Christina Patrick christina.subscribes at gmail.com
Fri Nov 30 19:44:49 CST 2007


Hi Everybody,

I want to monitor the time it takes to complete collective I/O in my
application. However, I also want the breakup of the times the
collective call spends in calling the PVFS functions as well as the
communication. I saw some ready made logging present in the files
ad_pvfs2_write.c. The calls PVFS_sys_write were logged by MPE_Log
event() as below (one excerpt of the code):

-------------------------------
#ifdef ADIOI_MPE_LOGGING
                    MPE_Log_event( ADIOI_MPE_write_a, 0, NULL );
#endif
                    err_flag = PVFS_sys_write(pvfs_fs->object_ref, file_req,
                                              file_offsets, PVFS_BOTTOM,
                                              mem_req,
                                              &(pvfs_fs->credentials),
                                              &resp_io);
#ifdef ADIOI_MPE_LOGGING
                    MPE_Log_event( ADIOI_MPE_write_b, 0, NULL );
#endif
-------------------------------

I modified the makefiles to add the debug flag ADIOI_MPE_LOGGING and
enabled the logging. However, when I run my application and generate
the clog and slog files, I cannot see these events using jumpshot. I
logged the event ID's when they are created in ad_init.c and they are
as below from a sample run:

ADIOI_MPE_write_a     = 604 ADIOI_MPE_write_b     = 605

What am I missing? Is there something that I need to do additionally?
How exactly should I profile my application and which tool should I
use to get the breakup of these times.

I have never profiled MPI before. I would really appreciate any help
and suggestions that you could offer.

Thanks and Regards,
Christina.




More information about the mpich-discuss mailing list