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/