HIPS
HIPS (Hierarchical Iterative Parallel Solver) est un solveur de systèmes linéaires creux en parallèle.
HIPS prend en compte les systèmes linéaires :
- symétriques / non symétriques,
- réels / complexes (simple ou double précision).
Plusieurs méthodes de résolutions sont proposées en fonction du rapport mémoire/performance souhaité :
- hybride directe/itérative,
- itérative.
Les techniques de résolution de HIPS utilisent une décomposition du graphe des inconnues en sous-domaines et l'utilisation de préconditionneurs à base de factorisations incomplètes très robustes.
Les techniques de résolutions de HIPS proposent des méthodes offrant un degré de parallélisme similaire aux méthodes de type Schwarz Additif mais sont beaucoup plus robustes (convergence, scalabilité).
Les méthodes hybrides directes/itératives permettent d'allier la performance d'une méthode directe au faible coût mémoire d'une méthode itérative.
HIPS est un logiciel principalement écrit en C. La bibliothèque HIPS peut être appelée d'un programme en Fortran / C ou C++.
Le format d'entrée pour les matrices peut être :
- le format coordonnée (I, J, value),
- le format Compress Storage Row (CSR).
Les matrices peuvent être entrées en parallèle (matrices locales) ou en séquentiel (matrice globale).
HIPS est principalement destiné aux codes utilisant des résolutions de systèmes linéaires creux.
Une grande proportion de ceux-ci concernent des codes visant la résolution d'EDP (équation aux dérivées partielles).
HIPS est depuis peu en ligne. HIPS est déjà testé/utilisé par le CEA/CESTA (problèmes d'électromagnétismes type Maxwell) et l'IFP (simulation de réservoir).