Qmcpack: new variant +afqmc (#14882)
* add preliminary afqmc support in qmcpack * afqmc updates * fix spack typos * edit AFQMC to only allow up 3.7 or above * added NCCL library support for AFQMC build * add CMAKE args for BUILD_AFQMC_WITH_NCCL * update for just AFQMC support. No AFQMC+GPU support * remove nccl for afqmc * flake8 whitespace fix
This commit is contained in:
parent
8a4f02fb2d
commit
7df761564a
@ -57,6 +57,8 @@ class Qmcpack(CMakePackage, CudaPackage):
|
|||||||
description='Install with Matplotlib (long installation time)')
|
description='Install with Matplotlib (long installation time)')
|
||||||
variant('qe', default=False,
|
variant('qe', default=False,
|
||||||
description='Install with patched Quantum Espresso 6.4.1')
|
description='Install with patched Quantum Espresso 6.4.1')
|
||||||
|
variant('afqmc', default=False,
|
||||||
|
description='Install with AFQMC support')
|
||||||
|
|
||||||
# cuda variant implies mixed precision variant by default, but there is
|
# cuda variant implies mixed precision variant by default, but there is
|
||||||
# no way to express this in variant syntax, need something like
|
# no way to express this in variant syntax, need something like
|
||||||
@ -94,6 +96,12 @@ class Qmcpack(CMakePackage, CudaPackage):
|
|||||||
conflicts('%pgi@:17', when='@3.6.0:', msg=compiler_warning)
|
conflicts('%pgi@:17', when='@3.6.0:', msg=compiler_warning)
|
||||||
conflicts('%llvm@:3.4', when='@3.6.0:', msg=compiler_warning)
|
conflicts('%llvm@:3.4', when='@3.6.0:', msg=compiler_warning)
|
||||||
|
|
||||||
|
conflicts('+afqmc', when='@:3.6.0', msg='AFQMC not recommended before v3.7')
|
||||||
|
conflicts('+afqmc', when='~mpi', msg='AFQMC requires building with +mpi')
|
||||||
|
conflicts('+afqmc', when='%gcc@:6.0', msg='AFQMC code requires gcc@6.1 or greater')
|
||||||
|
conflicts('+afqmc', when='%clang@:4.0', msg='AFQMC code requires clang 4.1 or greater')
|
||||||
|
conflicts('+afqmc', when='%intel@:18', msg='AFQMC code requires intel19 or greater')
|
||||||
|
|
||||||
# Prior to QMCPACK 3.5.0 Intel MKL was not properly detected with
|
# Prior to QMCPACK 3.5.0 Intel MKL was not properly detected with
|
||||||
# non-Intel compilers without a Spack-based hack. This hack
|
# non-Intel compilers without a Spack-based hack. This hack
|
||||||
# had the potential for negative side effects and led to more
|
# had the potential for negative side effects and led to more
|
||||||
@ -231,6 +239,11 @@ def cmake_args(self):
|
|||||||
else:
|
else:
|
||||||
args.append('-DQMC_COMPLEX=0')
|
args.append('-DQMC_COMPLEX=0')
|
||||||
|
|
||||||
|
if '+afqmc' in spec:
|
||||||
|
args.append('-DBUILD_AFQMC=1')
|
||||||
|
else:
|
||||||
|
args.append('-DBUILD_AFQMC=0')
|
||||||
|
|
||||||
# When '-DQMC_CUDA=1', CMake automatically sets:
|
# When '-DQMC_CUDA=1', CMake automatically sets:
|
||||||
# '-DQMC_MIXED_PRECISION=1'
|
# '-DQMC_MIXED_PRECISION=1'
|
||||||
#
|
#
|
||||||
|
Loading…
Reference in New Issue
Block a user