Ejemplos de cálculos PDE utilizando paralelismo tanto en espacio como en tiempo


14

En la solución numérica de PDE de valor límite inicial, es muy común emplear paralelismo en el espacio . Es mucho menos común emplear alguna forma de paralelismo en la discretización del tiempo , y ese paralelismo suele ser mucho más limitado. Soy consciente de un número creciente de códigos y trabajos publicados que demuestran paralelismo temporal, pero ninguno de ellos incluye paralelismo espacial.

¿Hay ejemplos de implementaciones que incluyan paralelismo tanto en espacio como en tiempo? Me interesan las publicaciones y los códigos disponibles.


Acabo de encontrar este preprint, combinando Parareal con descomposición de dominio espacial para Navier-Stokes incompresible en procesadores 2048: icsweb.inf.unisi.ch/preprints/preprints/file201203.pdf
David Ketcheson

Respuestas:


8

Los algoritmos PFASST (Esquema de aproximación completa en paralelo en el espacio y el tiempo) y PEPC (Coulomb en paralelo bastante eficiente) se han utilizado recientemente juntos para lograr paralelismo en el espacio y el tiempo.

PFASST hace el paralelismo temporal, PEPC hace el paralelismo espacial. Los resultados de esto se presentaron recientemente en la conferencia DD21 , y hemos preparado una presentación para SC12 que describe la combinación de PFASST + PEPC.

Se demostró que un problema "pequeño" que consta de 4 millones de partículas (PEPC es un solucionador de cuerpo N paralelo) se escala bien hasta 8192 núcleos en JUGENE usando solo PEPC (es decir, solo paralelo en el espacio). Más allá de esto, los costos de comunicación se volvieron significativos y la eficiencia paralela comenzó a degradarse. La adición de PFASST permite que este problema de tamaño fijo se ejecute en 262,144 núcleos (es decir, llenamos JUGENE) mediante el uso de 32 procesadores "de tiempo" (cada uno de los cuales consta de 8192 núcleos "espaciales").

Aunque la eficiencia paralela de los algoritmos de tiempo paralelo no es del 100%, pudimos obtener aceleraciones de aproximadamente 6.5x usando 32 procesadores PFASST con esta configuración PFASST + PEPC.

Aquí hay un enlace a una preimpresión: un solucionador de N-cuerpo paralelo masivo espacio-tiempo


Matt, eso suena bastante bien, por favor actualiza con un enlace al borrador cuando estés listo.
Aron Ahmadia 01 de

Impresionante, justo lo que estaba buscando. Y buen trabajo, por cierto.
David Ketcheson 01 de

¡Gracias! Intentaré publicar un enlace pronto. Por cierto, también he utilizado con éxito un PETSc DA para distribuir el dominio espacial de un solucionador de aguas poco profundas dentro de PyPFASST.
Matthew Emmett

1
@AronAhmadia, enlace a preimpresión añadido!
Matthew Emmett

4

También hay métodos de DG espacio-tiempo y Galerkin continuos. Después de elegir la cuadratura, la DG espacio-tiempo con una cuadrícula estructurada en la dirección del tiempo es equivalente a un método implícito de Runge-Kutta. Sin embargo, el método DG espacio-tiempo permite diferentes tamaños de pasos en diferentes partes del dominio, un caso que es difícil de analizar para métodos RK implícitos. Los métodos de cuadrícula espacio-tiempo también se pueden aplicar en este contexto.


No entiendo cómo esto es paralelo al tiempo. ¿Puedes señalar un ejemplo o explicar más?
David Ketcheson 01 de

Cuando agranda el dominio, puede descomponerse en más dominios de un tamaño determinado. Los métodos espacio-temporales agregan la dimensión del tiempo al dominio, aumentando así el paralelismo. Tenga en cuenta que hay grandes beneficios computacionales al hacer varias cosas relacionadas a la vez, por lo que para obtener el máximo rendimiento con losas de tiempo de tamaño modesto, aún puede descomponerse solo en el espacio y vectorizar localmente en la dimensión de tiempo.
Jed Brown

2

Una vez que considere el paralelismo espacio-tiempo, el subdominio es espacio-tiempo en múltiples niveles de tiempo. Un método llamado relajación de forma de onda explota los subdominios espacio-tiempo pero se paraleliza solo en el espacio (sin partición en la dimensión del tiempo). Entonces, un cartesiano de la partición del espacio y la partición del tiempo da una especie de paralelismo espacio-tiempo. Puede encontrar un documento sobre un método cartesiano aquí . Como Jed Brown mencionó en su respuesta, el método espacio-tiempo no solo brinda un paralelismo más flexible sino también adaptabilidad para la discretización. Sobre este último tema, puedes buscar en Google trabajos de Schwab, ver también su proyecto . Para el trabajo que explota tanto el paralelismo como la adaptabilidad, puede verlo en la página de inicio de R. Haynes .


1

Eche un vistazo al algoritmo Parareal y su trabajo relacionado, como la corrección espectral diferida (una simple búsqueda en Google arroja bastante material). La idea básica es usar una "malla" gruesa en el tiempo y dar un paso brusco, pero luego volver sobre ella y realizar correcciones en una escala de tiempo más fina. Parece que se usa principalmente en simulaciones de fluidos, pero estoy en el área de electromagnetismo, por lo que realmente no puedo decir mucho más al respecto. La única razón por la que lo sé es porque asistí a un seminario sobre el enfoque de corrección diferida y me pareció muy interesante que cualquier tipo de paralelización pudiera hacerse a tiempo.


Sé de esos, pero ¿puedes señalar un caso en el que se usan junto con paralelismo espacial?
David Ketcheson 01 de

Para ser claros, los esquemas de corrección de defectos o diferidos por sí mismos no tienen nada que ver con los esquemas Parareal y / o paralelo en el tiempo.
Matthew Emmett

1

El método de disparo múltiple utilizado en el control óptimo está diseñado de tal manera que los subproblemas en cada intervalo de disparo se puedan resolver en paralelo. No conozco documentos que combinen esto con el paralelismo espacial (no hay tantos problemas de control óptimos que se hayan resuelto en el pasado donde la ecuación es una PDE espacial dependiente del tiempo), pero sería obvio cómo hacer paralelismo en tanto espacio como tiempo.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.