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.
pde
parallel-computing
time-integration
David Ketcheson
fuente
fuente
Respuestas:
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
fuente
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.
fuente
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 .
fuente
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.
fuente
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.
fuente