Quel est l'état de l'art dans les méthodes ODE parallèles?

39

Je suis actuellement à la recherche de méthodes parallèles d'intégration ODE. Il existe de nombreux ouvrages anciens et anciens décrivant un large éventail d'approches, mais je n'ai trouvé aucun sondage récent ni article récapitulatif décrivant le sujet en général.

Il y a le livre de Burrage [1], mais il a presque 20 ans et ne couvre donc pas beaucoup des idées les plus modernes comme l'algorithme de Parareal.

[1] K. Burrage, méthodes parallèle et séquentielle pour les équations différentielles ordinaires, Clarendon Press, Oxford, 1995.

Florian Brucker
la source

Réponses:

35

Je ne connais aucun article de synthèse récent, mais je participe activement au développement de l'algorithme PFASST afin de pouvoir partager quelques réflexions.

Je connais trois grandes classes de techniques parallèles dans le temps:

  • à travers la méthode - les étapes indépendantes de la RK ou des intégrateurs d'extrapolation peuvent être évaluées en parallèle; voir aussi le RIDC (algorithme de correction différée intégrale révisionniste)
  • à travers le problème - relaxation de forme d'onde
  • dans le domaine temporel - Parareal; PITA (algorithme parallèle dans le temps); et PFASST (schéma d’approximation complète parallèle dans l’espace et le temps).

Les méthodes parallélisées d'une méthode à l'autre fonctionnent généralement très près des spécifications mais n'évoluent pas au-delà d'une poignée de processeurs (temporels). Généralement, elles sont relativement plus faciles à mettre en œuvre que d’autres méthodes et sont utiles si vous avez quelques noyaux supplémentaires et que vous recherchez des accélérations prévisibles et modestes.

Les méthodes parallèles dans le domaine temporel comprennent Parareal, PITA, PFASST. Ces méthodes sont toutes itératives et comprennent des propagateurs "grossiers" peu coûteux (mais inexacts) et des propagateurs "fins" coûteux (mais précis). Ils obtiennent une efficacité parallèle en évaluant de manière itérative le propagateur fin en parallèle afin d'améliorer une solution en série obtenue à l'aide du propagateur grossier.

Les algorithmes de Parareal et de PITA présentent une limite supérieure assez malheureuse quant à leur efficacité parallèle : où est le nombre d'itérations nécessaires pour obtenir la convergence dans tout le domaine. Par exemple, si votre mise en œuvre Parareal a nécessité 10 itérations pour converger et que vous utilisez 100 processeurs (temporisés), l'accélération la plus grande que vous puissiez espérer serait 10x. L'algorithme PFASST assouplit cette limite supérieure en hybridant les itérations parallèles dans le temps avec les itérations de la méthode de progression temporelle à correction différée spectrale et en incorporant les corrections du schéma d'approximation complet à une hiérarchie des discrétisations spatio-temporelles.EE<1/KK

On peut jouer à de nombreux jeux avec toutes ces méthodes pour essayer de les accélérer, et il semble que la performance de ces techniques à travers le domaine dépende du problème que vous résolvez et des techniques disponibles pour accélérer le traitement grossier. propagateur (réseaux grossiers, opérateurs grossiers, physique grossière, etc.).

Quelques références (voir aussi les références listées dans les articles):

J'ai écrit deux implémentations de PFASST qui sont disponibles sur le net: PyPFASST et libpfasst .

Matthew Emmett
la source
1
J'apprends actuellement le parareal. Et je pense que cela m’aide beaucoup.
eccstartup
C'est un bon aperçu. Cependant, il convient de mentionner explicitement que les EAD sont souvent résolus après une discrétisation spatiale des EDP. Par conséquent, le parallélisme de la méthode peut générer une grande évolutivité vers des milliers de cœurs si votre domaine spatial est suffisamment grand. En effet, la grande majorité des temps de calcul entrent dans le calcul, par exemple, des évaluations RHS au stade RK.
NoseKnowsAll
15

Bien que ce message date maintenant de deux ans, au cas où quelqu'un tomberait dessus, laissez-moi vous donner une brève mise à jour:

Martin Gander a récemment écrit un bel article de synthèse qui donne une perspective historique sur le terrain et traite de nombreuses méthodes PINT différentes: http://www.unige.ch/~gander/Preprints/50YearsTimeParallel.pdf

Il existe maintenant aussi un site Web communautaire qui répertorie de très nombreuses références et décrit différentes méthodes: http://www.parallel-in-time.org/

Une discussion de l'algorithme parallèle dans le temps de Parareal en particulier peut être trouvée ici: https://en.wikipedia.org/wiki/Parareal

Daniel
la source
1
Un peu surpris que Gander ne parle pas de l'approche MGRIT de Falgout et autres, d'autant plus qu'elle semble s'appuyer sur un logiciel de qualité (XBraid), mais je sais que les documents MGRIT ne sont parus que récemment.
Geoff Oxberry
1
Bonjour Geoff, je suis tout à fait sûr que Martin Gander a rédigé le document avant la publication des documents du MGRIT - alors que le document de synthèse paraîtra en 2015, je pense que la pré-impression a déjà été mise en ligne à la fin de 2013.
Daniel
1
À première vue, il semblerait qu’un «parallèle à la méthode» soit omis dans cette revue - par exemple, l’extrapolation n’est jamais mentionnée.
David Ketcheson
4

vous0vous(t)=exp(-λt)vous0, Reλ>0.

Hui Zhang
la source
Comme je l'ai dit, j'ai déjà trouvé de nombreux articles sur des sujets particuliers. Ce qui me manque, c'est un aperçu général des approches.
Florian Brucker
1
FWIW, l’algorithme PFASST présente une très bonne convergence (à paraître prochainement) pour les systèmes hamiltoniens, même pour de nombreux processeurs de temps (des centaines). Cela dit, pour obtenir une accélération appréciable, il faut (encore une fois) rendre les propagateurs grossiers beaucoup moins coûteux que le propagateur fin - une expansion multipolaire ou une autre approche multiphysique semble être nécessaire pour obtenir une bonne accélération des systèmes de particules.
Matthew Emmett