summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--var/spack/repos/builtin/packages/libfabric/package.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/libfabric/package.py b/var/spack/repos/builtin/packages/libfabric/package.py
index 8465974532..363e383f58 100644
--- a/var/spack/repos/builtin/packages/libfabric/package.py
+++ b/var/spack/repos/builtin/packages/libfabric/package.py
@@ -48,6 +48,13 @@ class Libfabric(AutotoolsPackage):
multi=True
)
+ # NOTE: the 'kdreg' variant enables use of the special /dev/kdreg file to
+ # assist in memory registration caching in the GNI provider. This
+ # device file can only be opened once per process, however, and thus it
+ # frequently conflicts with MPI.
+ variant('kdreg', default=False,
+ description='Enable kdreg on supported Cray platforms')
+
depends_on('rdma-core', when='fabrics=verbs')
depends_on('opa-psm2', when='fabrics=psm2')
depends_on('psm', when='fabrics=psm')
@@ -99,6 +106,11 @@ class Libfabric(AutotoolsPackage):
def configure_args(self):
args = []
+ if '+kdreg' in self.spec:
+ args.append('--with-kdreg=yes')
+ else:
+ args.append('--with-kdreg=no')
+
for fabric in self.fabrics:
if 'fabrics=' + fabric in self.spec:
args.append('--enable-{0}=yes'.format(fabric))