summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/graphblast/package.py42
1 files changed, 42 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/graphblast/package.py b/var/spack/repos/builtin/packages/graphblast/package.py
new file mode 100644
index 0000000000..59ef3d3cb3
--- /dev/null
+++ b/var/spack/repos/builtin/packages/graphblast/package.py
@@ -0,0 +1,42 @@
+# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class Graphblast(MakefilePackage, CudaPackage):
+ """High-Performance Linear Algebra-based Graph Primitives on GPUs"""
+
+ homepage = "https://github.com/gunrock/graphblast"
+ git = "https://github.com/gunrock/graphblast.git"
+
+ version('master', submodules=True)
+ version('2020-05-07', submodules=True, commit='1a052558a71f2cd67f5d6fe9db3b274c303ef8f6', preferred=True)
+
+ variant('cuda', default=True, description="Build with Cuda support")
+
+ depends_on('boost +program_options')
+
+ # This package is confirmed to compile with:
+ # gcc@:5.4.0,7.5.0 , boost@1.58.0:1.60.0 , cuda@9:
+
+ # TODO: the package doesn't compile as CMakePackage
+ # once that is fixed it should be converted to a CMakePackage type.
+
+ conflicts('cuda_arch=none', when='+cuda',
+ msg='Must specify CUDA compute capabilities of your GPU. \
+See "spack info graphblast"')
+
+ def install(self, spec, prefix):
+ install_tree(self.build_directory, self.prefix)
+
+ def patch(self):
+ cuda_arch_list = self.spec.variants['cuda_arch'].value
+ arches = 'ARCH = '
+ for i in cuda_arch_list:
+ arches = arches +\
+ ' -gencode arch=compute_{0},code=compute_{0}'.format(i)
+ makefile = FileFilter('common.mk')
+ makefile.filter(r'^ARCH =.*', arches)