summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/rocsolver/package.py
diff options
context:
space:
mode:
Diffstat (limited to 'var/spack/repos/builtin/packages/rocsolver/package.py')
-rw-r--r--var/spack/repos/builtin/packages/rocsolver/package.py25
1 files changed, 21 insertions, 4 deletions
diff --git a/var/spack/repos/builtin/packages/rocsolver/package.py b/var/spack/repos/builtin/packages/rocsolver/package.py
index 33a95a4253..c540ddbb00 100644
--- a/var/spack/repos/builtin/packages/rocsolver/package.py
+++ b/var/spack/repos/builtin/packages/rocsolver/package.py
@@ -1,4 +1,4 @@
-# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
+# Copyright 2013-2021 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)
@@ -12,10 +12,19 @@ class Rocsolver(CMakePackage):
homepage = "https://github.com/ROCmSoftwarePlatform/rocSOLVER"
git = "https://github.com/ROCmSoftwarePlatform/rocSOLVER.git"
- url = "https://github.com/ROCmSoftwarePlatform/rocSOLVER/archive/rocm-3.8.0.tar.gz"
+ url = "https://github.com/ROCmSoftwarePlatform/rocSOLVER/archive/rocm-4.2.0.tar.gz"
maintainers = ['srekolam', 'arjun-raj-kuppala']
+ variant('optimal', default=True,
+ description='This option improves performance at the cost of increased binary \
+ size and compile time by adding specialized kernels \
+ for small matrix sizes')
+
+ version('4.2.0', sha256='e9ef72d7c29e7c36bf02be63a64ca23b444e1ca71751749f7d66647873d9fdea')
+ version('4.1.0', sha256='da5cc800dabf7367b02b73c93780b2967f112bb45232e4b06e5fd07b4d5b8d88')
+ version('4.0.0', sha256='be9a52644c276813f76d78f2c11eddaf8c2d7f9dd04f4570f23d328ad30d5880')
+ version('3.10.0', sha256='bc72483656b6b23a1e321913a580ca460da3bc5976404647536a01857f178dd2')
version('3.9.0', sha256='85fd77fe5acf5af518d11e90e2c03ee0c5abd61071cea86ef5df09f944879648')
version('3.8.0', sha256='72aa74284944d8b454088e8c8d74cf05464a4e2e46d33a57017ddd009113025e')
version('3.7.0', sha256='8c1c630595952806e658c539fd0f3056bd45bafc22b57f0dd10141abefbe4595')
@@ -24,21 +33,29 @@ class Rocsolver(CMakePackage):
depends_on('cmake@3:', type='build')
depends_on('numactl', type='link', when='@3.7.0:')
- for ver in ['3.7.0', '3.8.0', '3.9.0']:
+ for ver in ['3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', '4.2.0']:
depends_on('hsa-rocr-dev@' + ver, type='build', when='@' + ver)
- for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0']:
+ for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0',
+ '4.2.0']:
depends_on('hip@' + ver, type='build', when='@' + ver)
depends_on('rocm-device-libs@' + ver, type='build', when='@' + ver)
depends_on('comgr@' + ver, type='build', when='@' + ver)
depends_on('rocblas@' + ver, type='link', when='@' + ver)
def cmake_args(self):
+ incl = self.spec['rocblas'].prefix
args = [
'-DBUILD_CLIENTS_SAMPLES=OFF',
'-DBUILD_CLIENTS_TESTS=OFF',
'-DBUILD_CLIENTS_BENCHMARKS=OFF'
]
+ if self.spec.satisfies('@4.1.0:'):
+ args.append('-DCMAKE_CXX_FLAGS:String=-I{0}/rocblas/include'.format(incl))
+
+ if self.spec.satisfies('@3.7.0:'):
+ args.append(self.define_from_variant('OPTIMAL', 'optimal'))
+
return args
def setup_build_environment(self, env):