Commit Graph

132 Commits

Author SHA1 Message Date
Kevin Manalo
e8753fe972
OpenMPI - Update to 3.1.6 (#16496) 2020-05-06 18:12:14 -05:00
Jonathon Anderson
08f88b4be6
Add a gpfs variant to openmpi package (#15793)
Open MPI will detect and link against GPFS if it is present
on the system. This variant allows this to be disabled, even
if GPFS is present.
2020-05-02 11:07:50 -05:00
Carson Woods
27b7d4bd21
openmpi: add additional variants (#16044)
* Add variants to OpenMPI

* Add variant for toggling runpath

* Fix typo

* Remove blank line whitespace
2020-04-28 10:51:30 -05:00
Adam J. Stewart
28995b25bc
OpenMPI: add +cxx variant (#15477)
* OpenMPI: add +cxx variant

* C++ support will be removed in 5.0.X release
2020-04-17 16:29:50 -05:00
Howard Pritchard
f87dfb9828
openmpi: add version 4.0.3 (#15414)
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2020-03-10 09:01:02 +01:00
Sergey Kosukhin
2d1592cca7
OpenMPI: patch for NAG. (#15301) 2020-03-03 11:00:27 -06:00
Howard Pritchard
ba22af0de0 openmpi: swat btl/uct ucx 1.7 bug (#14522)
Unfortunately UCX 1.7.0 is appearing in RPMS before it's officially released.
There's a problem with Open MPI 4.0.x where x < 3 and this version of UCX,
namely that the UCT BTL fails to compile.

See https://github.com/open-mpi/ompi/issues/7128

This patch works around the problem by disabling the build of the UCT BTL
for releases 4.0.0 to 4.0.2.

add hppritcha (me) as maintainer

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2020-01-18 13:52:26 -06:00
Robert Mijakovic
a2f961bd6f Adds MPI_THREAD_MULTIPLE support for OpenMPI to the variant with UCX fabrics (#14194)
* Fixes:
1. MPI_THREAD_MULTIPLE problem with OpenMPI and UCX.

Changes:
1. OpenMPI provides two new depends_on options which result in UCX being compiled with multiple threads support. One implicit when OpenMPI 3.x is used, MPI_THREAD_MULTIPLE is enabled by default, and one explicit for OpenMPI <= 2.x, MPI_THREAD_MULTIPLE is disabled by default.
2. Extends UCX package to allow "Enable thread support in UCP and UCT" option.
3. Adds sha256 sums of UCX releases 1.6.1 and 1.2.0.

More details:
Fixes the issue with OpenMPI where programs which use MPI_THREAD_MULTIPLE will fail to execute because UCP worker didn't support it.
During the OpenMPI package installation it's the +thread_multiple spec was not propagated to UCX nor UCX handled it at all.
Now, the OpenMPI package is capable of handling +thread_multiple spec when UCX is request and the UCX package correctly handles +thread_multiple and compiles with the --enable-mt option.
Error message during runtime:
pml_ucx.c:226 Error: UCP worker does not support MPI_THREAD_MULTIPLE

* Adapts check of specs to read better and is the suggested form in the docs.

* Explicitly disables multithreading of UCX if +thread_multiple option is not used.
2020-01-15 12:31:18 -06:00
Todd Gamblin
4af6303086
copyright: update copyright dates for 2020 (#14328) 2019-12-30 22:36:56 -08:00
justbennet
b83365c945 Updating preferred OpenMPI version to 3.1.5 (#14266) 2019-12-22 11:59:21 -08:00
Howard Pritchard
399336ae89 openmpi: add 3.1.5 and 3.0.5 (#13918)
Note to spack people: these are expected to be end of line releases for both the 3.1.5 an 3.0.5 releases

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2019-11-27 14:02:05 -06:00
sknigh
260a4c4904 Days since OpenMPI+UCX trashed my cluster: 0 (#13818) 2019-11-26 12:20:17 -06:00
Daniel Topa
93e87474fb dd Open MPI v. 4.0.2 (#13257)
Verification builds on LANL Darwin x86_64, ARM, and, Power9:

x86_64: OPTANE
dantopa@cn733:pr-openmpi-4.0.2.spack $ spack arch
linux-centos7-skylake_avx512

$ spack install openmpi @ 4.0.2 % gcc @ 4.8.5
...
==> Installing openmpi
...
==> Successfully installed openmpi
  Fetch: 2m 15.65s.  Build: 6m 13.17s.  Total: 8m 28.82s.
[+] /scratch/users/dantopa/new-spack/pr-openmpi-4.0.2.spack/opt/spack/linux-centos7-haswell/gcc-4.8.5/openmpi-4.0.2-jrypg7vfnk6nl5if2rnzt65wdrjelxsq

NEHALEM
$ spack arch
linux-centos7-nehalem

$ spack install openmpi @ 4.0.2 % gcc @ 4.8.5
...
==> Installing openmpi
...
==> Successfully installed openmpi
  Fetch: 50.48s.  Build: 9m 11.45s.  Total: 10m 1.93s.
[+] /scratch/users/dantopa/new-spack/pr-openmpi-4.0.2.spack/opt/spack/linux-centos7-nehalem/gcc-4.8.5/openmpi-4.0.2-4jz3bcwjci44taizt4jqzxqh4y75uswc

ARM
$ spack arch
linux-rhel7-aarch64

$ spack install openmpi @ 4.0.2 % gcc @ 4.8.5
...
==> Installing openmpi
...
==> Successfully installed openmpi
  Fetch: 1m 10.47s.  Build: 11m 41.45s.  Total: 12m 51.92s.
[+] /scratch/users/dantopa/new-spack/pr-openmpi-4.0.2.spack/opt/spack/linux-rhel7-aarch64/gcc-4.8.5/openmpi-4.0.2-ygr77roadqzdnsdgqz3uactjqnb5nayn

POWER9
$ spack arch
linux-rhel7-power9le

$ spack install openmpi @ 4.0.2 % gcc @ 4.8.5
==> Warning: Using GCC 4.8 to optimize for Power 8 might not work if you are not on Red Hat Enterprise Linux 7, where a custom backport of the feature has been done. Upstream support from GCC starts in version 4.9
...
==> Installing openmpi
...
==> Successfully installed openmpi
  Fetch: 23.95s.  Build: 9m 7.67s.  Total: 9m 31.62s.
[+] /scratch/users/dantopa/new-spack/pr-openmpi-4.0.2.spack/opt/spack/linux-rhel7-power8le/gcc-4.8.5/openmpi-4.0.2-cid4wfzr2iwgz6ybhkexludwu7koi266

$ spack find -ldf openmpi
==> 4 installed packages
-- linux-centos7-haswell / gcc@4.8.5 ----------------------------
jrypg7v openmpi@4.0.2%gcc
lliismp     hwloc@1.11.11%gcc
7dqpxas         libpciaccess@0.13.5%gcc
viidrh5         libxml2@2.9.9%gcc
yhvj3br         numactl@2.0.12%gcc
pkmj6e7     zlib@1.2.11%gcc

-- linux-centos7-nehalem / gcc@4.8.5 ----------------------------
4jz3bcw openmpi@4.0.2%gcc
pcauu6w     hwloc@1.11.11%gcc
yiqf6bj         libpciaccess@0.13.5%gcc
wpfgqf2         libxml2@2.9.9%gcc
fd2xpnm         numactl@2.0.12%gcc
xguzaxf     zlib@1.2.11%gcc

-- linux-rhel7-aarch64 / gcc@4.8.5 ------------------------------
ygr77ro openmpi@4.0.2%gcc
omy3xi2     hwloc@1.11.11%gcc
6a4he35         libpciaccess@0.13.5%gcc
txqo4cc         libxml2@2.9.9%gcc
m5neuus         numactl@2.0.12%gcc
67s2oqn     zlib@1.2.11%gcc

-- linux-rhel7-power8le / gcc@4.8.5 -----------------------------
cid4wfz openmpi@4.0.2%gcc
zcdnwb3     hwloc@1.11.11%gcc
lencfon         libpciaccess@0.13.5%gcc
bve4jop         libxml2@2.9.9%gcc
kajzqwg         numactl@2.0.12%gcc
tjbynt2     zlib@1.2.11%gcc

Thu Oct 17 19:02:50 MDT 2019

Signed-off-by: Daniel Topa <dantopa@lanl.gov>
2019-10-31 14:57:50 -07:00
Gregory Lee
4626c28c27 fix openmpi wrappers with libfabric (#13439)
* fix openmpi wrappers with libfabric

* flake8 fix

* flake8 fix

* openmpi fix deprecated API

* openmpi fix deprecated API
2019-10-29 23:09:21 -05:00
Todd Gamblin
62927654dd checksums: use sha256 checksums everywhere
We'd like to use a consistent checksum scheme everywhere so that we can:

    a) incorporate archive checksums into our specs and have a
       consistent hashing algorithm across all specs.

    b) index mirrors with a consistent type of checksum, and not one that
       is dependent on how spack packages are written.

- [x] convert existing md5, sha224, sha512, sha1 checksums to sha256
2019-10-12 07:19:43 -07:00
Alberto Chiusole
f3bf89ebfe OpenMPI: add support for pbs/tm at configure. (#10620) 2019-07-03 14:07:51 -07:00
Dustin Wheeler
8804fbd891 Add LSF dependency for OpenMPI (#11532)
* Add LSF package, which cannot be installed by Spack and must be
  system-installed. The package install will fail if no external
  LSF is registered in packages.yaml (LSF may not be installed in a
  well-known location and the external entry helps Spack locate it
  for dependents).
* Add LSF dependency to OpenMPI when schedulers=lsf is chosen
2019-05-29 10:38:55 -07:00
Dustin Wheeler
c2e087c411 Fix typo in openmpi@2.1.6 libmpi.so comment. (#11529) 2019-05-22 10:37:33 -05:00
Glenn Johnson
d1ea5ba2cd OpenMPI: update behavior for fabrics/schedulers=auto (#11431)
* When fabrics=auto or schedulers=auto, the intent is to defer to the
  OpenMPI configure and let it determine and use what it finds
  available on the system. The current behavior for 'with_or_without'
  in the case of 'auto' explicitly disables all possible values.
  This updates the logic to call 'with_or_without' only when the
  value of fabrics/schedulers is not 'auto'.
* To allow explicitly disabling all fabrics/schedulers, each of these
  variants has added support for 'none' (which is also the default
  value).
* Add a conflict for the loadleveler scheduler for openmpi-3 and
  above as it is no longer a valid configure option.
2019-05-20 17:52:17 -07:00
Daniel Topa
c7725e9ff8 Add Open MPI v3.0.4 (#11221)
tarball posted 2019-04-15
https://www.open-mpi.org/software/ompi/v3.0/

dantopa@cn209:openmpi-3.0.4-5ienfvwpcxky3nz5jt3rygxzxzltkwm4 $ cd lib/

dantopa@cn209:lib $ ls -alh
total 27M
...
lrwxrwxrwx 1 dantopa dantopa   16 Apr 17 10:01 libmpi.so -> libmpi.so.40.0.5

confirmation builds Darwin (LANL):

x86_64
-- linux-centos7-x86_64 / gcc@4.8.5 -----------------------------
5ienfvw    openmpi@3.0.4%gcc
bkkhvej        ^hwloc@1.11.11%gcc
5chyfxo            ^libpciaccess@0.13.5%gcc
bcnjbc3            ^libxml2@2.9.8%gcc
tt2hkol            ^numactl@2.0.12%gcc
64vg6e4        ^zlib@1.2.11%gcc

ARM
-- linux-rhel7-aarch64 / gcc@4.8.5 ------------------------------
cq2y6b3    openmpi@3.0.4%gcc
7gqvelc        ^hwloc@1.11.11%gcc
6a4he35            ^libpciaccess@0.13.5%gcc
6a5uzd6            ^libxml2@2.9.8%gcc
m5neuus            ^numactl@2.0.12%gcc
67s2oqn        ^zlib@1.2.11%gcc

Power9
-- linux-rhel7-ppc64le / gcc@4.8.5 ------------------------------
otirvfn    openmpi@3.0.4%gcc
r6cylpu        ^hwloc@1.11.11%gcc
uzm3xdv            ^libpciaccess@0.13.5%gcc
trik6hj            ^libxml2@2.9.8%gcc
pmgndwh            ^numactl@2.0.12%gcc
4v3ticy        ^zlib@1.2.11%gcc

2019-04-18

Signed-off-by: Daniel Topa <dantopa@lanl.gov>
2019-04-18 12:33:26 -05:00
sknigh
a287ad6edd Added openmpi 3.1.4 (#11201)
* Added openmpi 3.1.4

* fix suffix comment
2019-04-16 18:31:54 -05:00
Denis Davydov
82455a30d0 openmpi: add 4.0.1 (#11126)
* openmpi: add 4.0.1

* openmpi: enable-mpi1-compatibility for 4.0.1 and above

* remove preferred

* make 3.1.3 preferred
2019-04-09 21:41:14 +02:00
Seth R. Johnson
f237c81060 openmpi: Add stub mpirun script for openmpi~legacylaunchers+slurm (#11059)
This adds a stub script for mpirun and other standard executables
when installing OpenMPI with slurm. The purpose is to make the
removal less of a surprise to administrators/users: it explains why
they were removed and how to restore them.
2019-04-02 17:34:25 -07:00
Jiawei Zhuang
74b33e9f82 OpenMPI: v4.0.0 + Slurm installation error (#10853)
shmemrun and oshrun do not exist in OpenMPI v4.0.0
(ref: https://www.open-mpi.org/doc/v4.0/)

The Spack OpenMPI package was failing the install by trying to
remove them. This guards the removal of several scripts when
using the Slurm scheduler to handle the case where they don't exist.
2019-03-11 20:18:50 -05:00
Daniel Topa
1d4d2cff50 Add Open MPI 2.1.6 (#10478) 2019-01-30 12:45:46 -06:00
Axel Huebl
efe3e905a3 OpenMPI: Add Development Version (#10257)
Add the development version of OpenMPI from the git repo
in `master`.
2019-01-08 20:48:55 -06:00
Massimiliano Culpo
c4521535e7 Multi-valued variants: better support for combinations (#9481)
This enforces conventions that allow for correct handling of
multi-valued variants where specifying no value is an option,
and adds convenience functionality for specifying multi-valued
variants with conflicting sets of values. This also adds a notion
of "feature values" for variants, which are those that are understood
by the build system (e.g. those that would appear as configure
options). In more detail:

* Add documentation on variants to the packaging guide
* Forbid usage of '' or None as a possible variant value, in
  particular as a default. To indicate choosing no value, the user
  must explicitly define an option like 'none'. Without this,
  multi-valued variants with default set to None were not parsable
  from the command line (Fixes #6314)
* Add "disjoint_sets" function to support the declaration of
  multi-valued variants with conflicting sets of options. For example
  a variant "foo" with possible values "a", "b", and "c" where "c"
  is exclusive of the other values ("foo=a,b" and "foo=c" are
  valid but "foo=a,c" is not).
* Add "any_combination_of" function to support the declaration of
  multi-valued variants where it is valid to choose none of the
  values. This automatically defines "none" as an option (exclusive
  with all other choices); this value does not appear when iterating
  over the variant's values, for example in "with_or_without" (which
  constructs autotools option strings from variant values).
* The "disjoint_sets" and "any_combination_of" methods return an
  object which tracks the possible values. It is also possible to
  indicate that some of these values do not correspond to options
  understood by the package's build system, such that methods like
  "with_or_without" will not define options for those values (this
  occurs automatically for "none")
* Add documentation for usage of new functions for specifying
  multi-valued variants
2019-01-04 19:02:34 -08:00
Todd Gamblin
6f50cd52ed copyright: update license headers for 2013-2019 copyright. 2019-01-01 00:44:28 -08:00
Jon Rood
2f80432f62 OpenMPI: adding static libraries with slurm support for latest versions. (#10055) 2018-12-08 13:49:09 +01:00
Axel Huebl
b26c85301d OpenMPI: Prefer Last 3.X (#9945)
The latest OpenMPI release, v4.0.0, does not build with many GCC
variants. Since this is our default, a lot of users get hit.

Let's wait for some point releases.
2018-11-26 16:46:04 -06:00
Jon Rood
1972376865 Adding openmpi version 4.0.0 (#9888) 2018-11-19 20:42:34 -06:00
Daniel Topa
79ad078f78 Open MPI: add versions 3.1.3, 3.0.3, update checksums (#9734)
All checksums are now sha256
2018-11-12 23:26:39 -06:00
sknigh
d5327d8d4b Add OpenMPI 3.1.3 and a bug patch (#9680) 2018-11-06 09:12:48 +01:00
Todd Gamblin
eea786f4e8 relicense: replace LGPL headers with Apache-2.0/MIT SPDX headers
- remove the old LGPL license headers from all files in Spack
- add SPDX headers to all files
  - core and most packages are (Apache-2.0 OR MIT)
  - a very small number of remaining packages are LGPL-2.1-only
2018-10-17 14:42:06 -07:00
sknigh
496bc3cd23 Added legacylaunchers variant to openmpi (#9336)
Lots of programs still have mpiexec/mpirun baked in.
2018-09-27 19:29:15 -07:00
Adam J. Stewart
be42b8df19 Java updates: new versions, classpath, and JAVA_HOME (#8613)
This PR includes the following changes:

* Added JDK 10
* Changed the JDK version numbers according to the consensus reached
  in #2284
* Added spec['java'].home and spec['java'].libs, similar to #3367
  (JDK and IcedTea)
* Added a check to prevent people from installing JDK on macOS
* Set CLASSPATH for packages depending on Java (JDK and IcedTea)
* Add TODO for extending virtual packages (not currently possible)
* Add TODO for adding Java dependents to views
* Add TODO for packages which extend multiple packages (e.g. Java
  and Python)
2018-08-28 14:35:13 -04:00
Daniel Topa
05c4ff4e92 Open mpi add v3.1.2 (#9078)
* Add latest release 3.0.2
https://www.open-mpi.org/software/ompi/v3.0/:x

Signed-off-by: Daniel Topa <dantopa@lanl.gov>

* 1. Added correct md5 sum for Open MPI v3.1.1 (https://www.open-mpi.org//software/ompi/v3.1/)
2. Made v3.1.1 the default version
3. Added libmpiso versions for v3.1.1 and 3.0.2

Signed-off-by: Daniel Topa <dantopa@lanl.gov>

* Added Open MPI v2.14 to version list; Tested build; Added libmpi.so version

Signed-off-by: Daniel Topa <dantopa@lanl.gov>

* Open MPI 3.1.2 built and tested

Signed-off-by: Daniel Topa <dantopa@lanl.gov>
2018-08-22 23:17:48 -05:00
Daniel Topa
11d94f4c4f Open MPI: add v2.1.5 (#9021)
Final fix for v2.1 (hopefully)
Test build on LANL CCSCS4, Desktop

Signed-off-by: Daniel Topa <dantopa@lanl.gov>
2018-08-18 22:44:14 -05:00
Daniel Topa
31380204c9 Openmpi add v2.1.4 (#9006)
* Add latest release 3.0.2
https://www.open-mpi.org/software/ompi/v3.0/:x

Signed-off-by: Daniel Topa <dantopa@lanl.gov>

* 1. Added correct md5 sum for Open MPI v3.1.1 (https://www.open-mpi.org//software/ompi/v3.1/)
2. Made v3.1.1 the default version
3. Added libmpiso versions for v3.1.1 and 3.0.2

Signed-off-by: Daniel Topa <dantopa@lanl.gov>

* Added Open MPI v2.14 to version list; Tested build; Added libmpi.so version

Signed-off-by: Daniel Topa <dantopa@lanl.gov>
2018-08-18 20:34:05 -05:00
Tom Merrick
51aa604ed2 Fix openmpi to work with slurm/pmi and mxm (#8427)
* Add binutils+libiberty for mxm fabric
* Help find the pmi library when using the slurm scheduler
2018-08-02 14:06:39 -04:00
Jon Rood
15d96f0166 Add extra_rpaths to OpenMPI wrappers (#8687)
If the OpenMPI build finds the infiniband drivers in /usr/lib64, it adds
-Wl,-rpath -Wl,/usr/lib64 to the OpenMPI wrappers. If the wrappers are using
a compiler outside of /usr, and the OpenMPI wrappers are used to build software
outside of Spack, they will rpath /usr/lib64 into the executable which then has
GLIBC, GLIBCXX runtime errors due to it picking up GCC libraries in /usr/lib64.

This adds the directories specified in "extra_rpaths" to the OpenMPI wrappers,
which allows them to use the correct compiler when invoked outside of Spack
builds.
2018-07-30 15:02:09 -04:00
Cyrus Harrison
290125f893 openmpi: add c++ exceptions cfg option variant (#8743)
* openmpi: add c++ exceptions cfg option variant

* address review comments
2018-07-18 14:54:12 -05:00
Howard Pritchard
be9dfc2d73 openmpi: add 3.1.1 (#8684)
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2018-07-11 12:42:00 -05:00
Daniel Topa
70a0ea910f openmpi: add latest release 3.0.2 (#8452)
* Add latest release 3.0.2
https://www.open-mpi.org/software/ompi/v3.0/:x

Signed-off-by: Daniel Topa <dantopa@lanl.gov>

* Add in library version in comment
2018-06-21 12:55:17 -05:00
Levi Baber
0ac777b88e openmpi: new version (#8055) 2018-05-08 12:35:44 -05:00
Massimiliano Culpo
0570b075d4
openmpi: don't build static libraries if slurm is activated (#8021)
According to this comment:

    https://github.com/open-mpi/ompi/issues/4338#issuecomment-383982008

on an OpenMPI issue, using `--enable-static` silently disable slurm
support.
2018-05-04 16:27:54 +02:00
Levi Baber
a4e786a415 openmpi: libfabric support, ucx cleanup (#7842)
* openmpi: libfabric support, ucx cleanup

* openmpi: remove unnecessary parentheses
2018-04-25 10:37:48 -05:00
Daniel Topa
82ac1571c2 Openmpi update multithread (#7893)
--enable-mpi-thread-multiple option not viable in Open MPI 3.0+

Signed-off-by: Dan Topa <dantopa@lanl.gov>
2018-04-25 07:01:17 +02:00
Howard Pritchard
32c8237256 Open MPI: add 3.0.1 (#7661)
Open MPI 3.0.1 bug fix release is out the door!

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2018-04-02 19:22:59 -05:00
Massimiliano Culpo
8e998247a3
openmpi: updated package (#7574)
Modifications:
* Added zlib dependency, starting from version 3.0.0
* Added memchecker support  for debugging
* Remove mpirun and similar links if slurm is selected as a scheduler
2018-03-28 10:13:56 +02:00