summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Hammond <jehammond@nvidia.com>2024-10-27 07:54:06 +0200
committerGitHub <noreply@github.com>2024-10-27 06:54:06 +0100
commit019e90ab36876489ac7cd9501eb8719647f58a94 (patch)
tree954d024a86898a4afa15718d0fc1e0c374327587
parent19137b26533565153fda6cea4253b4ec7811d5d6 (diff)
downloadspack-019e90ab36876489ac7cd9501eb8719647f58a94.tar.gz
spack-019e90ab36876489ac7cd9501eb8719647f58a94.tar.bz2
spack-019e90ab36876489ac7cd9501eb8719647f58a94.tar.xz
spack-019e90ab36876489ac7cd9501eb8719647f58a94.zip
NWChem: add TCE_CUDA option (#47191)
Signed-off-by: Jeff Hammond <jehammond@nvidia.com>
-rw-r--r--var/spack/repos/builtin/packages/nwchem/package.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/nwchem/package.py b/var/spack/repos/builtin/packages/nwchem/package.py
index 1e7d6472b8..a3882f55f1 100644
--- a/var/spack/repos/builtin/packages/nwchem/package.py
+++ b/var/spack/repos/builtin/packages/nwchem/package.py
@@ -58,6 +58,7 @@ class Nwchem(Package):
default=False,
description="Enables rarely-used TCE features (CCSDTQ, CCSDTLR, EACCSD, IPCCSD, MRCC)",
)
+ variant("tcecuda", default=False, description="Enable TCE CCSD(T) CUDA support")
variant("fftw3", default=False, description="Link against the FFTW library")
variant("libxc", default=False, description="Support additional functionals via libxc")
variant(
@@ -87,6 +88,7 @@ class Nwchem(Package):
depends_on("blas")
depends_on("lapack")
depends_on("mpi")
+ depends_on("cuda", when="+tcecuda")
depends_on("armcimpi", when="armci=armcimpi")
depends_on("libfabric", when="armci=ofi")
depends_on("rdma-core", when="armci=openib")
@@ -156,6 +158,12 @@ class Nwchem(Package):
args.extend(["CCSDTLR=y"])
args.extend(["CCSDTQ=y"])
+ if spec.satisfies("+tcecuda"):
+ args.extend(["TCE_CUDA=y"])
+ args.extend(["CUDA_INCLUDE=-I{0}".format(self.spec["cuda"].headers.directories[0])])
+ # args.extend(["CUDA_LIBS={0}".format(self.spec["cuda"].libs)])
+ args.extend(["CUDA_LIBS=-L{0} -lcudart".format(self.spec["cuda"].libs.directories[0])])
+
if spec.satisfies("+openmp"):
args.extend(["USE_OPENMP=y"])