Re: [OMPI devel] Build failures of 1.2.3 on Debian hppa, mips, mipsel, s390, m68k
On Sat, Jul 14, 2007 at 10:47:52AM -0600, Brian Barrett wrote:
> Open MPI uses some assembly for things like atomic locks, atomic
> compare and swap, memory barriers, and the like.
[...]
> We don't currently have support for a non-assembly code path. We
> originally planned on having one, but the team went away from that
> route over time and there's no way to build Open MPI without assembly
> support right now.
Hi Brian,
PA-RISC (aka hppa) has only two atomic instructions -- load and clear
word and load and clear doubleword (ie 32-bit and 64-bit -- and the
latter is available only on 64-bit platforms). In addition, the address
of the word/dword must be 32-byte aligned [1].
This makes implementing atomic functionality "interesting", to say
the least. Carlos O'Donell has implemented some kernel helper routines
to aide this, but that would tie the implementation to linux -- I don't
know if you care to support HPUX or not.
If you can implement a non-assembly codepath in terms of POSIX
constructs, that would be enormously helpful, albeit somewhat
slower on some architectures. Another non-assembly approach which
might be of interest would be to use the functions documented here:
http://gcc.gnu.org/onlinedocs/gcc/Atomic-Builtins.html
This sounds like it would match your requirements somewhat better.
[1] This is according to the architecture specifications. In terms of
implementations, the restriction is relaxed on more recent processors.
--
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours. We can't possibly take such
a retrograde step."
Reply to:
- Prev by Date:
Re: mouseemu
- Next by Date:
Re: Build failures of 1.2.3 on Debian hppa, mips, mipsel, s390, m68k
- Previous by thread:
Re: [OMPI devel] Build failures of 1.2.3 on Debian hppa, mips, mipsel, s390, m68k
- Next by thread:
Re: [OMPI devel] Build failures of 1.2.3 on Debian hppa, mips, mipsel, s390, m68k
- Index(es):