On Mar 9, 2006, at 9:28 PM, Greg Lindahl wrote:

On Thu, Mar 09, 2006 at 09:13:46PM -0500, Brian Barrett wrote:

I think I have this fixed on the trunk.  It looks like PGI tried to
make the 6.1 compilers support GCC inline assembly, but it doesn't
look like it's 100% correct,

... and that's no surprise. The spec in the gcc info pages doesn't
reflect reality, and with our compiler, I filed 20 bugs before we got
gmp (gnu multi-precision library, a heavy user of inline assembly) to
work.

Doctor, it hurts when I do this...

Yes, the inline assembly is the second least favorite part of the Open MPI code base for me. And we don't even do that much complicated with our inline assembly (memory barriers on platforms that need them, spinlocks, and atomic add). The part I found interesting is it's the only compiler I've run into to date where the C compiler handled the super-simple test properly and the C++ compiler did not. Oh well, it works well enough for our purposes, so on to more broken things.

The least favorite, of course, is the games we have to play to deal with free() and pinned memory caching. But that's a different story altogether...


Brian

--
  Brian Barrett
  Open MPI developer
  http://www.open-mpi.org/


Reply via email to