summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDustin Wheeler <mdwheele@ncsu.edu>2019-05-29 13:38:55 -0400
committerPeter Scheibel <scheibel1@llnl.gov>2019-05-29 10:38:55 -0700
commit8804fbd891ae0d166604f631e74d6efd25b41115 (patch)
tree005feb6c084537bdd8d295db3f96da64b64d161b
parent58a4959b1a43e4ea0f2be73dd77e93481331274f (diff)
downloadspack-8804fbd891ae0d166604f631e74d6efd25b41115.tar.gz
spack-8804fbd891ae0d166604f631e74d6efd25b41115.tar.bz2
spack-8804fbd891ae0d166604f631e74d6efd25b41115.tar.xz
spack-8804fbd891ae0d166604f631e74d6efd25b41115.zip
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
-rw-r--r--var/spack/repos/builtin/packages/lsf/package.py25
-rw-r--r--var/spack/repos/builtin/packages/openmpi/package.py1
2 files changed, 26 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/lsf/package.py b/var/spack/repos/builtin/packages/lsf/package.py
new file mode 100644
index 0000000000..7c8827c0bf
--- /dev/null
+++ b/var/spack/repos/builtin/packages/lsf/package.py
@@ -0,0 +1,25 @@
+# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+
+from spack import *
+
+
+class Lsf(Package):
+ """IBM Platform LSF is a batch scheduler for HPC environments"""
+
+ homepage = "https://www.ibm.com/marketplace/hpc-workload-management"
+ url = "https://www.ibm.com/marketplace/hpc-workload-management"
+
+ # LSF needs to be added as an external package to SPACK. For this, the
+ # config file packages.yaml needs to be adjusted:
+ # lsf:
+ # version: [10.1]
+ # paths:
+ # lsf@10.1: /usr/local/lsf/10.1 (path to your LSF installation)
+ # buildable: False
+
+ def install(self, spec, prefix):
+ raise InstallError('LSF is not installable; it is vendor supplied')
diff --git a/var/spack/repos/builtin/packages/openmpi/package.py b/var/spack/repos/builtin/packages/openmpi/package.py
index 218befee78..4b054cf610 100644
--- a/var/spack/repos/builtin/packages/openmpi/package.py
+++ b/var/spack/repos/builtin/packages/openmpi/package.py
@@ -259,6 +259,7 @@ class Openmpi(AutotoolsPackage):
depends_on('ucx', when='fabrics=ucx')
depends_on('libfabric', when='fabrics=libfabric')
depends_on('slurm', when='schedulers=slurm')
+ depends_on('lsf', when='schedulers=lsf')
depends_on('binutils+libiberty', when='fabrics=mxm')
conflicts('+cuda', when='@:1.6') # CUDA support was added in 1.7