summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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