summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorDavid Elsing <david.elsing@posteo.net>2026-02-03 21:33:21 +0100
committerLudovic Courtès <ludo@gnu.org>2026-02-10 23:46:37 +0100
commit1005b1648a88d031b6cce69514f7bb5c1a42907f (patch)
treee71e3eaebf41f81b44bf64c6cbcc32e0b8423388 /gnu
parent6671f03a761bd42a78958f141083f107cc90bf9b (diff)
gnu: Add hipsolver.
* gnu/packages/rocm-libs.scm (hipsolver): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/rocm-libs.scm37
1 files changed, 37 insertions, 0 deletions
diff --git a/gnu/packages/rocm-libs.scm b/gnu/packages/rocm-libs.scm
index 2459b255d35..fec31d96248 100644
--- a/gnu/packages/rocm-libs.scm
+++ b/gnu/packages/rocm-libs.scm
@@ -33,6 +33,7 @@
#:use-module (gnu packages llvm)
#:use-module (gnu packages logging)
#:use-module (gnu packages maths)
+ #:use-module (gnu packages pkg-config)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
@@ -601,3 +602,39 @@ algebra on GPUs, in particular via rocSPARSE for AMD GPUs.")
(description "rocSOLVER is a partial implementation of the LAPACK
functionality for ROCm. It is written in the HIP programming language.")
(license license:bsd-2)))
+
+(define-public hipsolver
+ (package
+ (name "hipsolver")
+ (version %rocm-version)
+ (source (rocm-library-source "hipsolver"))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ #:tests? #f ; requires GPU
+ #:build-type "Release"
+ #:configure-flags
+ #~(list
+ "-DCMAKE_CXX_COMPILER=hipcc"
+ #$(string-append "-DAMDGPU_TARGETS=" (current-amd-gpu-targets-string)))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'suitesparse-include
+ (lambda _
+ (substitute* "library/src/amd_detail/hipsolver_sparse.cpp"
+ (("<suitesparse/cholmod\\.h>")
+ "<cholmod.h>")))))))
+ (inputs (list
+ rocblas
+ rocm-hip-runtime
+ rocsolver
+ rocsparse
+ suitesparse-config
+ suitesparse-cholmod))
+ (native-inputs (list gfortran pkg-config rocm-cmake rocm-toolchain))
+ (properties `((amd-gpu-targets . ,%default-amd-gpu-targets)))
+ (home-page %rocm-libraries-url)
+ (synopsis "LAPACK library with multiple supported backends")
+ (description "This package contains a wrapper library for LAPACK on GPUs,
+in particular via rocSOLVER for AMD GPUs.")
+ (license license:expat)))