From 36fca2c29a5509ef78914ed76c3e9bfb654279f8 Mon Sep 17 00:00:00 2001 From: Brian Van Essen Date: Fri, 24 Jan 2020 12:49:05 -0800 Subject: [PATCH] Updated and cleaned up the recipe for the LBANN and Hydrogen packages. (#14612) * Updated and cleaned up the recipe for the LBANN and Hydrogen packages. * Flake8 * Added type test for catch2 --- .../builtin/packages/hydrogen/package.py | 5 +++++ .../repos/builtin/packages/lbann/package.py | 20 ++++++++++--------- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/var/spack/repos/builtin/packages/hydrogen/package.py b/var/spack/repos/builtin/packages/hydrogen/package.py index 87d5f4479f..1607bc7319 100644 --- a/var/spack/repos/builtin/packages/hydrogen/package.py +++ b/var/spack/repos/builtin/packages/hydrogen/package.py @@ -19,6 +19,7 @@ class Hydrogen(CMakePackage): maintainers = ['bvanessen'] version('develop', branch='hydrogen') + version('1.3.3', sha256='140112066b84d33ca4b75c8e520fb15748fa648c4d2b934c1eb5510173ede5f5') version('1.3.2', sha256='50bc5e87955f8130003d04dfd9dcad63107e92b82704f8107baf95b0ccf98ed6') version('1.3.1', sha256='a8b8521458e9e747f2b24af87c4c2749a06e500019c383e0cefb33e5df6aaa1d') version('1.3.0', sha256='0f3006aa1d8235ecdd621e7344c99f56651c6836c2e1bc0cf006331b70126b36') @@ -58,6 +59,8 @@ class Hydrogen(CMakePackage): description='Builds with Aluminum communication library') variant('omp_taskloops', default=False, description='Use OpenMP taskloops instead of parallel for loops.') + variant('half', default=True, + description='Builds with support for FP16 precision data types') # Note that #1712 forces us to enumerate the different blas variants depends_on('openblas', when='blas=openblas ~openmp_blas ~int64_blas') @@ -94,6 +97,7 @@ class Hydrogen(CMakePackage): depends_on('cuda', when='+cuda') depends_on('cub', when='+cuda') + depends_on('half', when='+half') conflicts('@0:0.98', msg="Hydrogen did not exist before v0.99. " + "Did you mean to use Elemental instead?") @@ -127,6 +131,7 @@ def cmake_args(self): '-DHydrogen_ENABLE_CUB=%s' % ('+cuda' in spec), '-DHydrogen_ENABLE_CUDA=%s' % ('+cuda' in spec), '-DHydrogen_ENABLE_TESTING=%s' % ('+test' in spec), + '-DHydrogen_ENABLE_HALF=%s' % ('+half' in spec), ] # Add support for OS X to find OpenMP diff --git a/var/spack/repos/builtin/packages/lbann/package.py b/var/spack/repos/builtin/packages/lbann/package.py index f12710763c..7d4615a65a 100644 --- a/var/spack/repos/builtin/packages/lbann/package.py +++ b/var/spack/repos/builtin/packages/lbann/package.py @@ -48,6 +48,7 @@ class Lbann(CMakePackage): '(note that for v0.99 conduit is required)') variant('vtune', default=False, description='Builds with support for Intel VTune') variant('docs', default=False, description='Builds with support for building documentation') + variant('extras', default=False, description='Add python modules for LBANN related tools') conflicts('@:0.90,0.99:', when='~conduit') @@ -96,7 +97,6 @@ class Lbann(CMakePackage): '~pthreads_pf ~python ~qt ~stitching ~superres ~ts ~video' '~videostab ~videoio ~vtk', when='+opencv') - depends_on('protobuf@3.6.1: build_type=Release') depends_on('cnpy') depends_on('nccl', when='@0.94:0.98.2 +gpu +nccl') @@ -107,20 +107,22 @@ class Lbann(CMakePackage): extends("python") depends_on('py-setuptools', type='build') depends_on('py-argparse', type='run', when='@:0.90,0.99: ^python@:2.6') - depends_on('py-configparser', type='run', when='@:0.90,0.99:') - depends_on('py-graphviz@0.10.1:', type='run', when='@:0.90,0.99:') - depends_on('py-matplotlib@3.0.0:', type='run', when='@:0.90,0.99:') - depends_on('py-numpy@1.16.0:', type=('build', 'run'), when='@:0.90,0.99:') - depends_on('py-onnx@1.3.0:', type='run', when='@:0.90,0.99:') - depends_on('py-pandas@0.24.1:', type='run', when='@:0.90,0.99:') - depends_on('py-texttable@1.4.0:', type='run', when='@:0.90,0.99:') + depends_on('py-configparser', type='run', when='@:0.90,0.99: +extras') + depends_on('py-graphviz@0.10.1:', type='run', when='@:0.90,0.99: +extras') + depends_on('py-matplotlib@3.0.0:', type='run', when='@:0.90,0.99: +extras') + depends_on('py-numpy@1.16.0:', type=('build', 'run'), when='@:0.90,0.99: +extras') + depends_on('py-onnx@1.3.0:', type='run', when='@:0.90,0.99: +extras') + depends_on('py-pandas@0.24.1:', type='run', when='@:0.90,0.99: +extras') + depends_on('py-texttable@1.4.0:', type='run', when='@:0.90,0.99: +extras') depends_on('py-pytest', type='test', when='@:0.90,0.99:') - depends_on('py-protobuf+cpp', type='run', when='@:0.90,0.99:') + depends_on('py-protobuf+cpp@3.6.1:', type=('build', 'run'), when='@:0.90,0.99:') depends_on('py-breathe', type='build', when='+docs') depends_on('py-m2r', type='build', when='+docs') depends_on('cereal') + depends_on('catch2', type='test') + depends_on('clara') generator = 'Ninja' depends_on('ninja', type='build')