SAMG – große lineare Gleichungssysteme effizient lösen

Besonderheiten

  • Software-Bibliothek zur hoch­effizienten Lösung großer linearer Gleichungssysteme
  • Optimalitätsprinzip: Der Rechenaufwand mit SAMG ist nur linear von der Anzahl der Unbekannten abhängig
  • Vielseitig und erweiterbar: SAMG umfasst alle bekannten Algorithmen der Mehrgitter-Technologie und weitere neuentwickelte Spezialisierungen.
  • Performant und portabel: Hochoptimierte Kerne erzielen auf diversen Rechnersystemen hohe Leistungen.
  • Skalierbar: SAMG ist hochparallel und läuft auf bis zu 10000 Cores.
 

Bibliothek SAMG

SAMG (Algebraische Mehrgitterverfahren für Systeme) ist eine Software-Bibliothek zur hocheffizienten Lösung großer linearer Gleichungssysteme mit dünnbesetzten Matrizen.

Beschreibung der SAMG-Software

SAMG (Algebraische Mehrgitterverfahren für Systeme) ist eine Bibliothek von Unterroutinen zur hocheffizienten Lösung großer linearer Gleichungssysteme mit dünnbesetzten Matrizen. Solche Gleichungssysteme bilden den numerischen Kern der meisten Simulationssoftwarepakete. In der Regel macht die numerische Lösung dieser linearen Gleichungssysteme den bei weitem rechenintensivsten Teil einer kompletten Simulation aus.

Gegenüber klassischen Verfahren (zum Beispiel durch ILU vorkonditionierten Verfahren der konjugierten Gradienten) hat SAMG den großen Vorteil einer weitestgehend numerischen Skalierbarkeit. Das bedeutet, dass der Rechenaufwand mit SAMG nur linear von der Anzahl der Unbekannten abhängig ist. Je nach Anwendung und Problemgröße kann der dadurch bedingte Rechenzeitgewinn ein bis zwei Größenordnungen ausmachen. Dabei lässt sich SAMG genauso einfach in ein existierendes Simulationspaket integrieren wie ein klassisches Verfahren.

Unsere Löserbibliothek ist in folgenden Versionen verfügbar:

Für heutige Multicore-Rechner

  • SAMG
  • OpenMP parallel

Für Multicore-Cluster

Für parallele Codes: SAMGp

  • MPI / OpenMP hybrid parallel

Für nicht-parallele Codes: XSAMG

  • MPI / OpenMP hybrid parallel mit automatischer Datenverteilung von sequentiellen Codes

Lizenzen

 

SAMG Portfolio

SAMG gruppiert sich um ein Kernpaket, »SAMG-Core«, und bietet optionale »Module« an, die den gezielten optimierten Einsatz von SAMG in mehreren spezifischen Anwendungsbereichen ermöglichen.

Bitte kontaktieren Sie uns für weitere Informationen.
Derzeit sind die folgenden Pakete verfügbar:

 

SAMG-Core

Das Kernstück von SAMG. Löst große lineare Systeme, die in dem Sinne »einfach« gestellt sind, dass sie nur eine (physikalische) Entität ohne weitere Informationen beschreiben. Beispiele sind »Poisson-artige« diskretisierte physikalische Gleichungen, etwa Druck-, Wärmeleitungs- oder Potentialgleichungen – sie sind in der technischen Numerik von zentraler Bedeutung und »die« Domäne von Mehrgitter-Verfahren.

Die folgenden Erweiterungsmodule enthalten Komponenten von SAMG-Core und nutzen deren Vorteile.

 

SAMG-Constraints

Spezielle Uzawa-Glättungs- und Schur-Komplement-Ansätze zur Behandlung von Nebenbedingungen in linearen Gleichungssystemen.

SAMG-Constraints eignet sich für lineare Systeme, die eine Sattelpunktstruktur oder viele Nebenbedingungen, auch auf verschiedenen Skalen, aufweisen. Klassische iterative Löseransätze funktionieren dann oft nicht: Die Teile des Systems erfordern eine individuelle Behandlung und Skalierungsprobleme können Rundungseffekte verursachen. SAMG-Constraints löst diese Probleme u.a. durch spezielle Glättungsverfahren.

 

SAMG-Elasticity

Spezialisierte Erweiterungen, die gezielt auf schwierige lineare Elastizitätsprobleme ausgerichtet sind.

Das Erweiterungsmodul SAMG-Elasticity bietet spezielle Setup-Ansätze, die auf schlecht konditionierte lineare Systeme aus linearen Elastizitätsproblemen abzielen. Klassische, allgemeine AMG-Setup-Ansätze funktionieren in solchen Fällen möglicherweise nicht mehr, während die Ergänzung des Setups um zusätzliche Informationen einen Ausweg bietet.

 

SAMG-MPP

Das Erweiterungsmodul SAMG-MPP unterstützt die effiziente Nutzung einer großen Anzahl parallel ablaufender Prozesse.

Das Erweiterungsmodul SAMG-MPP zielt auf Anwendungen mit einer hohen Anzahl von MPI-Prozessen. In diesen Fällen kann das AMG-Setup so modifiziert werden, dass der Kommunikationsaufwand deutlich reduziert wird. Der Benutzer kann alle Einstellungen anpassen, um eine anwendungsgerechte Balance zwischen numerischer Robustheit und Rechenleistung zu erhalten.

 

SAMG-Reservoir

Erweiterungsmodul für volle, gekoppelte Jacobi-Matrizen aus FIM/AIM-Reservoirsimulationen.

Mit dem Erweiterungsmodul SAMG-Reservoir passt sich SAMG an die Art der Simulation an.

