freepooma-devel
[Top][All Lists]
Advanced

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

Re: [pooma-dev] Re: [PATCH] Robustify async MPI request handling


From: Jeffrey D. Oldham
Subject: Re: [pooma-dev] Re: [PATCH] Robustify async MPI request handling
Date: Tue, 17 Aug 2004 08:25:42 -0700
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040413 Debian/1.6-5

Richard Guenther wrote:

On Mon, 16 Aug 2004, Jeffrey D. Oldham wrote:

Richard Guenther wrote:

The following patch fixes an error and robustifies MPI request handling.

Tested by having it in my local tree for a long time.

Ok?

Richard.


2004Aug16  Richard Guenther <address@hidden>

   * src/Threads/IterateSchedulers/SerialAsync.h: Guard against
   LAM MPI automatically dragging in C++ support, fix message
   polling return value check, complete messages first, remove
   unused variable.
What problems does mpicxx.h cause?  I am both curious and want to know
so I can approve the patch.

The problem is incompatible C++ ABIs for the compiler used to build LAM
(gcc 2.95) and the compiler I try to build POOMA with (gcc 3.4), so
linking will fail either with ABI problems or missing symbols if not
linking the C++ support libraries (as the header somehow manages to pull
symbols regardless of not using any of the C++ support).  As we don't use
any of the MPI C++ API we don't need its declarations either.  Other
MPI implementations require you to explicitly pull mpicxx.h, but LAM aims
to be clever in just doing

#ifdef __cplusplus
#include <mpicxx.h>
#endif

which I think is a bug in LAM, but can be easily worked around by us.

But I can leave this chunk of the patch out, if you like.
I now understand:
o mpicxx.h contains the C++ interface to MPI.
o Pooma does not use this MPI interface.

I am confused about LAM and gcc 2.95 since I sometimes use LAM with gcc 3.x.y. If your problem goes away by using gcc 3.4 with LAM, let's omit this special-purpose code and commit the rest of this patch. Otherwise, the entire patch is fine.

Richard.

------------------------------------------------------------------------

Index: SerialAsync.h
===================================================================
RCS file: 
/home/pooma/Repository/r2/src/Threads/IterateSchedulers/SerialAsync.h,v
retrieving revision 1.11
diff -u -u -r1.11 SerialAsync.h
--- SerialAsync.h       8 Jan 2004 21:45:49 -0000       1.11
+++ SerialAsync.h       16 Aug 2004 19:22:33 -0000
@@ -72,6 +72,7 @@
#include <stack>
#include "Pooma/Configuration.h"
#if POOMA_MPI
+# define MPIPP_H  // prevent lam mpicxx.h from being included
# include <mpi.h>
#endif


--
Jeffrey D. Oldham
address@hidden


--
Richard Guenther <richard dot guenther at uni-tuebingen dot de>
WWW: http://www.tat.physik.uni-tuebingen.de/~rguenth/



--
Jeffrey D. Oldham
address@hidden

reply via email to

[Prev in Thread] Current Thread [Next in Thread]