¿En qué casos de aplicación los esquemas de preacondicionamiento aditivo son superiores a los multiplicativos?

12

Tanto en los métodos de descomposición de dominio (DD) como en multigrid (MG), se puede componer la aplicación de las actualizaciones de bloque o las correcciones generales como aditivas o multiplicativas . Para los solucionadores puntuales, esta es la diferencia entre las iteraciones de Jacobi y Gauss-Seidel. El suavizador multiplicativo para actúa como S ( x o l d , b ) = x n e w se aplica comoAx=bS(xold,b)=xnew

xi+1=Sn(Sn1(...,S1(xi,b)...,b),b)

y el aditivo más suave se aplica como

xi+1=xi+=0nλ(S(xi,b)xi)

para algunos amortiguadores . El consenso general parece ser que los suavizadores multiplicativos tienen propiedades de convergencia mucho más rápidas, pero me preguntaba: ¿en qué situaciones es mejor el rendimiento de las variantes aditivas de estos algoritmos?λi

Más específicamente, ¿Alguien tiene algún caso de uso en el que la variante aditiva deba o tenga un rendimiento significativamente mejor que la variante multiplicativa? ¿Hay razones teóricas para esto? La mayoría de la literatura sobre multirredes es bastante pesimista sobre el método Aditivo, pero se usa tanto en el contexto DD como el aditivo Schwarz. Esto también se extiende al tema mucho más general de componer solucionadores lineales y no lineales, y qué tipo de construcciones funcionarán bien y funcionarán bien en paralelo.

Peter Brune
fuente

Respuestas:

6

Los métodos aditivos exponen más concurrencia. Por lo general, solo son más rápidos que los métodos multiplicativos si puede usar esa simultaneidad. Por ejemplo, los niveles gruesos de multirredes suelen estar limitados por la latencia. Si mueve niveles gruesos a subcomunicadores más pequeños, entonces podrían resolverse independientemente de los niveles más finos. Con un esquema multiplicativo, todos los procesos tienen que esperar mientras se resuelven los niveles generales.

Además, si el algoritmo necesita reducciones en todos los niveles, la variante aditiva puede fusionarlos donde el método multiplicativo se ve obligado a realizarlos secuencialmente.

Jed Brown
fuente
Esta es la respuesta que pensé que obtendría, así que supongo que iré aún más lejos con la pregunta. ¿Existen situaciones en las que los métodos aplicados aditivamente, incluidos DD y MG, pero también la división en el campo (que puede considerarse similar a DD pero pueden tener características diferentes en la práctica) o la división de PDE es en realidad mejor en términos de rendimiento, robustez o estabilidad que la variante multiplicativa?
Peter Brune
1
Las versiones multiplicativas de muchos algoritmos necesitan almacenar más información, pero a veces convergen aproximadamente igual de rápido. A veces, las variantes aditivas son simétricas, pero puede ser mucho más trabajo hacer simétrico multiplicativo. Con FieldSplit, el preacondicionador puede ser más aproximado cuando agrega esas soluciones adicionales. Podemos demostrar esto con un ejemplo de PETSc Stokes si lo desea. El aditivo siempre es más fácil de vectorizar / más concurrente, pero cualquier ganancia de rendimiento es específica de la arquitectura y el problema.
Jed Brown, el
5

Para problemas de SPD, los métodos aditivos son mejores para suavizar MG por varias razones como ya se mencionó y algunas más:

@Article{Adams-02, 
author = {Adams, M.~F. and Brezina, M. and Hu, J. J. and Tuminaro, R. S.}, 
title = {Parallel multigrid smoothing: polynomial versus {G}auss-{S}eidel}, 
journal = {J. Comp. Phys.}, 
year = {2003}, 
volume = {188}, 
number = {2}, 
pages = {593-610} }

Sin embargo, los métodos multiplicativos tienen las propiedades espectrales correctas listas para usar para un MG más suave, es decir, no necesitan amortiguación. Esto puede ser una gran victoria para los problemas hiperbólicos donde el suavizado polinómico no es muy agradable.

Adams
fuente
0

Replantearé lo que dijo @Jed: el método multiplicativo siempre converge al menos tan bien como el método aditivo (asintóticamente), por lo que solo se gana en función de la concurrencia, pero eso depende de la arquitectura.

Matt Knepley
fuente
Técnicamente no es correcto, los espectros de la matriz de iteración para decir Gauss-Seidel no son uniformemente superiores a Jacobi (por ejemplo, un valor propio se mata con una iteración de Jacobi). Mark (¿cómo me desconecto como Jed ...?)
Jed Brown