[openfabrics-ewg] Default and per-user MPI selections
Jeff Squyres
jsquyres at cisco.com
Tue Aug 29 06:35:42 PDT 2006
On 8/29/06 9:32 AM, "Steffen Persvold" <sp at scali.com> wrote:
> What's so difficult with doing :
>
> $ . /opt/scali/etc/scampivars.sh
That's fine for the local node, but it does not necessarily work for the
remote nodes when you mpirun in rsh/ssh environments (e.g., Open MPI and
MVAPICH2 require the ability to find helper applications on remote nodes).
> In the HPC community, people also like to use "modules" :
>
> $ module load mpi/scali
Right -- this is the environment modules/switcher solution that I mentioned.
Environment modules are great, but they are also a local-only solution. The
"switcher" package that I mentioned is a trivial persistence layer on top of
environment modules.
>> -----Original Message-----
>> From: openfabrics-ewg-bounces at openib.org [mailto:openfabrics-ewg-
>> bounces at openib.org] On Behalf Of Jeff Squyres
>> Sent: Tuesday, August 29, 2006 9:14 AM
>> To: Open Fabrics
>> Subject: [openfabrics-ewg] Default and per-user MPI selections
>>
>> All --
>>
>> I think we need to re-visit the which-MPI-to-put-in-the-PATH issue.
>> Others
>> have previously expressed [strong] opinions that no MPI should be in
>> the
>> path; sysadmins and/or users can set their PATH/LD_LIBRARY_PATH however
>> they
>> want. I disagree with this for two reasons:
>>
>> 1. Editing shell startup files is trivial for IT
>> professionals/developers,
>> but can be a daunting task for a chemical engineer who doesn't
>> know/care how
>> the system works and just wants to run his/her HPC programs to get
>> results.
>>
>> 2. The job of the OFED installer is to make it *easier* to run HPC
>> applications. OFED does everything *except* put MPI in your path --
>> yet MPI
>> is the most highly visible protocol used in HPC. It seems pretty weird
>> (to
>> me) that we don't go the final few steps to provide a complete
>> solution.
>>
>> What do the Linux vendors will feel about installing software that is
>> intended for general use but is not put in the PATH/LD_LIBRARY_PATH?
>>
>> I think that OFED should have the capability of setting a system-wide
>> default MPI and/or setting a per-user default MPI. During
>> installation,
>> OFED should ask the sysadmin if they want a system-wide default MPI,
>> and if
>> so, which one. And then do the Right magic to make it so. I also
>> think
>> that OFED should provide a per-user mechanism to override the system-
>> default
>> MPI (something better than "edit your shell startup files and change
>> your
>> PATH/LD_LIBRARY_PATH").
>>
>> -----
>>
>> Doug Ledford has proposed a solution -- that the MPI implementations
>> use the
>> "alternatives" system (is "alternatives" also available in SLES?).
>> This
>> would require:
>>
>> A) the MPIs to be installed in non-default locations (e.g.,
>> /opt/openmpi*
>> and /opt/mvapich*)
>> --> This will require changing the builder scripts to allow
>> different
>> prefix values for OFED and each MPI installation (e.g., /usr for OFED,
>> /opt/openmpi-gnu for Open MPI compiled by GNU, /opt/openmpi-intel for
>> Open
>> MPI compiled by the Intel compilers, etc.).
>> --> The installer should also prompt as to which MPI should be the
>> default for the system (if any).
>>
>> B) use the "alternatives" mechanism to allow users to choose which MPI
>> to
>> use as the system default (i.e., would show up in /usr/bin and the
>> like)
>> --> This will require changing the specfile for both Open MPI and
>> MVAPICH. Both MPI implementations' specfiles must be done for this to
>> be
>> meaningful.
>>
>> Note that the "alternatives" system does not have the inherent ability
>> to
>> allow users to choose which MPI to use; "alternatives" only seems to
>> set a
>> system-wide default. If a user wants to use a different MPI, they can
>> prepend their PATH / LD_LIBRARY_PATH / etc. to avoid the one that is
>> found
>> in system default paths (e.g., /usr/bin).
>>
>> -----
>>
>> Another option is to use something like environment modules and the
>> "switcher" package from OSCAR to have both a system-wide default for
>> MPI and
>> allow users to et which MPI they want to use (if they want to override
>> the
>> system-wide default) without needing to edit their shell startup files.
>>
>> The changes for using modules/switcher are similar to those for using
>> "alternatives" (i.e., both options will take work to implement). There
>> are
>> other systems available that can be used as well (softenv comes to
>> mind; I
>> think there might be others, too).
>>
>> -----
>>
>> Comments?
>>
>> (obviously, this is not for OFED 1.1 -- this would be a 1.2 issue)
>>
>> --
>> Jeff Squyres
>> Server Virtualization Business Unit
>> Cisco Systems
>>
>> _______________________________________________
>> openfabrics-ewg mailing list
>> openfabrics-ewg at openib.org
>> http://openib.org/mailman/listinfo/openfabrics-ewg
--
Jeff Squyres
Server Virtualization Business Unit
Cisco Systems
More information about the ewg
mailing list