[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [bgl-discuss] MPI library on BG/L



Hi Sameer,

I am so glad with your help!
Yes, actually, I tried TAU (old version) for the first trial.
The reason why I was forced to change mpich itself is that
the person who will use that profile data cares so much about
the cost of the wrappers.

I myself think the cost is not so expensive, but he does.
Could you show some concrete (but simple one is enough) data
how this wrapper costs? (And I know the cost is a little
enough to ignore :-) )
In that case, I can try to persuade him to use TAU profiling
again, with your help.

I personally think TAU is a nice tool for profiling and makes
things easy. If I can persuade him, I would like to use TAU.

Cheers,
Sayaka


Sameer Shende wrote:
Hi Sayaka,
	Would using the PMPI profiling interface help in this case? You'd
implement your own collective MPI functions and do what a tool such as TAU
does - interpose your library between the application and the MPICH
library. Many profiling and tracing tools use this approach to add timing
calls to native MPI libraries without changing the implementation of
MPICH. They internally call the namshifted interface:

#pragma weak MPI_Send = PMPI_Send

int MPI_Send(...)
{ /* original implementation */
}

wrapper library:
int MPI_Send(...)
{
  timer_start();
  int ret_value = PMPI_Send(...);
  timer_stop();
  return ret_value:
}
and while linking in:
-lWrapperlib -lpmpich -lmpich

	If you use this approach and don't invoke the corresponding
PMPI_... call, you'd add your code in the wrapper library. It'll make it
portable to other MPI implementations as well. What do you feel?
	If you are interested in seeing how TAU does this, see
src/Profile/Makefile.wrapper TauMpi.c TauFMpi.c files.
	Thanks,
	- Sameer

On Mon, 5 Sep 2005, Sayaka Akioka wrote:


Hello,

I need your help. But it might be better to send this mail
to bgl-discuss.

Now I am trying to run my code which utilizes MPI library.
What I would like to do in my code is to use my own collective
MPI functions instead of MPI standard collective functions.
I have done this work on other PC clusters, but now I am trying
to do the same thing on BG/L. I have trouble getting compiled my
codes.

For example, in MPIC_Send, MPIC_Recv, MPIC_Sendrecv, MPID_Irecv,
MPID_Isend, MPID_Send, MPID_Recv, references to functions (their
name start with "MPIDI_CH3") can not be found. I used mpicc on
front end machine, under /bgl/BlueLight/ppcfloor/bglsys.

I am guessing this is because I did something wrong, or MPI
library on BG/L should be the special version. To get my codes
compiled, what should I do?

I am attaching the error messages.

Thank you,
Sayaka

--
Sayaka Akioka
e-mail: akioka@xxxxxxxxxxx



- --------------------------------------------------------------------
To add or remove yourself from this mailing list, use the 'notifyme'
command on any BGL machine. To remove: notifyme -n, to add: notifyme -y.



--
Sayaka (Tobita) Akioka
Post-doctoral Research Associate
The Pennsylvania State University
e-mail: tobita@xxxxxxxxxxx

- --------------------------------------------------------------------
To add or remove yourself from this mailing list, use the 'notifyme'
command on any BGL machine. To remove: notifyme -n, to add: notifyme -y.