mpich: add variant to enable per VCI critical sections (#27840)
This commit is contained in:
parent
2a8a0aa156
commit
c1ed51e767
1 changed files with 11 additions and 0 deletions
|
@ -94,6 +94,13 @@ class Mpich(AutotoolsPackage, CudaPackage):
|
||||||
'-Wl,-flat_namespace'.'''
|
'-Wl,-flat_namespace'.'''
|
||||||
)
|
)
|
||||||
|
|
||||||
|
variant('vci', default=False, when='@4: device=ch4',
|
||||||
|
description='Enable multiple VCI (virtual communication '
|
||||||
|
'interface) critical sections to improve performance '
|
||||||
|
'of applications that do heavy concurrent MPI'
|
||||||
|
'communications. Set MPIR_CVAR_CH4_NUM_VCIS=<N> to '
|
||||||
|
'enable multiple vcis at runtime.')
|
||||||
|
|
||||||
# Todo: cuda can be a conditional variant, but it does not seem to work when
|
# Todo: cuda can be a conditional variant, but it does not seem to work when
|
||||||
# overriding the variant from CudaPackage.
|
# overriding the variant from CudaPackage.
|
||||||
conflicts('+cuda', when='@:3.3')
|
conflicts('+cuda', when='@:3.3')
|
||||||
|
@ -517,6 +524,10 @@ def configure_args(self):
|
||||||
if '+two_level_namespace' in spec:
|
if '+two_level_namespace' in spec:
|
||||||
config_args.append('--enable-two-level-namespace')
|
config_args.append('--enable-two-level-namespace')
|
||||||
|
|
||||||
|
if '+vci' in spec:
|
||||||
|
config_args.append('--enable-thread-cs=per-vci')
|
||||||
|
config_args.append('--with-ch4-max-vcis=default')
|
||||||
|
|
||||||
return config_args
|
return config_args
|
||||||
|
|
||||||
@run_after('install')
|
@run_after('install')
|
||||||
|
|
Loading…
Reference in a new issue