summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorSimon Frasch <zeadream.play@gmail.com>2020-08-04 19:24:07 +0200
committerGitHub <noreply@github.com>2020-08-04 12:24:07 -0500
commitcb676eab0f0c0083e98149cc229aa377c9a4b45e (patch)
treee6b15344266bd73a40ca3224eb051b38a6bb2039 /var
parent4eb3558d203f39a7cf7a1f5847163f51fe91cd28 (diff)
downloadspack-cb676eab0f0c0083e98149cc229aa377c9a4b45e.tar.gz
spack-cb676eab0f0c0083e98149cc229aa377c9a4b45e.tar.bz2
spack-cb676eab0f0c0083e98149cc229aa377c9a4b45e.tar.xz
spack-cb676eab0f0c0083e98149cc229aa377c9a4b45e.zip
Added new package: spla (#17868)
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/spla/package.py47
1 files changed, 47 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/spla/package.py b/var/spack/repos/builtin/packages/spla/package.py
new file mode 100644
index 0000000000..2c84d14524
--- /dev/null
+++ b/var/spack/repos/builtin/packages/spla/package.py
@@ -0,0 +1,47 @@
+# 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 Spla(CMakePackage):
+ """Specialized Parallel Linear Algebra, providing distributed GEMM
+ functionality for specific matrix distributions with optional GPU
+ acceleration."""
+
+ homepage = "https://github.com/eth-cscs/spla"
+ url = "https://github.com/eth-cscs/spla/archive/v1.0.0.tar.gz"
+ git = 'https://github.com/eth-cscs/spla.git'
+
+ version('1.0.0', sha256='a0eb269b84d7525b223dc650de12170bba30fbb3ae4f93eb2b5cbdce335e4da1')
+ version('master', branch='master')
+
+ variant('openmp', default=True, description="Build with OpenMP support")
+ variant('static', default=False, description="Build as static library")
+ variant('cuda', default=False, description="CUDA")
+
+ depends_on('mpi')
+ depends_on('blas')
+ depends_on('cuda', when='+cuda')
+ depends_on('cmake@3.10:', type='build')
+
+ def cmake_args(self):
+ args = []
+
+ if '+openmp' in self.spec:
+ args += ["-DSPLA_OMP=ON"]
+ else:
+ args += ["-DSPLA_OMP=OFF"]
+
+ if '+cuda' in self.spec:
+ args += ["-DSPLA_GPU_BACKEND=CUDA"]
+ else:
+ args += ["-DSPLA_GPU_BACKEND=OFF"]
+
+ if '+static' in self.spec:
+ args += ["-DSPLA_STATIC=ON"]
+ else:
+ args += ["-DSPLA_STATIC=OFF"]
+ return args