Hi
I am trying to profile a simple MPI program with MPI_Comm_split() and
MPI_Intercomm_create() and notice these 2 functions are implemented with
other MPI functions, e.g.lam-7.1.2b26/share/mpi/iccreate.c and
share/mpi/csplit.c (I didn't check if other MPI communicator constructor
functions are implementated that way). My test program was stuck in
MPI_Intercomm_create()'s lam_coll_alloc_inter_cid() around where
lam_irecv/lam_send/MPI_Wait block is. (At least the debugger was stuck
there without progressing, weird!).
In any case, I believe the way these MPI functions are implemented
currently can create some pretty nasty scenario that my profiling tool
cannot handle (I believe other profiling tools will have similar problems
as well). I wonder if it is possible for LAM's MPI communicator calls
or its related internal functions, e.g. lam_coll_alloc_inter_cid(), be
implemented with PMPI calls instead of MPI calls ?
Thanks,
A.Chan
|