Exemples de calculs PDE utilisant le parallélisme à la fois dans l'espace et dans le temps


14

Dans la solution numérique des PDE à valeur limite initiale, il est très courant d'employer le parallélisme dans l'espace . Il est beaucoup moins courant d'employer une certaine forme de parallélisme dans la discrétisation temporelle , et ce parallélisme est généralement beaucoup plus limité. Je connais un nombre croissant de codes et d'ouvrages publiés démontrant le parallélisme temporel, mais aucun d'entre eux n'inclut le parallélisme spatial.

Existe-t-il des exemples d'implémentations qui incluent le parallélisme à la fois dans l'espace et dans le temps? Je suis intéressé par les publications et les codes disponibles.


Je viens de trouver cette préimpression, combinant Parareal avec une décomposition de domaine spatial pour des Navier-Stokes incompressibles sur des processeurs 2048: icsweb.inf.unisi.ch/preprints/preprints/file201203.pdf
David Ketcheson

Réponses:


8

Les algorithmes PFASST (Parallel Full Approximation Scheme in Space and Time) et PEPC (Pretty Efficient Parallel Coulomb) ont récemment été utilisés ensemble pour réaliser le parallélisme dans l'espace et dans le temps.

PFASST fait le parallélisme temporel, PEPC fait le parallélisme spatial. Les résultats ont été récemment présentés lors de la conférence DD21 , et nous avons préparé une soumission pour SC12 décrivant la combinaison de PFASST + PEPC.

Un «petit» problème composé de 4 millions de particules (le PEPC est un solveur parallèle à N corps) s'est avéré évoluer jusqu'à 8192 cœurs sur JUGENE en utilisant uniquement du PEPC (c'est-à-dire uniquement parallèle dans l'espace). Au-delà, les coûts de communication sont devenus importants et l'efficacité parallèle a commencé à se dégrader. L'ajout de PFASST permet à ce problème de taille fixe d'être exécuté sur 262 144 cœurs (c'est-à-dire que nous avons rempli JUGENE) en utilisant 32 processeurs "temporels" (chacun comprenant 8192 cœurs "spatiaux").

Bien que l'efficacité parallèle des algorithmes temps-parallèle ne soit pas de 100%, nous avons pu obtenir des accélérations d'environ 6,5x en utilisant 32 processeurs PFASST avec cette configuration PFASST + PEPC.

Voici un lien vers une préimpression: Un solveur N-corps massivement spatio-temporel


Matt qui semble assez soigné, veuillez mettre à jour avec un lien vers le brouillon lorsque vous êtes prêt.
Aron Ahmadia

Génial, juste ce que je cherchais. Et beau travail, au fait.
David Ketcheson

Merci! J'essaierai de publier un lien bientôt. BTW, j'ai également utilisé avec succès un PETSc DA pour distribuer le domaine spatial d'un solveur en eau peu profonde à l'intérieur de PyPFASST.
Matthew Emmett

1
@AronAhmadia, lien vers la préimpression ajouté!
Matthew Emmett

4

Il existe également des méthodes DG spatio-temporelles et Galerkin continues. Après choix de la quadrature, l'espace-temps DG avec une grille structurée dans le sens du temps équivaut à une méthode implicite de Runge-Kutta. La méthode DG espace-temps, cependant, permet différentes tailles de pas dans différentes parties du domaine, un cas qui est difficile à analyser pour les méthodes RK implicites. Les méthodes multigrilles spatio-temporelles peuvent également être appliquées dans ce contexte.


Je ne comprends pas comment cela est parallèle dans le temps. Pouvez-vous citer un exemple ou en expliquer davantage?
David Ketcheson

Lorsque vous agrandissez le domaine, vous pouvez vous décomposer en plusieurs domaines d'une taille donnée. Les méthodes spatio-temporelles ajoutent la dimension temporelle au domaine, augmentant ainsi le parallélisme. Notez qu'il y a d'énormes avantages informatiques à faire plusieurs choses liées à la fois, donc pour des performances maximales avec des tranches de temps de taille modeste, vous pouvez toujours vous décomposer uniquement dans l'espace et vectoriser localement dans la dimension temporelle.
Jed Brown

2

Une fois que vous considérez le parallélisme espace-temps, le sous-domaine est l'espace-temps sur plusieurs niveaux de temps. Une méthode appelée relaxation de forme d'onde exploite les sous-domaines espace-temps mais ne parallélise que dans l'espace (pas de partition dans la dimension temps). Ainsi, un cartésien de la partition spatiale et de la partition temporelle donne une sorte de parallélisme espace-temps. Vous pouvez trouver un article sur une telle méthode cartésienne ici . Comme Jed Brown l'a mentionné dans sa réponse, la méthode de l'espace-temps donne non seulement un parallélisme plus flexible, mais aussi une adaptabilité pour la discrétisation. Sur ce dernier sujet, vous pouvez consulter les œuvres de Schwab sur Google, voir également leur projet . Pour le travail exploitant à la fois le parallélisme et l'adaptabilité, vous pouvez regarder sur la page d' accueil de R. Haynes .


1

Jetez un oeil à l'algorithme Parareal et à son travail connexe comme la correction spectrale différée (une simple recherche sur Google révèle beaucoup de matériel). L'idée de base est d'utiliser un "maillage" grossier dans le temps et de faire un pas de temps approximatif, mais ensuite de revenir dessus et d'effectuer des corrections sur une échelle de temps plus fine. Il semble être utilisé principalement dans les simulations de fluides, mais je suis dans le domaine de l'électromagnétisme, donc je ne peux pas vraiment en dire plus à ce sujet. La seule raison pour laquelle je le connais est parce que j'ai assisté à un séminaire sur l'approche de correction différée et il m'a semblé très intéressant que toute sorte de parallélisation puisse être effectuée à temps.


Je les connais, mais pouvez-vous indiquer un cas où ils sont utilisés en conjonction avec le parallélisme spatial?
David Ketcheson

Pour être clair, les schémas de correction différée ou de défaut en eux-mêmes n'ont rien à voir avec les schémas pararéal et / ou parallèle dans le temps.
Matthew Emmett

1

La méthode de prise de vue multiple utilisée dans le contrôle optimal est conçue de manière à ce que les sous-problèmes de chaque intervalle de prise de vue puissent être résolus en parallèle. Je ne connais pas d'articles qui couplent cela avec le parallélisme spatial (il n'y a pas beaucoup de problèmes de contrôle optimal qui ont été résolus dans le passé où l'équation est une PDE spatiale dépendante du temps) mais il serait évident comment faire le parallélisme dans à la fois l'espace et le temps.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.