[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1023168: ITP: rocalution -- ROCm library for iterative sparse solvers



Package: wnpp
Severity: wishlist
Owner: Cordell Bloor <cgmb@slerp.xyz>
X-Debbugs-Cc: debian-devel@lists.debian.org, cgmb@slerp.xyz, debian-ai@lists.debian.org

* Package name    : rocalution
  Version         : 5.3.0
  Upstream Author : Advanced Micro Devices, Inc.
* URL             : https://github.com/ROCmSoftwarePlatform/rocALUTION
* License         : Expat (MIT/X)
  Programming Lang: C++
  Description     : ROCm library for iterative sparse solvers

 rocALUTION is a library that provides iterative sparse preconditioners and
 solvers. The rocALUTION project began as a port of PARALUTION to the AMD ROCm
 platform. As such, it supports an OpenMP backend for multi-core CPUs, a HIP
 backend for discrete AMD GPUs, and an MPI backend for multi-node clusters and
 multi-GPU setups. 
 .
 rocALUTION provides a C++ API containing implementations of fixed-point
 iteration schemes such as Jacobi iteration and Gauss-Seidel; Krylov subspace
 methods such as the conjugate gradient method and the biconjugate gradient
 stabilized method; a mixed-precision defect correction scheme; a Chebyshev
 iteration scheme; as well as geometric and algebraic multigrid solvers. There
 are also a wide variety of sparse preconditioners, including several based on
 matrix splitting schemes, factorization schemes, and approximate inverses.

I'm not sure which libraries use rocALUTION. It is one of the few
libraries in the ROCm stack that's not a dependency of PyTorch or
Tensorflow. However, it is an incredibly useful library nonetheless.

These sparse iterative solvers are commonly used in Eulerian fluid simulations
for the pressure solve. The pressure solve is typically the slowest part of an
incompressible fluid simulation and rocALUTION provides highly optimized
and parallelized implementations, enabling much larger simulations than
could be run on a single machine. Long ago, I implemented some of these
algorithms myself and it took me weeks. Even then, my implementation didn't
nearly approach the quality of rocALUTION. (There's probably lots of other
uses for rocALUTION, but I did my M.Sc. on fluid sims so that's what I know.)

This package is part of AMD's ROCm stack and will be maintained under the
Debian AI team umbrella.


Reply to: