¿Es Galerkin discontinuo realmente más paralelizable que Galerkin continuo?


9

Siempre he escuchado que la paralelización fácil era una de las ventajas de los métodos DG, pero realmente no veo por qué alguna de esas razones no se aplica también a Galerkin continuo.


1
No lo creo, pero podría mejorar la pregunta si vinculaste o describiste algunas de esas supuestas razones.
Bill Barth

Respuestas:


9

Una razón por la cual los métodos DG pueden recibir más atención como método paralelo es que se ve fácilmente que el método es inherentemente local a un elemento. El acoplamiento en los métodos DG es débil, ya que solo ocurre a través de bordes adyacentes (o caras en 3d). Entonces, para triángulos o quads, DG se comunicará con tres o cuatro procesadores como máximo, respectivamente. Mientras que los métodos CG incluirán esquinas de elementos, por lo tanto, la valencia de la esquina de un elemento se vuelve importante. Dependiendo del generador de malla utilizado, esta valencia puede ser de ocho procesadores (posiblemente mayor). Por lo tanto, el costo de ensamblar la derivada del tiempo se puede considerar "más alto" para los métodos CG. Esto es particularmente preocupante para los métodos espectrales, donde el volumen de información a comunicar puede ser bastante grande (y la ocultación de la latencia puede ser más difícil a medida que se reduce el tamaño de cada partición).

Pero este costo adicional para CG para ensamblar su derivada de tiempo podría compensarse con una estrategia de equilibrio de carga diferente. Las diferentes estrategias de particionamiento de malla (estoy más familiarizado con METIS) permiten al usuario equilibrar la carga a través de varias métricas, por ejemplo, asegurando que cada partición tenga aproximadamente el mismo número de elementos o limitando la cantidad de comunicación entre particiones. Creo que una razón por la cual el coloquio de DG es fácilmente paralelizable es que una división ingenua del problema en partes iguales puede proporcionar una implementación paralela muy eficiente, incluso presentando una aceleración súper lineal en ciertos casos debido a los efectos de caché (ver, por ejemplo, Baggag et al. . o Altmann et. al.) Mientras que CG puede requerir un método de partición más inteligente. Por lo tanto, puede suceder que cambiar las discretizaciones espaciales de DG a CG, por ejemplo, requiera que uno también reconsidere cómo dividir la malla en subproblemas.


8

Después de muchos años escribiendo software FEM, creo que la afirmación de que los esquemas DG son más adecuados para la paralelización que los esquemas CG es apócrifa. Se usa con frecuencia en las presentaciones de documentos de DG como justificación de los métodos de DG, pero nunca lo he visto justificado con una referencia que realmente investigó la cuestión. Es similar a cada propuesta de la NSF en un proyecto de teoría de números que hace referencia a la "criptografía" como un área de mayor impacto, una declaración que en esta generalidad tampoco se corrobora.

De hecho, creo que con la única excepción de los esquemas de paso de tiempo explícito y, posiblemente, los problemas en los que tiene que invertir una matriz de masa, los esquemas de DG no son mejores ni peores que los esquemas de CG si uno investiga el costo de la comunicación involucrado en cualquiera de ellos. Me refiero a que esto sea en un sentido práctico: claro, uno puede tener que comunicar menos datos, pero me imagino que la diferencia en el tiempo del reloj de pared es insignificante para todos los otros programas de operaciones en estos datos.

¡Por supuesto, me encantaría que alguien aceptara el desafío para demostrarme que estaba equivocado!


5

Al igual que ocurre con la mayoría de las afirmaciones generales sobre esquemas numéricos, la respuesta depende de las circunstancias exactas que esté viendo. En primer lugar, las ventajas de la DG con respecto a la paralelización dan sus frutos principalmente en el caso de esquemas explícitos de integración temporal debido a

  • La matriz de masa local de celda de los esquemas DG (por lo que no tiene que aplicar el inverso de la matriz de masa a nivel mundial)
  • Una proporción favorable de trabajo local de CPU (integrales de volumen) con respecto al trabajo relacionado con la comunicación (integrales de borde), especialmente para pedidos superiores

Si bien estas afirmaciones se aplican a las discretizaciones genéricas de DG, las aplicaciones HPC reales (por ejemplo, utilizando varios miles de procesadores) requieren un poco más de esfuerzo con respecto a la estrategia de paralelización para mantener una buena escala. Este documento muestra, por ejemplo, cómo se puede lograr un escalamiento casi perfecto de hasta una celda por procesador . Esto es ciertamente algo que no se puede esperar de un FEM continuo, pero como se mencionó anteriormente, los esquemas implícitos son algo totalmente diferente.


1

Al ensamblar una matriz de rigidez, los datos almacenados en un elemento en FEM continuo (nodal) deben comunicarse a todos sus vecinos nodales. En contraste, DGFEM requiere que los datos del elemento se comuniquen a todos sus vecinos frontales. En 1D, los vecinos nodales y faciales son idénticos, pero en 3D la diferencia puede ser bastante grande: para una malla hexaédrica regular, hay 26 vecinos nodales pero solo 6 vecinos faciales. Para mallas irregulares con muchos vértices de alta valencia, la situación empeora para CG, mientras que se mantiene igual para DG.


Es cierto, pero ¿lo que dices tiene alguna preocupación práctica ? En otras palabras, si midió el tiempo para comunicar estos elementos en un programa FEM real y lo comparó con el tiempo necesario para calcular las entradas de la matriz, ¿importaría?
Wolfgang Bangerth

1

DG para PDE hiperbólica se puede utilizar como un reemplazo para esquemas de volumen finito. En volumen finito como en diferencia finita, cuando aumenta el orden del esquema, su plantilla aumenta. Esto hace que la paralelización sea más difícil, ya que para cada orden de esquema, tiene una plantilla diferente. En los límites de partición, debe asegurarse de que todas las celdas requeridas de la partición vecina para el orden particular del esquema estén disponibles. Pero con DG, sin importar el orden del esquema, cada celda se comunica solo con sus vecinos. Entonces, en comparación entre el volumen / diferencia finita y la DG, se puede decir que la DG es más fácil de paralelizar.

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.