Dieses Erweiterungsmodul kann für Black-Oil-Simulationen verwendet werden. Es ist auch für nicht-isotherme Probleme und, kombiniert mit dem Erweiterungsmodul SAMG-Constraints, für gekoppelte geomechanische Anwendungen geeignet.

 

SAMG-Modflow

Erweiterung für die direkte Nutzung von SAMG im Solver Package LMG von Modflow.

SAMG-Modflow ist verfügbar für MODFLOW-2000, MODFLOW-2005, MODFLOW-USG und MODFLOW 6.

 

SAMG-ASC

Erweiterungsmodul mit einer autonom agierenden Lösersteuerung, die zu einem Problem passende Lösermethoden und-parameter mit Mitteln des Maschinellen Lernens wählt. Basierend auf einer jeweils vordefinierten Auswahl an Löserverfahren treffen evolutionäre und Surrogate-Lernverfahren die beste Auswahl für eine Anwendung.

 

SAMG-Coupled

Spezielle Funktionen zur Behandlung von Strukturen aus Systemen von PDEs. Dies ermöglicht die Anwendung von SAMG auch in Simulationen mit anspruchsvoller Physik.

Zielgruppe

Unsere Arbeiten richten sich an alle, die Softwaretools zur Durchführung großskaliger numerischer Simulationen entwickeln oder anwenden. Zusätzlich zu unserer Lösertechnologie bieten wir auch Analyse und Beratung zu Anwendungsproblemen sowie die Anpassung unserer Software auf kundenseitig betriebene Rechnersysteme, speziell Parallelrechner, an.

Grundwasser Simulation
© DHI Wasy

Anwendungen

Algebraische Mehrgitterverfahren sind aus der Idee heraus entstanden, »geometrische« Mehrgitterverfahren zur Lösung diskretisierter elliptischer Differentialgleichungen so zu verallgemeinern, dass sie direkt auf lineare Gleichungssysteme angewendet werden können, ohne geometrische Eigenschaften direkt zu benutzen. Sie sind daher besonders zur Lösung partieller Differentialgleichungen auf unstrukturierten zwei- oder dreidimensionalen Diskretisierungen geeignet, oder aber zur Lösung von Gleichungssystemen mit strukturell ähnlichen Eigenschaften.

Warum SAMG?

In vielen Anwendungen der numerischen Simulation, zum Beispiel der Strömungs- und Strukturmechanik, werden die Strukturen und Geometrien durch komplexe Gitter diskretisiert. Je feiner ein solches Gitter ist, desto genauer ist im Allgemeinen die Simulation, umso größer sind aber auch die aus dem Diskretisierungsprozess resultierenden, numerisch zu lösenden Gleichungssysteme. Bei den heute erforderlichen Simulationsgenauigkeiten ist die Zeit, in der diese Gleichungssysteme gelöst werden können, eine kritische Größe. Klassische numerische Lösungsverfahren sind nicht in der Lage, die entstehenden großen Gleichungssysteme in einer ökonomisch vertretbaren Rechenzeit zu lösen.

Die Lösungsmodule von SAMG basieren auf modernen hierarchischen Verfahrensansätzen (algebraische Mehrgittermethodik, AMG): Anstatt nur mit dem gegebenen (extrem großen) Gleichungssystem zu arbeiten, kombinieren algebraische Mehrgitterverfahren die numerische Information in einer Hierarchie immer gröberer Gleichungssysteme, um das gegebene Problem schneller zu lösen. Der zugrunde liegende Vergröberungsprozess ist automatisch und für den Benutzer von SAMG transparent.

Parallele Version von SAMG

Wir bieten SAMG für verschiedene parallele Programmiermodelle an. Alle Varianten
unterstützen die Verwendung aktueller Multicore-Rechner mittels OpenMP, während SAMGp
einen hybriden MPI/OpenMP-Ansatz anbietet, der sich auf jede Partitionierung des
Rechnengitters anwenden lässt.
Die Version XSAMG erlaubt es, zur Lösung der Gleichungssyteme parallele Rechnerarchitekturen einzusetzen, ohne selber eine parallelisierte Software entwicklen zu müssen.

Kundenmeinungen

»SAMG has been the key to improving both the robustness and performance of our General Purpose Research Simulator – GPRS. With SAMG as the workhorse linear solver, we now routinely solve problems that were simply beyond our reach. SAMG is indispensable for reservoir flow simulation of large-scale, highly heterogeneous, unstructured reservoir models.«
Prof. Hamdi Tchelepi, Petroleum Engineering Department, Stanford University

 

»For our applications, SAMG is the fastest solver in the world. SAMG has enabled us to tackle large problems faster than ever before and attempt larger problems that were ever possible – for the first time we can make multi-million cell simulations routine where we properly capture the reservoir structure.« 
Prof. Martin Blunt, Petroleum Engineering, Imperial College

 

»Ich gratuliere zu dem sehr guten Produkt SAMG. Es hat das gehalten, was es versprochen hat, eine heute nicht mehr in jedem Falle übliche Erfahrung.«
Prof. H.-J. G. Diersch, WASY GmbH, Berlin

 

»Experience has indicated that .... execution times ..... are typically 2 to 25 times faster than execution times using MODFLOW‘s PCG2 Package .....« 
User Guide to the LMG Package, US Geological Survey, Boulder, Colorado

 

»SAMG is in a world of its own when it comes to linear solvers. It is robust, fast, and easy to implement on any platform, and has given our company a clear competitive edge. It has been a reliable work requiring little or no maintenance, allowing us to concentrate on our core business. Small or big, simple or complex, sparse or full, structured or unstructured – SAMG will solve it. Anybody contemplating using a linear solver need look no further than SAMG and its friendly and helpful author, Dr. Klaus Stueben.« 
Marco Thiele, co-founder & President StreamSim Technologies