gpo.zugaina.org

Search Portage & Overlays:

sci-libs/rocALUTION

Sparse iterative solvers and preconditioners on the ROCm platform

Screenshots

  • rocALUTION-10.0.0
    ~amd64
    +openmp mpi test +amdgpu_targets_gfx908 +amdgpu_targets_gfx90a +amdgpu_targets_gfx942 +amdgpu_targets_gfx950 +amdgpu_targets_gfx1030 +amdgpu_targets_gfx1100 +amdgpu_targets_gfx1101 +amdgpu_targets_gfx1102 +amdgpu_targets_gfx1103 +amdgpu_targets_gfx1150 +amdgpu_targets_gfx1151 +amdgpu_targets_gfx1152 +amdgpu_targets_gfx1153 +amdgpu_targets_gfx1200 +amdgpu_targets_gfx1201 amdgpu_targets_gfx803 amdgpu_targets_gfx900 amdgpu_targets_gfx906 amdgpu_targets_gfx940 amdgpu_targets_gfx941 amdgpu_targets_gfx1010 amdgpu_targets_gfx1011 amdgpu_targets_gfx1012 amdgpu_targets_gfx1031

    View      Download      Browse     License: MIT   
    Overlay: stuff

ChangeLog

commit ea991b78d45c4481d0b5ab966c08d44008e89bc4
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Aug 31 00:50:14 2026 +0200

sci-libs/rocALUTION: new package, add 10.0.0

Sparse ITERATIVE solver layer of the ROCm math stack -- Krylov methods,
algebraic and geometric multigrid, and the matching preconditioners -- sitting
above sci-libs/rocSPARSE, which supplies only the sparse primitives. ::gentoo
carries no rocALUTION at any version and nothing else in the tree provides it.

The one thing worth knowing about this package is that it FAILS SILENTLY. The
GPU backend is reached through the LEGACY FindHIP module, because rocALUTION
wants hip_add_library, which the modern hip-config.cmake does not provide.
dev-util/hip installs that module to /usr/$(get_libdir)/cmake/hip, which is not
on CMake's default module path, so find_package(HIP MODULE) fails -- and
SUPPORT_HIP, being a cmake_dependent_option, then forces ITSELF OFF instead of
erroring. The result builds, installs and links cleanly and is completely
CPU-only: base/hip/* is never compiled and librocalution links no ROCm library
at all. -DSUPPORT_HIP=ON does not help, since cmake_dependent_option overrides
the command line when its condition is false.

That is what the first build of this ebuild produced, and nothing in the log
called it an error -- the giveaway was a 14 MiB install tree that linked only
libomp. Setting CMAKE_MODULE_PATH fixes it (39 MiB, and a second
librocalution_hip.so appears), and src_install now asserts that library exists
rather than trusting the configure output, so the degradation cannot come back
unnoticed.

Dependencies follow the built artifact, not the CMake text: objdump -p on
librocalution_hip.so.1.0.0 reports librocsparse.so.1, librocrand.so.1,
librocblas.so.5 and libamdhip64.so.7. rocPRIM is deliberately DEPEND-only --
it is header-only and does not appear as NEEDED, matching sci-libs/rocSOLVER.

SUPPORT_OMP and SUPPORT_MPI are driven explicitly from USE rather than left to
upstream's defaults (ON and OFF respectively), so a default flip upstream
cannot silently change what we ship.

Build-verified and run-verified on gfx1150: a 4096-unknown 1D Laplacian solved
with CG on the accelerator reports "Accelerator backend: HIP", "Device name:
AMD Radeon 890M Graphics", and converges in 2048 iterations to a true residual
of 2.9e-11.