<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.6000.16608" name=GENERATOR></HEAD>
<BODY>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff size=2><SPAN
class=447361614-24032008>Hi,</SPAN></FONT></DIV>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff size=2><SPAN
class=447361614-24032008> The source file <FONT
face="Times New Roman"><FONT color=#000000 size=3>"src/util/multichannel/mpi.c"
is used only for MPICH2 on windows. The code is responsible for loading the
right wrapper (MPE) and mpich2 (depending on the channel, ssm/sshm/sock/mt
etc, specified when launching your job) dlls. This code is not
compiled when you compile MPICH2 on unix
systems.</FONT></FONT><BR></SPAN></FONT></DIV>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff size=2><SPAN
class=447361614-24032008>(PS: The unix code currently loads channels dynamically
in a better way. You should look into "/src/mpid/ch3/channels/dllchan" for more
info.)</SPAN></FONT></DIV>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff size=2><SPAN
class=447361614-24032008> </DIV></SPAN></FONT>
<DIV><SPAN class=447361614-24032008><FONT face=Arial color=#0000ff
size=2>Regards,</FONT></SPAN></DIV>
<DIV><SPAN class=447361614-24032008><FONT face=Arial color=#0000ff
size=2>Jayesh</FONT></SPAN></DIV><BR>
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B> owner-mpich-discuss@mcs.anl.gov
[mailto:owner-mpich-discuss@mcs.anl.gov] <B>On Behalf Of </B>Krishna
Chaitanya<BR><B>Sent:</B> Monday, March 24, 2008 9:13 AM<BR><B>To:</B>
mpich-discuss@mcs.anl.gov<BR><B>Subject:</B> Re: [mpich-discuss] Trouble in
getting the logging interface to work<BR></FONT><BR></DIV>
<DIV></DIV> Sorry for re-posting.<BR>>I took a look at the
documentation at
src/util/multichannel/mpi.c<BR>
Guess this is only for windows.
<BR> It would be of
great help if someone could point me to the function that takes care of mapping
MPI_Init to its wrapper, defined in src/mpe2/src/wrappers/src/log_mpi_core.c,
when the library is compiled with the --enable-mpe switch., instead of the
function defined in src/mpi/init/init.c<BR><BR>Krishna Chaitanya K <BR><BR>
<DIV class=gmail_quote>On Sun, Mar 23, 2008 at 2:29 PM, Krishna Chaitanya <<A
href="mailto:kris.c1986@gmail.com">kris.c1986@gmail.com</A>> wrote:<BR>
<BLOCKQUOTE class=gmail_quote
style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">
<DIV class=Ih2E3d>> See section "CUSTOMIZING LOGFILES" in
mpich2-xxx/src/mpe2/README.<BR></DIV>Correct me if I am wrong : <BR>Since I am
dealing with PERUSE events, whenever such an event occurs, a PERUSE function,
defined in <mpich-dir>/src/peruse/peruse.c, is invoked by the MPI
library. I am trying to get this event displayed in the jumpshot output. For
this to be done, I need to define a wrapper function which gets invoked when a
PERUSE event occurs, to log the event and then to call the actuall peruse
function, which is similar to the way the wrapper function at log_mpi_core.c
is called, when MPI_Init is called. <BR><BR>Could you please clarify on the
dynamic mapping? <BR>I took a look at the documentation at
src/util/multichannel/mpi.c. I think, I understood what is going on in
LoadFunctions() and the way the function pointers are assigned addresses
depending the dll that is being used. <BR><FONT color=#888888><BR>Krishna
Chaitanya K</FONT>
<DIV>
<DIV></DIV>
<DIV class=Wj3C7c><BR><BR>
<DIV class=gmail_quote>On Sun, Mar 23, 2008 at 12:59 PM, Anthony Chan <<A
href="mailto:chan@mcs.anl.gov" target=_blank>chan@mcs.anl.gov</A>>
wrote:<BR>
<BLOCKQUOTE class=gmail_quote
style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid"><BR>See
section "CUSTOMIZING LOGFILES" in mpich2-xxx/src/mpe2/README.<BR>You don't
need to modify MPE libraries.<BR><BR>A.Chan<BR>
<DIV>
<DIV></DIV>
<DIV><BR>On Sun, 23 Mar 2008, Krishna Chaitanya wrote:<BR><BR>> I have
modified the mpe library to log the events that I am interested in<BR>>
monitoring. But, I am bit hazy about how a function like MPI_Init is<BR>>
actually linked to the MPI_Init routine in the file log_mpi_core.c when
we<BR>> compile the MPI application with the -mpe=mpilog switch. Could
someone point<BR>> me to the routine that takes care of such a
mapping?<BR>><BR>> Thanks,<BR>> Krishna Chaitanya K<BR>><BR>>
On Sat, Mar 22, 2008 at 3:01 AM, Krishna Chaitanya <<A
href="mailto:kris.c1986@gmail.com"
target=_blank>kris.c1986@gmail.com</A>><BR>>
wrote:<BR>><BR>>> Thanks a lot. I installed the latest jdk version
and I am now able to look<BR>>> at the jumpshot
output.<BR>>><BR>>> Krishna Chaitanya
K<BR>>><BR>>><BR>>> On Sat, Mar 22, 2008 at 1:45 AM,
Anthony Chan <<A href="mailto:chan@mcs.anl.gov"
target=_blank>chan@mcs.anl.gov</A>>
wrote:<BR>>><BR>>>><BR>>>> The error that you showed
earlier does not suggest the problem is with<BR>>>> running
jumpshot on your machine with limited memory. If your
clog2<BR>>>> file<BR>>>> isn't too bad, send it to
me.<BR>>>><BR>>>> On Fri, 21 Mar 2008, Krishna Chaitanya
wrote:<BR>>>><BR>>>>> I resolved that
issue.<BR>>>>> My comp ( Intel centrino 32 bit , 256 MB RAM -
Dated, I agree) hangs<BR>>>> each<BR>>>>> time I launch
jumpshot with the slogfile. Since this is an independent<BR>>>>>
project, I am constrained when it comes to the availability
of<BR>>>> machines.<BR>>>>> Would you recommend that I
give it a try on a 64bit AMD, 512MB RAM? (<BR>>>>
Will<BR>>>>> have to start from installing linux on this
machine. Is it worth the<BR>>>> effort<BR>>>>> ?) If it
requires higher configuration, would you please suggest a<BR>>>>
lighter<BR>>>>> graphical tool that I can use to present the
occurrence of events and<BR>>>> the<BR>>>>>
corresponding times?<BR>>>>><BR>>>>>
Thanks,<BR>>>>> Krishna Chaitanya
K<BR>>>>><BR>>>>> On Fri, Mar 21, 2008 at 8:23 PM,
Anthony Chan <<A href="mailto:chan@mcs.anl.gov"
target=_blank>chan@mcs.anl.gov</A>><BR>>>>
wrote:<BR>>>>><BR>>>>>><BR>>>>>><BR>>>>>>
On Fri, 21 Mar 2008, Krishna Chaitanya
wrote:<BR>>>>>><BR>>>>>>><BR>>>>>>>
The file block pointer to the Tree Directory is NOT
initialized!,<BR>>>> can't<BR>>>>>>
read<BR>>>>>>>
it.<BR>>>>>>><BR>>>>>><BR>>>>>>
That means the slog2 file isn't generated completely. Something
went<BR>>>>>> wrong in the convertion process (assuming your
clog2 file is<BR>>>> complete).<BR>>>>>> If your MPI
program doesn't finish MPI_Finalize normally, your
clog2<BR>>>>>> file will be
incomplete.<BR>>>>>><BR>>>>>>><BR>>>>>>>
IS there any environment variable that needs to
be<BR>>>>
initialsed?<BR>>>>>><BR>>>>>> Nothing needs to
be initialized by hand.<BR>>>>>><BR>>>>>>
A.Chan<BR>>>>>>><BR>>>>>>>
Thanks,<BR>>>>>>> Krishna Chaitanya
K<BR>>>>>>><BR>>>>>>><BR>>>>>>>
On Thu, Mar 20, 2008 at 4:56 PM, Dave Goodell <<A
href="mailto:goodell@mcs.anl.gov"
target=_blank>goodell@mcs.anl.gov</A>><BR>>>>>>
wrote:<BR>>>>>>><BR>>>>>>>> It's
pretty hard to debug this issue via email. However, you
could<BR>>>>>>>> try running valgrind on your modified
MPICH2 to see if any obvious<BR>>>>>>>> bugs pop out.
When you do, make sure that you configure with
"--<BR>>>>>>>> enable-g=dbg,meminit" in order to avoid
spurious warnings and to be<BR>>>>>>>> able to see
stack
traces.<BR>>>>>>>><BR>>>>>>>>
-Dave<BR>>>>>>>><BR>>>>>>>> On Mar
19, 2008, at 1:05 PM, Krishna Chaitanya
wrote:<BR>>>>>>>><BR>>>>>>>>>
The problem seems to be with the communicator in MPI_Bcast()<BR>>>>
(/src/<BR>>>>>>>>>
mpi/coll/bcast.c).<BR>>>>>>>>> The comm_ptr is
initialized to NULL and after a call to<BR>>>>>>>>>
MPID_Comm_get_ptr( comm, comm_ptr ); , the comm_ptr points to
the<BR>>>>>>>>> communicator object which was
created throught MPI_Init().<BR>>>>>>>>> However,
MPID_Comm_valid_ptr( comm_ptr, mpi_errno ) returns
with<BR>>>> a<BR>>>>>>>>> value other than
MPI_SUCCESS.<BR>>>>>>>>> During some traces, it used
to crash at this point itself. On some<BR>>>>>>>>>
other traces, it used to go into the progress engine as I<BR>>>>
described<BR>>>>>>>>> in my previous
mails.<BR>>>>>>>>><BR>>>>>>>>>
What could be the reason? Hope someone chips in. I havent
been<BR>>>> able<BR>>>>>>>>> to figure this
out for sometime
now.<BR>>>>>>>>><BR>>>>>>>>>
Krishna Chaitanya
K<BR>>>>>>>>><BR>>>>>>>>> On
Wed, Mar 19, 2008 at 8:44 AM, Krishna
Chaitanya<BR>>>>>>>>> <<A
href="mailto:kris.c1986@gmail.com"
target=_blank>kris.c1986@gmail.com</A>>
wrote:<BR>>>>>>>>> This might help
:<BR>>>>>>>>><BR>>>>>>>>> In
the MPID_Comm structure, I have included the following line
for<BR>>>>>>>>> the peruse place-holder
:<BR>>>>>>>>> struct mpich_peruse_handle_t**
c_peruse_handles;<BR>>>>>>>>><BR>>>>>>>>>
And in the function, MPID_Init_thread(), i have the
line<BR>>>>>>>>>
MPIR_Process.comm_world->c_peruse_handles =
NULL;<BR>>>>>>>>> when the rest of the members
of the comm_world structure are<BR>>>>
being<BR>>>>>>>>>
populated.<BR>>>>>>>>><BR>>>>>>>>>
Thanks,<BR>>>>>>>>> Krishna Chaitanya
K<BR>>>>>>>>><BR>>>>>>>>><BR>>>>>>>>><BR>>>>>>>>>
On Wed, Mar 19, 2008 at 8:19 AM, Krishna
Chaitanya<BR>>>>>>>>> <<A
href="mailto:kris.c1986@gmail.com"
target=_blank>kris.c1986@gmail.com</A>>
wrote:<BR>>>>>>>>> Thanks for the help. I am facing
an weird problem right now. To<BR>>>>>>>>>
incorporate the PERUSE component, I have modified the
communicator<BR>>>>>>>>> data structure to incude
the PERUSE handles. The program executes<BR>>>>>>>>>
as expected when compiled without the "mpe=mpilog" flag.When
I<BR>>>>>>>>> compile it with the mpe component, the
program gives this output
:<BR>>>>>>>>><BR>>>>>>>>>
Fatal error in MPI_Bcast: Invalid communicator, error
stack:<BR>>>>>>>>> MPI_Bcast(784):
MPI_Bcast(buf=0x9260f98, count=1, MPI_INT,
root=0,<BR>>>>>>>>> MPI_COMM_WORLD)
failed<BR>>>>>>>>> MPI_Bcast(717): Invalid
communicator<BR>>>>>>>>><BR>>>>>>>>>
On tracing further, I understood this :<BR>>>>>>>>>
MPI_Init () ( log_mpi_core.c )<BR>>>>>>>>>
-- > PMPI_Init ( the communicator object is created here
)<BR>>>>>>>>> -- > MPE_Init_log
()<BR>>>>>>>>> -- >
CLOG_Local_init()<BR>>>>>>>>>
-- > CLOG_Buffer_init4write
()<BR>>>>>>>>>
-- >
CLOG_Preamble_env_init()<BR>>>>>>>>>
-- > MPI_Bcast ()
(bcast.c)<BR>>>>>>>>>
-- > MPIR_Bcast
()<BR>>>>>>>>>
-- > MPIC_Recv ()
/<BR>>>>>>>>>
MPIC_Send()<BR>>>>>>>>>
-- >
MPIC_Wait()<BR>>>>>>>>>
< Program crashes
><BR>>>>>>>>> The MPIC_Wait
function is invoking the progress engine,
which<BR>>>>>>>>> works properly without the mpe
component.<BR>>>>>>>>> Even
within the progress engine, MPIDU_Sock_wait()
and<BR>>>>>>>>>
MPIDI_CH3I_Progress_handle_sock_event() are executed a couple
of<BR>>>>>>>>> times before the program crashes in
the MPIDU_Socki_handle_read()<BR>>>>>>>>> or the
MPIDU_Socki_handle_write() functions. ( The read() and
the<BR>>>>>>>>> write() functions work two times, I
think)<BR>>>>>>>>> I am finding
it very hard to reason why the program
crashes<BR>>>>>>>>> with mpe. Could you please
suggest where I need to look at to sort<BR>>>>>>>>>
this issue
out?<BR>>>>>>>>><BR>>>>>>>>>
Thanks,<BR>>>>>>>>> Krishna Chaitanya
K<BR>>>>>>>>><BR>>>>>>>>> On
Wed, Mar 19, 2008 at 2:20 AM, Anthony Chan <<A
href="mailto:chan@mcs.anl.gov"
target=_blank>chan@mcs.anl.gov</A>><BR>>>>>>>>>
wrote:<BR>>>>>>>>><BR>>>>>>>>><BR>>>>>>>>>
On Wed, 19 Mar 2008, Krishna Chaitanya
wrote:<BR>>>>>>>>><BR>>>>>>>>>>
Hi,<BR>>>>>>>>>>
I tried configuring MPICH2 by doing
:<BR>>>>>>>>>> ./configure
--prefix=/home/kc/mpich-install/
--enable-mpe<BR>>>>>>>>>> --with-logging=SLOG
CC=gcc CFLAGS=-g && make && make
install<BR>>>>>>>>>>
It flashed an error messaage saying
:<BR>>>>>>>>>> onfigure: error:
./src/util/logging/SLOG does not exist.<BR>>>>>>>>>
Configure
aborted<BR>>>>>>>>><BR>>>>>>>>>
The --with-logging is for MPICH2's internal logging, not
MPE's<BR>>>>>>>>>
logging.<BR>>>>>>>>> As what you did below is fine
is
fine.<BR>>>>>>>>>><BR>>>>>>>>>>
After that, I tried
:<BR>>>>>>>>>> ./configure
--prefix=/home/kc/mpich-install/ --enable-mpe
CC=gcc<BR>>>>>>>>>
CFLAGS=-g<BR>>>>>>>>>> && make &&
make install<BR>>>>>>>>>>
The installation was normal, when I tried compiling
an<BR>>>>>>>>>
example<BR>>>>>>>>>> program by doing
:<BR>>>>>>>>>> mpicc -mpilog -o sample
sample.c<BR>>>>>>>>>> cc1: error:
unrecognized command line option
"-mpilog"<BR>>>>>>>>><BR>>>>>>>>>
Do "mpicc -mpe=mpilog -o sample sample.c" instead. For
more<BR>>>> details,<BR>>>>>>>>> see "mpicc
-mpe=help" and see
mpich2/src/mpe2/README.<BR>>>>>>>>><BR>>>>>>>>>
A.Chan<BR>>>>>>>>><BR>>>>>>>>>><BR>>>>>>>>>>
Can anyone please tell me what needs to be
done to use<BR>>>>>>>>> the
SLOG<BR>>>>>>>>>> logging
format?<BR>>>>>>>>>><BR>>>>>>>>>>
Thanks,<BR>>>>>>>>>> Krishna Chaitanya
K<BR>>>>>>>>>><BR>>>>>>>>>><BR>>>>>>>>>><BR>>>>>>>>>><BR>>>>>>>>>><BR>>>>>>>>>>
--<BR>>>>>>>>>> In the middle of difficulty, lies
opportunity<BR>>>>>>>>>><BR>>>>>>>>><BR>>>>>>>>><BR>>>>>>>>><BR>>>>>>>>><BR>>>>>>>>>
--<BR>>>>>>>>> In the middle of difficulty, lies
opportunity<BR>>>>>>>>><BR>>>>>>>>><BR>>>>>>>>><BR>>>>>>>>>
--<BR>>>>>>>>> In the middle of difficulty, lies
opportunity<BR>>>>>>>>><BR>>>>>>>>><BR>>>>>>>>><BR>>>>>>>>>
--<BR>>>>>>>>> In the middle of difficulty, lies
opportunity<BR>>>>>>>><BR>>>>>>>><BR>>>>>>><BR>>>>>>><BR>>>>>>>
--<BR>>>>>>> In the middle of difficulty, lies
opportunity<BR>>>>>>><BR>>>>>><BR>>>>>><BR>>>>><BR>>>>><BR>>>>>
--<BR>>>>> In the middle of difficulty, lies
opportunity<BR>>>>><BR>>>><BR>>>><BR>>><BR>>><BR>>>
--<BR>>> In the middle of difficulty, lies
opportunity<BR>>><BR>><BR>><BR>><BR>> --<BR>> In the
middle of difficulty, lies
opportunity<BR>><BR><BR></DIV></DIV></BLOCKQUOTE></DIV><BR><BR
clear=all><BR></DIV></DIV>-- <BR>
<DIV>
<DIV></DIV>
<DIV class=Wj3C7c>In the middle of difficulty, lies opportunity
</DIV></DIV></BLOCKQUOTE></DIV><BR><BR clear=all><BR>-- <BR>In the middle of
difficulty, lies opportunity </BODY></HTML>