mercury package: add 'udreg' variant (#10415)

Faster and/or more robust in some cases on Cray platforms
This commit is contained in:
Phil Carns 2019-02-04 19:51:04 -06:00 committed by Peter Scheibel
parent c7ecb66a2f
commit de91d0badc

View File

@ -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 @@ def cmake_args(self):
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