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
This commit is contained in:
Dustin Wheeler 2019-05-29 13:38:55 -04:00 committed by Peter Scheibel
parent 58a4959b1a
commit 8804fbd891
2 changed files with 26 additions and 0 deletions

View File

@ -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')

View File

@ -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