summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Van Essen <vanessen1@llnl.gov>2018-12-10 15:12:43 -0800
committerGreg Becker <becker33@llnl.gov>2018-12-10 15:12:43 -0800
commitabd575f2733d28d5b87730abfdf273ac6667198b (patch)
treee30f4eff9f4e3e8e1047203e5d461b1120572922
parentad046402b6de8103aef709713d04130dabbe1357 (diff)
downloadspack-abd575f2733d28d5b87730abfdf273ac6667198b.tar.gz
spack-abd575f2733d28d5b87730abfdf273ac6667198b.tar.bz2
spack-abd575f2733d28d5b87730abfdf273ac6667198b.tar.xz
spack-abd575f2733d28d5b87730abfdf273ac6667198b.zip
Update LBANN generator and bug fix (#9906)
* Added a package for the MDAnalysis toolkit. * Added Ninja as the generator for LBANN, Hydrogen, and Aluminum. Also fixed a bug in how the Conduit variant is included in LBANN. Added new versions for Hydrogen and LBANN. * Updated lbann package so that the CMAKE parameters are set when the variant is on and off.
-rw-r--r--var/spack/repos/builtin/packages/aluminum/package.py3
-rw-r--r--var/spack/repos/builtin/packages/hydrogen/package.py6
-rw-r--r--var/spack/repos/builtin/packages/lbann/package.py32
3 files changed, 28 insertions, 13 deletions
diff --git a/var/spack/repos/builtin/packages/aluminum/package.py b/var/spack/repos/builtin/packages/aluminum/package.py
index 9700988217..17a31a687c 100644
--- a/var/spack/repos/builtin/packages/aluminum/package.py
+++ b/var/spack/repos/builtin/packages/aluminum/package.py
@@ -34,6 +34,9 @@ class Aluminum(CMakePackage):
depends_on('nccl', when='+nccl')
depends_on('hwloc')
+ generator = 'Ninja'
+ depends_on('ninja', type='build')
+
def cmake_args(self):
spec = self.spec
args = [
diff --git a/var/spack/repos/builtin/packages/hydrogen/package.py b/var/spack/repos/builtin/packages/hydrogen/package.py
index 9a65ea4fe3..058e15b492 100644
--- a/var/spack/repos/builtin/packages/hydrogen/package.py
+++ b/var/spack/repos/builtin/packages/hydrogen/package.py
@@ -13,10 +13,11 @@ class Hydrogen(CMakePackage):
and optimization library. Based on the Elemental library."""
homepage = "http://libelemental.org"
- url = "https://github.com/LLNL/Elemental/archive/0.99.tar.gz"
+ url = "https://github.com/LLNL/Elemental/archive/v1.0.1.tar.gz"
git = "https://github.com/LLNL/Elemental.git"
version('develop', branch='hydrogen')
+ version('1.0.1', sha256='27cf76e1ef1d58bd8f9b1e34081a14a682b7ff082fb5d1da56713e5e0040e528')
version('1.0', sha256='d8a97de3133f2c6b6bb4b80d32b4a4cc25eb25e0df4f0cec0f8cb19bf34ece98')
version('0.99', 'b678433ab1d498da47acf3dc5e056c23')
@@ -93,6 +94,9 @@ class Hydrogen(CMakePackage):
conflicts('@0:0.98', msg="Hydrogen did not exist before v0.99. " +
"Did you mean to use Elemental instead?")
+ generator = 'Ninja'
+ depends_on('ninja', type='build')
+
@property
def libs(self):
shared = True if '+shared' in self.spec else False
diff --git a/var/spack/repos/builtin/packages/lbann/package.py b/var/spack/repos/builtin/packages/lbann/package.py
index 148b097051..5d989e36d2 100644
--- a/var/spack/repos/builtin/packages/lbann/package.py
+++ b/var/spack/repos/builtin/packages/lbann/package.py
@@ -18,6 +18,7 @@ class Lbann(CMakePackage):
git = "https://github.com/LLNL/lbann.git"
version('develop', branch='develop')
+ version('0.96', sha256='97af78e9d3c405e963361d0db96ee5425ee0766fa52b43c75b8a5670d48e4b4a')
version('0.95', sha256='d310b986948b5ee2bedec36383a7fe79403721c8dc2663a280676b4e431f83c2')
version('0.94', sha256='567e99b488ebe6294933c98a212281bffd5220fc13a0a5cd8441f9a3761ceccf')
version('0.93', '1913a25a53d4025fa04c16f14afdaa55')
@@ -34,8 +35,9 @@ class Lbann(CMakePackage):
variant('build_type', default='Release',
description='The build type to build',
values=('Debug', 'Release'))
- variant('al', default=True, description='Builds with support for Aluminum Library')
+ variant('al', default=False, description='Builds with support for Aluminum Library')
variant('conduit', default=False, description='Builds with support for Conduit Library')
+ variant('vtune', default=False, description='Builds with support for Intel VTune')
# It seems that there is a need for one statement per version bounds
depends_on('hydrogen +openmp_blas +shared +int64', when='@:0.90,0.95: ~al')
@@ -82,12 +84,15 @@ class Lbann(CMakePackage):
'~pthreads_pf ~python ~qt ~stitching ~superres ~ts ~video'
'~videostab ~videoio ~vtk', when='+opencv')
- depends_on('protobuf@3.0.2:')
+ depends_on('protobuf@3.0.2: build_type=Release')
depends_on('cnpy')
depends_on('nccl', when='+gpu +nccl')
depends_on('conduit@master +hdf5', when='+conduit')
+ generator = 'Ninja'
+ depends_on('ninja', type='build')
+
@property
def common_config_args(self):
spec = self.spec
@@ -110,10 +115,16 @@ class Lbann(CMakePackage):
args = self.common_config_args
args.extend([
'-DLBANN_WITH_TOPO_AWARE:BOOL=%s' % ('+gpu +nccl' in spec),
+ '-DLBANN_WITH_ALUMINUM:BOOL=%s' % ('+al' in spec),
+ '-DLBANN_WITH_CONDUIT:BOOL=%s' % ('+conduit' in spec),
+ '-DLBANN_WITH_CUDA:BOOL=%s' % ('+gpu' in spec),
+ '-DLBANN_WITH_CUDNN:BOOL=%s' % ('+gpu' in spec),
+ '-DLBANN_WITH_NCCL:BOOL=%s' % ('+gpu +nccl' in spec),
+ '-DLBANN_WITH_SOFTMAX_CUDA:BOOL=%s' % ('+gpu' in spec),
'-DLBANN_SEQUENTIAL_INITIALIZATION:BOOL=%s' %
('+seq_init' in spec),
'-DLBANN_WITH_TBINF=OFF',
- '-DLBANN_WITH_VTUNE=OFF',
+ '-DLBANN_WITH_VTUNE:BOOL=%s' % ('+vtune' in spec),
'-DLBANN_DATATYPE={0}'.format(spec.variants['dtype'].value),
'-DLBANN_VERBOSE=0'])
@@ -126,14 +137,15 @@ class Lbann(CMakePackage):
'-DElemental_DIR={0}/CMake/elemental'.format(
spec['elemental'].prefix)])
+ if '+vtune' in spec:
+ args.extend(['-DVTUNE_DIR={0}'.format(spec['vtune'].prefix)])
+
if '+al' in spec:
- args.extend(['-DLBANN_WITH_ALUMINUM:BOOL=%s' % ('+al' in spec),
- '-DAluminum_DIR={0}'.format(spec['aluminum'].prefix)])
+ args.extend(['-DAluminum_DIR={0}'.format(spec['aluminum'].prefix)])
if '+conduit' in spec:
- args.extend(['-DLBANN_CONDUIT_DIR:BOOL=%s' % ('+conduit' in spec),
- '-DLBANN_CONDUIT_DIR={0}'.format(
- spec['conduit'].prefix)])
+ args.extend(['-DLBANN_CONDUIT_DIR={0}'.format(
+ spec['conduit'].prefix)])
# Add support for OpenMP
if (self.spec.satisfies('%clang')):
@@ -153,19 +165,15 @@ class Lbann(CMakePackage):
if '+gpu' in spec:
args.extend([
- '-DLBANN_WITH_CUDA:BOOL=%s' % ('+gpu' in spec),
- '-DLBANN_WITH_SOFTMAX_CUDA:BOOL=%s' % ('+gpu' in spec),
'-DCUDA_TOOLKIT_ROOT_DIR={0}'.format(
spec['cuda'].prefix)])
args.extend([
- '-DLBANN_WITH_CUDNN:BOOL=%s' % ('+gpu' in spec),
'-DcuDNN_DIR={0}'.format(
spec['cudnn'].prefix)])
args.extend(['-DCUB_DIR={0}'.format(
spec['cub'].prefix)])
if '+nccl' in spec:
args.extend([
- '-DLBANN_WITH_NCCL:BOOL=%s' % ('+gpu +nccl' in spec),
'-DNCCL_DIR={0}'.format(
spec['nccl'].prefix)])