summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Pavel <rspavel@lanl.gov>2020-09-10 15:53:13 -0600
committerGitHub <noreply@github.com>2020-09-10 16:53:13 -0500
commit3fabdb6e9b5af649b11c08b077fc3d5cf48ad5b4 (patch)
treeedbd5f2665b722f5b68514ad015355e734d0ab20
parentff6ca57ddac48b7109dfd5c7fa356a4c74b6289a (diff)
downloadspack-3fabdb6e9b5af649b11c08b077fc3d5cf48ad5b4.tar.gz
spack-3fabdb6e9b5af649b11c08b077fc3d5cf48ad5b4.tar.bz2
spack-3fabdb6e9b5af649b11c08b077fc3d5cf48ad5b4.tar.xz
spack-3fabdb6e9b5af649b11c08b077fc3d5cf48ad5b4.zip
Adding Cuda Variant to SW4Lite (#18590)
* Adding Cuda Variant to SW4Lite Added cuda variant of sw4lite as per guidance in README * Updated SW4Lite+cuda to Current Header Conventions Updated sw4lite+cuda to use current conventions for spackage include dirs * Fixing FLake8 Issue with Sw4lite+cuda Fix Fixed overly long line and further underlined sticky note reminding me to run flake8 BEFORE pushing * Switching to Spack Compiler Wrapper Switching to spack compiler wrapper for consistency
-rw-r--r--var/spack/repos/builtin/packages/sw4lite/package.py17
1 files changed, 16 insertions, 1 deletions
diff --git a/var/spack/repos/builtin/packages/sw4lite/package.py b/var/spack/repos/builtin/packages/sw4lite/package.py
index 72b86390b6..815360c259 100644
--- a/var/spack/repos/builtin/packages/sw4lite/package.py
+++ b/var/spack/repos/builtin/packages/sw4lite/package.py
@@ -4,7 +4,7 @@
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
-class Sw4lite(MakefilePackage):
+class Sw4lite(MakefilePackage, CudaPackage):
"""Sw4lite is a bare bone version of SW4 intended for testing
performance optimizations in a few important numerical kernels of SW4."""
@@ -52,6 +52,15 @@ class Sw4lite(MakefilePackage):
cxxflags.append('-DSW4_CROUTINES')
targets.append('ckernel=yes')
+ if '+cuda' in self.spec:
+ targets.append('NVCC = {0}'.format(
+ self.spec['cuda'].prefix.bin.nvcc))
+ targets.append('HOSTCOMP = {0}'.format(spack_cxx))
+ targets.append('MPIPATH= {0} '.format(self.spec['mpi'].prefix))
+ targets.append('gpuarch= {0}'.format(self.cuda_flags(cuda_arch)))
+ targets.append('MPIINC = {0}'.format(
+ self.spec['mpi'].headers.directories[0]))
+
targets.append('FC=' + spec['mpi'].mpifc)
targets.append('CXX=' + spec['mpi'].mpicxx)
@@ -70,6 +79,12 @@ class Sw4lite(MakefilePackage):
return targets
+ def build(self, spec, prefix):
+ if '+cuda' in spec:
+ make('-f', 'Makefile.cuda')
+ else:
+ make('-f', 'Makefile')
+
def install(self, spec, prefix):
mkdir(prefix.bin)
install('*/sw4lite', prefix.bin)