diff options
author | Robert Pavel <rspavel@lanl.gov> | 2020-09-10 15:53:13 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-10 16:53:13 -0500 |
commit | 3fabdb6e9b5af649b11c08b077fc3d5cf48ad5b4 (patch) | |
tree | edbd5f2665b722f5b68514ad015355e734d0ab20 | |
parent | ff6ca57ddac48b7109dfd5c7fa356a4c74b6289a (diff) | |
download | spack-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.py | 17 |
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) |