summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorAndrew W Elble <aweits@rit.edu>2021-04-06 02:57:03 -0400
committerGitHub <noreply@github.com>2021-04-06 08:57:03 +0200
commit6e48e29c756a87ffdc121b0dc8d90357e3039629 (patch)
treed8ef8eb897a48f481b4fb8541ced776e2df07513 /var
parent1c0230f7d0add83c36daadcf88bda72500e49015 (diff)
downloadspack-6e48e29c756a87ffdc121b0dc8d90357e3039629.tar.gz
spack-6e48e29c756a87ffdc121b0dc8d90357e3039629.tar.bz2
spack-6e48e29c756a87ffdc121b0dc8d90357e3039629.tar.xz
spack-6e48e29c756a87ffdc121b0dc8d90357e3039629.zip
gpu-burn: add v1.1 and "master" (#22778)
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/gpu-burn/Makefile.patch18
-rw-r--r--var/spack/repos/builtin/packages/gpu-burn/package.py43
2 files changed, 18 insertions, 43 deletions
diff --git a/var/spack/repos/builtin/packages/gpu-burn/Makefile.patch b/var/spack/repos/builtin/packages/gpu-burn/Makefile.patch
deleted file mode 100644
index 67df81bd06..0000000000
--- a/var/spack/repos/builtin/packages/gpu-burn/Makefile.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- a/Makefile 2018-12-08 05:36:48.000000000 -0600
-+++ b/Makefile 2019-10-04 13:08:37.095337704 -0500
-@@ -1,12 +1,6 @@
--CUDAPATH=/usr/local/cuda
--
--# Have this point to an old enough gcc (for nvcc)
--GCCPATH=/usr
--
- NVCC=nvcc
--CCPATH=${GCCPATH}/bin
-
- drv:
-- PATH=${PATH}:.:${CCPATH}:${PATH} ${NVCC} -I${CUDAPATH}/include -arch=compute_30 -ptx compare.cu -o compare.ptx
-- g++ -O3 -Wno-unused-result -I${CUDAPATH}/include -c gpu_burn-drv.cpp
-- g++ -o gpu_burn gpu_burn-drv.o -O3 -lcuda -L${CUDAPATH}/lib64 -L${CUDAPATH}/lib -Wl,-rpath=${CUDAPATH}/lib64 -Wl,-rpath=${CUDAPATH}/lib -lcublas -lcudart -o gpu_burn
-+ ${NVCC} -arch=compute_30 -ptx compare.cu -o compare.ptx
-+ $(CXX) -O3 -Wno-unused-result -c gpu_burn-drv.cpp
-+ $(CXX) -o gpu_burn gpu_burn-drv.o -O3 -lcuda -lcublas -lcudart -o gpu_burn
diff --git a/var/spack/repos/builtin/packages/gpu-burn/package.py b/var/spack/repos/builtin/packages/gpu-burn/package.py
index 3d1dfe541d..15d2dd5b8f 100644
--- a/var/spack/repos/builtin/packages/gpu-burn/package.py
+++ b/var/spack/repos/builtin/packages/gpu-burn/package.py
@@ -3,21 +3,18 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
-from spack import *
-
class GpuBurn(MakefilePackage, CudaPackage):
- """Multi-GPU CUDA stress test. Note that the file pointed to by COMPARE_PTX
- needs to be copied or linked to the current working directory before
- running gpu_burn."""
+ """Multi-GPU CUDA stress test."""
homepage = "http://wili.cc/blog/gpu-burn.html"
url = "http://wili.cc/blog/entries/gpu-burn/gpu_burn-1.0.tar.gz"
+ git = "https://github.com/wilicc/gpu-burn"
+ version('master', branch='master')
+ version('1.1', sha256='9876dbf7ab17b3072e9bc657034ab39bdedb219478f57c4e93314c78ae2d6376')
version('1.0', sha256='d55994f0bee8dabf021966dbe574ef52be1e43386faeee91318dd4ebb36aa74a')
- patch('Makefile.patch')
-
# This package uses CudaPackage to pick up the cuda_arch variant. A side
# effect is that it also picks up the cuda variant, but cuda is required
# for gpu-burn so is not really a variant.
@@ -26,31 +23,27 @@ class GpuBurn(MakefilePackage, CudaPackage):
conflicts('~cuda', msg='gpu-burn requires cuda')
conflicts('cuda_arch=none', msg='must select a CUDA architecture')
- cuda_arch_values = CudaPackage.cuda_arch_values
- variant(
- 'cuda_arch',
- description='CUDA architecture',
- default='none',
- values=('none',) + cuda_arch_values,
- multi=False
- )
-
def edit(self, spec, prefix):
# update cuda architecture if necessary
if '+cuda' in self.spec:
cuda_arch = self.spec.variants['cuda_arch'].value
- archflag = '-arch=compute_{0}'.format(cuda_arch)
- filter_file('-arch=compute_30', archflag,
- 'Makefile', string=True)
+ archflag = " ".join(CudaPackage.cuda_flags(cuda_arch))
+ with open('Makefile', 'w') as fh:
+ fh.write('drv:\n')
+ fh.write('\tnvcc {0} -fatbin '
+ 'compare.cu -o compare.ptx\n'.format(archflag))
+ fh.write('\tg++ -O3 -c gpu_burn-drv.cpp\n')
+ fh.write('\tg++ -o gpu_burn gpu_burn-drv.o -O3 -lcuda '
+ '-lcublas -lcudart -o gpu_burn\n')
+
+ filter_file('compare.ptx',
+ join_path(prefix.share,
+ 'compare.ptx'),
+ 'gpu_burn-drv.cpp',
+ string=True)
def install(self, spec, prefix):
mkdir(prefix.bin)
mkdir(prefix.share)
install('gpu_burn', prefix.bin)
install('compare.ptx', prefix.share)
-
- # The gpu_burn program looks for the compare.ptx file in the current
- # working directory. Create an environment variable that can be pointed to
- # so that it can be copied or linked.
- def setup_run_environment(self, env):
- env.set('COMPARE_PTX', join_path(self.prefix.share, 'compare.ptx'))