Mir sind keine aktuellen Übersichtsartikel bekannt, aber ich bin aktiv an der Entwicklung des PFASST-Algorithmus beteiligt, sodass ich einige Gedanken austauschen kann.
Es gibt drei große Klassen zeitparalleler Techniken, die mir bekannt sind:
- methodenübergreifend können parallel unabhängige Stufen von RK- oder Extrapolationsintegratoren ausgewertet werden; siehe auch RIDC (revisionist integral deferred correction algorithm)
- über das Problem - Wellenformrelaxation
- im Zeitbereich - Parareal; PITA (Parallel in Time Algorithmus); und PFASST (paralleles Vollnäherungsschema in Raum und Zeit).
Methoden, die methodenübergreifend parallelisiert werden, arbeiten normalerweise sehr spezifikationsnah, skalieren jedoch nicht über eine Handvoll (Zeit-) Prozessoren hinaus. In der Regel sind sie relativ einfach zu implementieren als andere Methoden und eignen sich gut, wenn Sie ein paar zusätzliche Kerne haben und nach vorhersehbaren und bescheidenen Beschleunigungen suchen.
Methoden, die über den Zeitbereich parallelisieren, umfassen Parareal, PITA, PFASST. Diese Verfahren sind alle iterativ und bestehen aus billigen (aber ungenauen) "groben" Vermehrern und teuren (aber genauen) "feinen" Vermehrern. Sie erzielen eine parallele Effizienz, indem sie den Feinpropagator iterativ parallel auswerten, um eine serielle Lösung zu verbessern, die unter Verwendung des Grobpropagators erhalten wird.
EE<1/KK
Mit all diesen Methoden können viele Spiele gespielt werden, um sie zu beschleunigen. Die Leistung dieser domänenübergreifenden Techniken scheint davon abzuhängen, welches Problem Sie lösen und welche Techniken zur Beschleunigung der Grobbearbeitung verfügbar sind Propagator (vergröberte Gitter, vergröberte Operatoren, vergröberte Physik usw.).
Einige Referenzen (siehe auch Referenzen in den Papieren):
In diesem Artikel wird gezeigt, wie verschiedene Methoden methodenübergreifend parallelisiert werden können: Ein theoretischer Vergleich von expliziten Runge-Kutta-Methoden höherer Ordnung, Extrapolationsmethoden und verzögerten Korrekturmethoden ; Ketcheson und Waheed.
Dieser Artikel zeigt auch eine gute Methode zur Parallelisierung der Methode und stellt den RIDC-Algorithmus vor: Parallele Integratoren höherer Ordnung ; Christlieb, MacDonald, Ong.
In diesem Artikel wird der PITA-Algorithmus vorgestellt: Eine zeitparallele implizite Methode zur Beschleunigung der Lösung nichtlinearer struktureller dynamischer Probleme ; Cortial und Farhat.
Es gibt viele Artikel zu Parareal (nur Google it).
Hier ist ein Artikel über die Nievergelt-Methode: Ein minimaler Kommunikationsansatz für die parallele Zeitintegration ; Barker.
In diesem Artikel wird PFASST vorgestellt: Auf dem Weg zu einer effizienten zeitparallelen Methode für partielle Differentialgleichungen ; Emmett und Minion;
Diese Arbeit beschreibt eine einfache Anwendung von PFASST: Ein massiv raumzeitparalleler N-Körper-Löser ; Speck, Ruprecht, Krause, Emmett, Günstling, Windel, Gibbon.
Ich habe zwei Implementierungen von PFASST geschrieben, die im Internet verfügbar sind: PyPFASST und libpfasst .
Obwohl dieser Beitrag jetzt zwei Jahre alt ist, möchte ich mich kurz über ihn informieren, falls jemand darüber stolpert:
Martin Gander hat kürzlich einen schönen Übersichtsartikel geschrieben, der eine historische Perspektive auf das Gebiet bietet und viele verschiedene PINT-Methoden behandelt: http://www.unige.ch/~gander/Preprints/50YearsTimeParallel.pdf
Es gibt jetzt auch eine Community-Website, die sehr viele Referenzen auflistet und verschiedene Methoden beschreibt: http://www.parallel-in-time.org/
Eine Diskussion des Parareal-Parallel-in-Time-Algorithmus finden Sie hier: https://en.wikipedia.org/wiki/Parareal
quelle
quelle