[MPICH] problems linking with mpe

Anthony Chan chan at mcs.anl.gov
Mon Jan 15 01:24:46 CST 2007



On Mon, 15 Jan 2007, David Minor wrote:

> Ah,
> So that's the problem. Yes I'm using pthreads.
> I assume you're hinting there IS thread support in a non-released
> version.  I'd be happy to give it a try.

There is a version of MPE that supports pthread but we are not intented to
release it as there exists a better thread logging mechanism that we are
working on.  Also, do you have MPE logging calls in your code, i.e. MPE
user-defined states ?  If you don't, thing will be easy, i.e. you just
link in the new logging libraries.  If you do, you need to add some macros
around those MPE calls in your code.  If you are willing to do that, then
I would try to clean up the code a bit and give you a copy.

A.Chan

> Regards,
> David
>
> -----Original Message-----
> From: Anthony Chan [mailto:chan at mcs.anl.gov]
> Sent: Sunday, January 14, 2007 8:18 PM
> To: David Minor
> Cc: mpich-discuss at mcs.anl.gov
> Subject: RE: [MPICH] problems linking with mpe
>
>
> None of the released MPE versions has thread support ? What thread library
> are you using, e.g. pthread ?
>
> A.Chan
>
> On Sun, 14 Jan 2007, David Minor wrote:
>
> > Hi Anthony,
> > The linking seems to be fine. I turned the dll's into static libs, still no logs.  Perhaps mpe doesn't override MPI_Init_thread?  I'd like to set a break point at the first place an mpe call should be made. What would you recommend?
> > Regards,
> > David
> >
> > -----Original Message-----
> > From: Anthony Chan [mailto:chan at mcs.anl.gov]
> > Sent: Monday, January 08, 2007 12:46 PM
> > To: David Minor
> > Cc: mpich-discuss at mcs.anl.gov
> > Subject: Re: [MPICH] problems linking with mpe
> >
> >
> > Hi David,
> >
> > On Mon, 8 Jan 2007, David Minor wrote:
> >
> > > I agree the problem is not with mpe. I'm clearly doing something wrong
> > > with linking or perhaps the run-time linker isn't linking things in the
> > > proper order. I use the term dll as a generic term for "dynamic linked
> > > library", on linux they have a .so suffix and on windows .dll. I'm
> > > working in linux. I have a dll and an executable. The executable is
> > > launched by mpiexec, run from another program, all environemnt variables
> > > are passed in and the program runs correctly. There are simply no log
> > > files created either in /tmp or in the working directory. if I do nm
> > > [binary file] | c++filt | grep -i mpe | wc -l, I get 50 on both the dll
> > > and the executable file (same results for cpi as well), meaning there
> > > are 50 symbols with MPE_ in them. I'm also using c++ not c, if that
> > > makes a difference. What could be preventing the logging from taking
> > > place?
> >
> > I actually don't know what exactly went wrong in your app.  Since MPE
> > logging is enabled through a specific linking order, my guess is that
> > some(if not all) of your .so files may not have their symbols resolved
> > correctly with liblmpe.a and libmpe.a.  Having MPE symbols does not
> > necessarily mean that linking order is done correctly.  Since you are
> > using C++, I would think that you need to resolve all MPI C++ binding
> > first, i.e. that is the linking order should
> > ...  -lmpichcxx -llmpe -lmpe -lmpich ...
> > Is it what you did ?
> >
> > A.Chan
> >
> >
>
>




More information about the mpich-discuss mailing list