lbann, dihydrogen: removing nice to have Python packages (#29302)
Recipes that are not actually required for LBANN or DiHydrogen to build. These should be concretized within the same environment or installed via PIP using the same Python that installed LBANN. Removing these will help eliminate build time failures that are actually associated with Python tools, not LBANN.
This commit is contained in:
parent
f6ea56276f
commit
2ac11812ba
@ -45,8 +45,6 @@ class Dihydrogen(CMakePackage, CudaPackage, ROCmPackage):
|
|||||||
description='Enable ROCm/HIP language features.')
|
description='Enable ROCm/HIP language features.')
|
||||||
variant('shared', default=True,
|
variant('shared', default=True,
|
||||||
description='Enables the build of shared libraries')
|
description='Enables the build of shared libraries')
|
||||||
variant('docs', default=False,
|
|
||||||
description='Builds with support for building documentation')
|
|
||||||
|
|
||||||
# Variants related to BLAS
|
# Variants related to BLAS
|
||||||
variant('openmp_blas', default=False,
|
variant('openmp_blas', default=False,
|
||||||
@ -117,9 +115,6 @@ class Dihydrogen(CMakePackage, CudaPackage, ROCmPackage):
|
|||||||
depends_on('ninja', type='build')
|
depends_on('ninja', type='build')
|
||||||
depends_on('cmake@3.17.0:', type='build')
|
depends_on('cmake@3.17.0:', type='build')
|
||||||
|
|
||||||
depends_on('py-breathe', type='build', when='+docs')
|
|
||||||
depends_on('doxygen', type='build', when='+docs')
|
|
||||||
|
|
||||||
depends_on('llvm-openmp', when='%apple-clang +openmp')
|
depends_on('llvm-openmp', when='%apple-clang +openmp')
|
||||||
|
|
||||||
# TODO: Debug linker errors when NVSHMEM is built with UCX
|
# TODO: Debug linker errors when NVSHMEM is built with UCX
|
||||||
|
@ -52,11 +52,9 @@ class Lbann(CMakePackage, CudaPackage, ROCmPackage):
|
|||||||
variant('distconv', default=False,
|
variant('distconv', default=False,
|
||||||
description='Builds with support for spatial, filter, or channel '
|
description='Builds with support for spatial, filter, or channel '
|
||||||
'distributed convolutions')
|
'distributed convolutions')
|
||||||
variant('docs', default=False, description='Builds with support for building documentation')
|
|
||||||
variant('dtype', default='float',
|
variant('dtype', default='float',
|
||||||
description='Type for floating point representation of weights',
|
description='Type for floating point representation of weights',
|
||||||
values=('float', 'double'))
|
values=('float', 'double'))
|
||||||
variant('extras', default=False, description='Add python modules for LBANN related tools')
|
|
||||||
variant('fft', default=False, description='Support for FFT operations')
|
variant('fft', default=False, description='Support for FFT operations')
|
||||||
variant('half', default=False,
|
variant('half', default=False,
|
||||||
description='Builds with support for FP16 precision data types')
|
description='Builds with support for FP16 precision data types')
|
||||||
@ -74,7 +72,6 @@ class Lbann(CMakePackage, CudaPackage, ROCmPackage):
|
|||||||
variant('pfe', default=True, description='Python Frontend for generating and launching models')
|
variant('pfe', default=True, description='Python Frontend for generating and launching models')
|
||||||
variant('boost', default=False, description='Enable callbacks that use Boost libraries')
|
variant('boost', default=False, description='Enable callbacks that use Boost libraries')
|
||||||
variant('asan', default=False, description='Build with support for address-sanitizer')
|
variant('asan', default=False, description='Build with support for address-sanitizer')
|
||||||
variant('apps', default=True, description='Add python modules for standard LBANN applications')
|
|
||||||
|
|
||||||
# LBANN benefits from high performance linkers, but passing these in as command
|
# LBANN benefits from high performance linkers, but passing these in as command
|
||||||
# line options forces the linker flags to unnecessarily propagate to all
|
# line options forces the linker flags to unnecessarily propagate to all
|
||||||
@ -92,7 +89,6 @@ class Lbann(CMakePackage, CudaPackage, ROCmPackage):
|
|||||||
conflicts('~hwloc', when='+al')
|
conflicts('~hwloc', when='+al')
|
||||||
conflicts('~cuda', when='+nvshmem')
|
conflicts('~cuda', when='+nvshmem')
|
||||||
conflicts('+cuda', when='+rocm', msg='CUDA and ROCm support are mutually exclusive')
|
conflicts('+cuda', when='+rocm', msg='CUDA and ROCm support are mutually exclusive')
|
||||||
conflicts('+extras', when='~pfe', msg='Python extras require the Python front end support')
|
|
||||||
|
|
||||||
conflicts('~vision', when='@0.91:0.101')
|
conflicts('~vision', when='@0.91:0.101')
|
||||||
conflicts('~numpy', when='@0.91:0.101')
|
conflicts('~numpy', when='@0.91:0.101')
|
||||||
@ -107,8 +103,8 @@ class Lbann(CMakePackage, CudaPackage, ROCmPackage):
|
|||||||
conflicts('+gold', when='platform=darwin', msg="gold does not work on Darwin")
|
conflicts('+gold', when='platform=darwin', msg="gold does not work on Darwin")
|
||||||
conflicts('+lld', when='platform=darwin', msg="lld does not work on Darwin")
|
conflicts('+lld', when='platform=darwin', msg="lld does not work on Darwin")
|
||||||
|
|
||||||
depends_on('cmake@3.21.0:', type='build', when='@0.103:')
|
depends_on('cmake@3.21.0: ~doc', type='build', when='@0.103:')
|
||||||
depends_on('cmake@3.17.0:', type='build', when='@:0.102')
|
depends_on('cmake@3.17.0: ~doc', type='build', when='@:0.102')
|
||||||
|
|
||||||
# Specify the correct versions of Hydrogen
|
# Specify the correct versions of Hydrogen
|
||||||
depends_on('hydrogen@:1.3.4', when='@0.95:0.100')
|
depends_on('hydrogen@:1.3.4', when='@0.95:0.100')
|
||||||
@ -201,9 +197,9 @@ class Lbann(CMakePackage, CudaPackage, ROCmPackage):
|
|||||||
depends_on('cnpy', when='+numpy')
|
depends_on('cnpy', when='+numpy')
|
||||||
depends_on('nccl', when='@0.94:0.98.2 +cuda')
|
depends_on('nccl', when='@0.94:0.98.2 +cuda')
|
||||||
|
|
||||||
depends_on('conduit@0.4.0: +hdf5~hdf5_compat', when='@0.94:0 +conduit')
|
depends_on('conduit@0.4.0: +hdf5~hdf5_compat ~python', when='@0.94:0 +conduit')
|
||||||
depends_on('conduit@0.5.0:0.6 +hdf5~hdf5_compat', when='@0.100:0.101 +conduit')
|
depends_on('conduit@0.5.0:0.6 +hdf5~hdf5_compat ~python', when='@0.100:0.101 +conduit')
|
||||||
depends_on('conduit@0.6.0: +hdf5~hdf5_compat~fortran~parmetis', when='@:0.90,0.99:')
|
depends_on('conduit@0.6.0: +hdf5~hdf5_compat~fortran~parmetis ~python', when='@:0.90,0.99:')
|
||||||
|
|
||||||
# LBANN can use Python in two modes 1) as part of an extensible framework
|
# LBANN can use Python in two modes 1) as part of an extensible framework
|
||||||
# and 2) to drive the front end model creation and launch
|
# and 2) to drive the front end model creation and launch
|
||||||
@ -219,28 +215,8 @@ class Lbann(CMakePackage, CudaPackage, ROCmPackage):
|
|||||||
depends_on('py-argparse', type='run', when='@:0.90,0.99: +pfe ^python@:2.6,3.0:3.1')
|
depends_on('py-argparse', type='run', when='@:0.90,0.99: +pfe ^python@:2.6,3.0:3.1')
|
||||||
depends_on('py-protobuf+cpp@3.10.0', type=('build', 'run'), when='@:0.90,0.99: +pfe')
|
depends_on('py-protobuf+cpp@3.10.0', type=('build', 'run'), when='@:0.90,0.99: +pfe')
|
||||||
|
|
||||||
# Add Python package dependencies to support applications in the LBANN repo
|
|
||||||
depends_on('py-numpy@1.16.0:', type=('build', 'run'), when='@:0.90,0.99: +pfe +apps')
|
|
||||||
depends_on('py-pytest', type=('test', 'run'), when='@:0.90,0.99: +pfe +apps')
|
|
||||||
depends_on('py-scipy', type=('test', 'run'), when='@:0.90,0.99: +pfe +apps')
|
|
||||||
depends_on('py-tqdm', type='run', when='@:0.90,0.99: +pfe +apps')
|
|
||||||
|
|
||||||
# Add common Python packages that are used for LBANN auxiliary tools
|
|
||||||
depends_on('py-configparser', type='run', when='@:0.90,0.99: +pfe +extras')
|
|
||||||
depends_on('py-graphviz@0.10.1:', type='run', when='@:0.90,0.99: +pfe +extras')
|
|
||||||
depends_on('py-matplotlib@3.0.0:', type='run', when='@:0.90,0.99: +pfe +extras')
|
|
||||||
depends_on('py-numpy@1.16.0:', type=('build', 'run'), when='@:0.90,0.99: +pfe +extras')
|
|
||||||
depends_on('py-onnx@1.3.0:', type='run', when='@:0.90,0.99: +pfe +extras')
|
|
||||||
depends_on('py-pandas@0.24.1:', type='run', when='@:0.90,0.99: +pfe +extras')
|
|
||||||
depends_on('py-texttable@1.4.0:', type='run', when='@:0.90,0.99: +pfe +extras')
|
|
||||||
|
|
||||||
depends_on('protobuf+shared@3.10.0', when='@:0.90,0.99:')
|
depends_on('protobuf+shared@3.10.0', when='@:0.90,0.99:')
|
||||||
|
|
||||||
depends_on('py-breathe', type='build', when='+docs')
|
|
||||||
depends_on('py-sphinx-rtd-theme', type='build', when='+docs')
|
|
||||||
depends_on('doxygen', type='build', when='+docs')
|
|
||||||
depends_on('py-m2r', type='build', when='+docs')
|
|
||||||
|
|
||||||
depends_on('cereal')
|
depends_on('cereal')
|
||||||
depends_on('catch2', type=('build', 'test'))
|
depends_on('catch2', type=('build', 'test'))
|
||||||
depends_on('clara')
|
depends_on('clara')
|
||||||
|
Loading…
Reference in New Issue
Block a user