Hypre wrappers
Links to upstream documentation:
- https://hypre.readthedocs.io/en/latest/ch-ij.html
- https://hypre.readthedocs.io/en/latest/ch-solvers.html
- https://hypre.readthedocs.io/_/downloads/en/latest/pdf/
- https://hypre.readthedocs.io/en/latest/api-int-ij.html
- https://hypre.readthedocs.io/en/latest/api-sol-parcsr.html
Checklist:
-
HypreVector, HypreParVector -
HypreCSRMatrix -
HypreParCSRMatrix -
implement copy-constructors and copy-assignment operators -
modify our DistributedMatrix to separate the diag and offd blocks like Hypre, so we can bind to its data without actually copying anything
Solvers:
-
HypreSolver -
HypreBoomerAMG: refactor/finish setSystemsOptions, setAdvectiveOptions, setElasticityOptions -
interface for configuring solver parameters from command-line -
interoperability between TNL solvers and Hypre preconditioners -
use TNL base classes for Hypre solvers and preconditioners?
General:
-
port an example to TNL: https://github.com/hypre-space/hypre/blob/master/src/examples/ex5.c -
GPU support -
make sure Hypre is tested in the CI
Edited by Jakub Klinkovský