Commit Graph

117 Commits

Author SHA1 Message Date
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
健美猫
658896a7a5 Remove pmi from the fabric list. (#7226) 2018-03-26 13:14:51 +02:00
Todd Gamblin
54f97d1dec
Update copyright on LLNL files for 2018. (#7592) 2018-03-24 12:13:52 -07:00
Howard Pritchard
f59a447f71 Open MPI: add 2.1.3 (#7535)
note the libmpi.so itself didn't have changes, only other
components of the package had updates.

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2018-03-21 16:49:31 -05:00
Massimiliano Culpo
cf4b3f2af6
hwloc: updated package (#7483)
This includes:

* Added latest available versions (1.11.9, 2.0.0)
* Added variants to enable graphical output from lstopo
* Enabled build of the bundled netloc package if @2.0.0:
* Added dependency from numactl if @:1.11.9
* Added a constraint to avoid using  hwloc@2.0.0 with openmpi
2018-03-15 10:16:33 +01:00
Veselin Dobrev
e4597f09be openmpi: add package-specific 'headers' property (#7267)
* [OpenMPI] Add the 'headers' property. This removes some redundant
headers from sub-directories, returned by the default '.headers'
handler.

* [OpenMPI] In the .headers property, add a fallback to search all of
prefix for the mpi.h header. Recommended by @junghans to support some
external configurations, see #7268.
2018-03-05 12:53:36 -07:00
alalazo
e72b69732e Changed keyword argument 'recurse' to 'recursive' 2018-02-13 02:18:28 -08:00
alalazo
efd2a95781 find has been changed to accept glob expressions
Following the discussion with Todd and Adam, find has been modified to
accept glob expressions. This should not affect performance as every
glob implementation I inspected has 3 cases (no wildcard, wildcard but
no directories involved, wildcard and directories involved) and uses
fnmatch underneath.

Mixins have been changed to do by default a non-recursive search (but
a recursive search can still be triggered using the recursive keyword).
2018-02-13 02:18:28 -08:00
alalazo
c62b3eef55 filter_compiler_path: added the possibility to narrow search path
Following a comment from Todd, the search path for the files listed in
`filter_compiler_wrappers` can now be narrowed. Anyhow, the function
implementation still makes use of `find`, the rationale being that we
have already seen packages that install artifacts in e.g. architecture
dependent folders. The possibility to have a relative search path might
be a good compromise between the previous approach and the one suggested
in the review.

Also: 'ignore_absent' and 'backup' keyword arguments can be optionally
forwarded to `filter_file`.
2018-02-13 02:18:28 -08:00
alalazo
22def01adf mixins: implemented declarative syntax
Implemented a declarative syntax for the additional behavior that can
get attached to classes. Implemented a function to filter compiler
wrappers that uses the mechanism above.
2018-02-13 02:18:28 -08:00
alalazo
8e0f9038ab Improved naming of properties and classes (per Denis comments). 2018-02-13 02:18:28 -08:00
alalazo
28e129b087 Added mixins to modularize common behaviors across build-systems.
Modifications:
  * added a mixin to filter compiler wrappers from files
  * modified hdf5, openmpi, mpich, mvapich2 to use it
2018-02-13 02:18:28 -08:00
Howard Pritchard
af1b93b3db Open MPI: add 2.0.4 release to package file (#6310)
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2017-11-15 13:03:07 -07:00
Christoph Junghans
02335fa849
ucx: initial commit (#6265) 2017-11-13 10:47:58 -07:00
Todd Gamblin
05fa302655
Replace github.com/llnl/spack with github.com/spack/spack (#6142)
We moved to a new GitHub org! Now make the code and docs reflect that.
2017-11-04 17:08:04 -07:00
Howard Pritchard
699f34c33f OpenMPI: add 2.1.2 bug fix release (#5418) 2017-09-21 13:26:23 -07:00