summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhil Carns <carns@mcs.anl.gov>2019-02-04 19:51:04 -0600
committerPeter Scheibel <scheibel1@llnl.gov>2019-02-04 19:51:04 -0600
commitde91d0badcf95a4280fa8dcacbed425a8b338ca3 (patch)
tree0b99d958c3a852a57f6a2de011f91824ac838dbd
parentc7ecb66a2f17519d20fd5cbd61b8c0eef5b0783c (diff)
downloadspack-de91d0badcf95a4280fa8dcacbed425a8b338ca3.tar.gz
spack-de91d0badcf95a4280fa8dcacbed425a8b338ca3.tar.bz2
spack-de91d0badcf95a4280fa8dcacbed425a8b338ca3.tar.xz
spack-de91d0badcf95a4280fa8dcacbed425a8b338ca3.zip
mercury package: add 'udreg' variant (#10415)
Faster and/or more robust in some cases on Cray platforms
-rw-r--r--var/spack/repos/builtin/packages/mercury/package.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/mercury/package.py b/var/spack/repos/builtin/packages/mercury/package.py
index a2a65a4a46..23e8695ee1 100644
--- a/var/spack/repos/builtin/packages/mercury/package.py
+++ b/var/spack/repos/builtin/packages/mercury/package.py
@@ -22,6 +22,11 @@ class Mercury(CMakePackage):
variant('selfforward', default=True,
description='Mercury will short-circuit operations' +
' by forwarding to itself when possible')
+# NOTE: the 'udreg' variant requires that the MPICH_GNI_NDREG_ENTRIES=1024
+# environment variable be set at run time to avoid conflicts with
+# Cray-MPICH if libfabric and MPI are used at the same time
+ variant('udreg', default=False,
+ description='Enable udreg on supported Cray platforms')
depends_on('cci@master', when='+cci', type=('build', 'link', 'run'))
depends_on('libfabric', when='+fabric', type=('build', 'link', 'run'))
@@ -52,4 +57,9 @@ class Mercury(CMakePackage):
else:
args.extend(['-DMERCURY_USE_SELF_FORWARD=OFF'])
+ if (self.spec.variants['udreg'].value):
+ args.extend(['-DNA_OFI_GNI_USE_UDREG=ON'])
+ else:
+ args.extend(['-DNA_OFI_GNI_USE_UDREG=OFF'])
+
return args