diff options
-rw-r--r-- | var/spack/repos/builtin/packages/libfabric/package.py | 12 |
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)) |