In quali casi applicativi gli schemi di precondizionamento additivo sono superiori a quelli moltiplicativi?


12

In entrambi i metodi di decomposizione del dominio (DD) e multigrid (MG), si può comporre l'applicazione degli aggiornamenti di blocco o correzioni grossolane come additivi o moltiplicativi . Per i risolutori puntuali, questa è la differenza tra le iterazioni Jacobi e Gauss-Seidel. Il valore più uniforme per agisce come viene applicato comeS ( x o l d , b ) = x n e wAx=bS(xold,b)=xnew

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

e l'additivo più liscio viene applicato come

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

per un po 'di smorzamento . Il consenso generale sembra essere che gli smoothers moltiplicativi abbiano proprietà di convergenza molto più rapide, ma mi chiedevo: in quali situazioni è migliore la prestazione delle varianti additive di questi algoritmi?λi

Più specificamente, qualcuno ha dei casi d'uso in cui la variante di additivo dovrebbe e / o ha prestazioni significativamente migliori rispetto alla variante moltiplicativa? Ci sono ragioni teoriche per questo? La maggior parte della letteratura sul multigrid è abbastanza pessimista riguardo al metodo Additivo, ma è usato così tanto nel contesto DD come additivo Schwarz. Ciò si estende anche al problema molto più generale della composizione di solutori lineari e non lineari, e quale tipo di costruzioni funzionerà bene e funzionerà bene in parallelo.

Risposte:


6

I metodi additivi espongono più concorrenza. In genere sono solo più veloci dei metodi moltiplicativi se è possibile utilizzare quella concorrenza. Ad esempio, i livelli grossolani di multigrid sono generalmente limitati alla latenza. Se si spostano livelli approssimativi in ​​subcomunicatori più piccoli, è possibile risolverli indipendentemente dai livelli più fini. Con uno schema moltiplicativo, tutti i proc devono attendere mentre i livelli grossolani sono risolti.

Inoltre, se l'algoritmo necessita di riduzioni ad ogni livello, la variante additiva potrebbe essere in grado di fonderli laddove il metodo moltiplicativo è costretto a eseguirli in sequenza.


Questa è la risposta che immaginavo di ottenere, quindi immagino che andrò oltre con la domanda. Esistono situazioni in cui i metodi applicati in modo addizionale, tra cui DD e MG, ma anche la suddivisione in campi (che possono essere considerati simili a DD ma possono avere caratteristiche diverse nella pratica) o la divisione PDE sono effettivamente migliori in termini di prestazioni, robustezza o stabilità rispetto alla variante moltiplicativa?
Peter Brune,

1
Le versioni moltiplicative di molti algoritmi devono archiviare più informazioni, ma a volte convergono all'incirca alla stessa velocità. A volte le varianti additive sono simmetriche, ma potrebbe essere molto più lavoro rendere simmetrica moltiplicativa. Con fieldplit, il precondizionatore può diventare più approssimativo quando si aggiungono quelle soluzioni extra. Possiamo dimostrarlo con un esempio di Stokes PETSc, se lo desideri. L'additivo è sempre più facile da vettorizzare / più simultaneo, ma qualsiasi prestazione ottenuta da questo è specifica per problemi e architettura.
Jed Brown,

5

Per problemi SPD, i metodi additivi sono migliori per il livellamento MG per diversi motivi, come già detto e alcuni altri:

@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} }

I metodi moltiplicativi hanno tuttavia le proprietà spettrali corrette immediatamente per un MG più fluido, cioè non hanno bisogno di smorzamento. Questa può essere una grande vittoria per problemi iperbolici in cui il livellamento polinomiale non è molto bello.


0

Riaffermerò ciò che ha detto @Jed: il metodo moltiplicativo converge sempre almeno così come il metodo additivo (asintoticamente), quindi vinci solo in base alla concorrenza, ma dipende dall'architettura.


Non tecnicamente corretto, gli spettri della matrice di iterazione per dire che Gauss-Seidel non è uniformemente superiore a Jacobi (ad esempio, un autovalore viene ucciso con una iterazione di Jacobi). Mark (come faccio a disconnettermi come Jed ...)
Jed Brown l'
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.