diff options
author | Ken Raffenetti <raffenet@users.noreply.github.com> | 2022-05-15 07:14:47 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-15 14:14:47 +0200 |
commit | dc7bdf5f2410078c17d30e35aaba0cffb03ea6cb (patch) | |
tree | d6970761f6f0af535b690179f5996d6499d070e8 /var | |
parent | a681fd7b42746480de76a348065e8ccce5cea6c9 (diff) | |
download | spack-dc7bdf5f2410078c17d30e35aaba0cffb03ea6cb.tar.gz spack-dc7bdf5f2410078c17d30e35aaba0cffb03ea6cb.tar.bz2 spack-dc7bdf5f2410078c17d30e35aaba0cffb03ea6cb.tar.xz spack-dc7bdf5f2410078c17d30e35aaba0cffb03ea6cb.zip |
mpich: add support for Mellanox HCOLL (#30662)
Co-authored-by: Federico Ficarelli <federico.ficarelli@pm.me>
Diffstat (limited to 'var')
-rw-r--r-- | var/spack/repos/builtin/packages/mpich/package.py | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/mpich/package.py b/var/spack/repos/builtin/packages/mpich/package.py index b758f5b720..64fd90f0d6 100644 --- a/var/spack/repos/builtin/packages/mpich/package.py +++ b/var/spack/repos/builtin/packages/mpich/package.py @@ -115,6 +115,12 @@ with '-Wl,-commons,use_dylibs' and without depends_on('yaksa+rocm', when='+rocm ^yaksa') conflicts('datatype-engine=yaksa', when='device=ch3') + variant('hcoll', default=False, + description='Enable support for Mellanox HCOLL accelerated ' + 'collective operations library', + when='@3.3: device=ch4 netmod=ucx') + depends_on('hcoll', when='+hcoll') + # Todo: cuda can be a conditional variant, but it does not seem to work when # overriding the variant from CudaPackage. conflicts('+cuda', when='@:3.3') @@ -345,6 +351,9 @@ with '-Wl,-commons,use_dylibs' and without if match: variants.append('netmod=' + match.group(1)) + if re.search(r'--with-hcoll', output): + variants += '+hcoll' + match = re.search(r'MPICH CC:\s+(\S+)', output) compiler_spec = get_spack_compiler_spec( os.path.dirname(match.group(1))) @@ -559,6 +568,9 @@ with '-Wl,-commons,use_dylibs' and without elif 'datatype-engine=auto' in spec: config_args.append('--with-datatye-engine=auto') + if '+hcoll' in spec: + config_args.append('--with-hcoll=' + spec['hcoll'].prefix) + return config_args @run_after('install') |