[Pkg-openmpi-maintainers] Bug#376833: Bug#376833: Next steps
Jeff Squyres
jsquyres at cisco.com
Thu Mar 20 00:47:53 UTC 2008
Guess what? Brian sent a long list of thoughts and a patch for "75%
of the work" to support libatomic-ops in Open MPI (as a backup for
platforms that we don't support with our native assembly). The
remaining 25% requires access to the platforms that we don't support
-- so perhaps that's appropriate for you guys to tackle...?
I put up the information Brian sent on our wiki:
https://svn.open-mpi.org/trac/ompi/wiki/libatomic-ops
I branched from our SVN trunk and applied his patch -- the SVN URL you
can check out is (it contains his patch):
https://svn.open-mpi.org/svn/ompi/tmp-public/libatomic-ops
Be sure to see our "how to compile OMPI from SVN" page:
http://www.open-mpi.org/svn/building.php
How does this sound?
On Mar 19, 2008, at 9:41 AM, Jeff Squyres wrote:
> On Mar 18, 2008, at 12:10 PM, Dirk Eddelbuettel wrote:
>
>> | What platforms in particular are not supported that Debian wants?
>>
>> We havevery good success with Open MPI on
>>
>> i386 amd64 alpha ia64 powerpc sparc
>>
>> and we are out of luck on
>>
>> arm [ and a new variant armel with fpu support was added IIRC ]
>> hppa
>> m68k [ though that architecture may get purged ... ]
>> mips [ there are some compute blades using this IIRC ]
>> mipsel
>> s390
>
> FWIW, I'm not aware of any current OMPI members who care about these
> platforms.
>
>> The copyright at
>> http://packages.debian.org/changelogs/pool/main/liba/libatomic-ops/current/copyright
>> says downloaded from
>>
>> http://www.hpl.hp.com/research/linux/atomic_ops/download.php4
>
> Perfect; thanks.
>
>> Is/Was HP part of Open MPI ? Or are they 'neutral', or worse in
>> 'enemy
>> territory' ?
>
> HP is a big company. :-)
>
> I believe that part of HP doesn't care about Open MPI, but most of
> the HPC portion HP is probably against Open MPI because HP sells
> their own MPI (HP MPI). So HP will likely never be a formal member
> of the Open MPI Project.
>
> But we all work together; the MPI implementor community is fairly
> small and many of us know each other. We have good working
> relationships. Part of the goal of Open MPI is to come up with good
> ideas and let others use them. :-)
>
>> | 1. license: Open MPI is BSD -- what's libtatomics-ops-dev?
>>
>> Looks similar to me -- but see at the link above.
>>
>> Mentions the GPL for subcomponents tests and sample apps, so looks
>> like this
>> is not an issue.
>
> I sent the link for the project to a few OMPI developers yesterday,
> and our collective IANAL opinion is that only one sub-library in
> libatomics_ops needs to be avoided (because it's specifically GPL)
> -- all other library bits are MIT and therefore are ok.
>
>> | 2. portability: does it work outside of Linux? Does it work with
>> non-
>> | gcc compilers? The first is surmountable (see below), but the
>> second
>> | would be quite difficult to fix -- we would likely need fixes
>> from the
>> | libatomics-ops-dev maintainers.
>>
>> Good points. Dunno -- we tend to be gcc only as far as Debian goes,
>> but this
>> _should_ be vanilla C.
>
> It's not the C that's the problem -- it's the assembly. It *looks*
> like they use inline assembly only, and not all compilers support
> that. This is somewhat of a dealbreaker for us -- meaning that we
> couldn't make this the default / only option available.
>
> More below.
>
>> | 3. distribution: we have a core philosophy of aggressively trying
>> to
>> | decrease the number of dependencies of Open MPI to enable simple
>> | download/install by novice users (we can't always succeed in
>> this, but
>> | we do try). To this point, we have embedded a few "core"
>> dependencies
>> | in the Open MPI source code distribution itself so that you don't
>> have
>> | to have them installed to build/run Open MPI (e.g., particularly on
>> | platforms that may not have them already installed, such as OS X or
>> | Solaris). The atomic operations likely fit into this category such
>> | that the OMPI community may be resistant to requiring a 3rd party
>> | library just to be able to install/run.
>> |
>> | One *possibility* is that we could use the included atomics unless
>> | specifically directed to use libatomic-ops (e.g., via a configure
>> | option such as --with-libatomic-ops=/foo). There's lots of
>> "if's" in
>> | there, though -- if the license is compatible, if the library meets
>> | our needs, ...etc. So we would need to investigate a few things
>> first.
>
> The consensus yesterday was:
>
> - license looks ok, but needs official review
> - looks like they support all the atomic ops we need except for timers
> - we could probably make a patch for a --with-libatomic-ops
> configure switch that would swap out our default atomic ops with
> libatomic_ops
>
> Brian (the developer who isn't officially on our project anymore,
> but OMPI is still in his heart...) said he could look at making up
> such a patch. I wouldn't want to estimate a timeline, though.
>
> We probably will not be embedding this package in Open MPI because:
>
> - it doesn't work for all compilers
> - it doesn't work for all OS's / platforms
> - and therefore it won't be our default/core
>
> Hence, linking to it via an external header / library is fine.
>
> --
> Jeff Squyres
> Cisco Systems
>
--
Jeff Squyres
Cisco Systems
More information about the Pkg-openmpi-maintainers
mailing list