Qual é o estado da arte dos métodos ODE paralelos?


39

Atualmente, estou procurando métodos paralelos para integração com ODE. Há muita literatura nova e antiga por aí descrevendo uma ampla variedade de abordagens, mas não encontrei nenhuma pesquisa recente ou artigo de visão geral descrevendo o tópico em geral.

Existe o livro de Burrage [1], mas tem quase 20 anos e, portanto, não cobre muitas das idéias mais modernas, como o algoritmo parareal.

[1] K. Burrage, métodos paralelos e seqüenciais para equações diferenciais ordinárias, Clarendon Press, Oxford, 1995

Respostas:


35

Não estou ciente de nenhum artigo recente sobre a visão geral, mas estou envolvido ativamente no desenvolvimento do algoritmo PFASST, para poder compartilhar algumas idéias.

Existem três classes amplas de técnicas paralelas ao tempo que eu conheço:

  • através do método - estágios independentes de RK ou integradores de extrapolação podem ser avaliados em paralelo; veja também o RIDC (algoritmo de correção diferida integral revisionista)
  • através do problema - relaxamento da forma de onda
  • no domínio do tempo - Parareal; PITA (algoritmo paralelo no tempo); e PFASST (esquema paralelo de aproximação total no espaço e no tempo).

Os métodos paralelos ao método geralmente executam muito perto das especificações, mas não são dimensionados além de um punhado de processadores (de tempo). Normalmente, eles são relativamente mais fáceis de implementar do que outros métodos e são bons se você tiver alguns núcleos extras por aí e estiver procurando acelerações previsíveis e modestas.

Os métodos que se paralelizam no domínio do tempo incluem Parareal, PITA, PFASST. Esses métodos são todos iterativos e compreendem propagadores "grossos" baratos (mas imprecisos) e propagadores "finos" caros (mas precisos). Eles alcançam eficiência paralela avaliando iterativamente o propagador fino em paralelo para melhorar uma solução serial obtida usando o propagador grosso.

EE<1/KK

Muitos jogos podem ser jogados com todos esses métodos para tentar acelerá-los, e parece que o desempenho dessas técnicas em todo o domínio depende de qual problema você está resolvendo e de quais técnicas estão disponíveis para acelerar o uso grosseiro. propagador (grades grosseiras, operadores grosseiros, física grosseira etc.).

Algumas referências (veja também as referências listadas nos documentos):

Escrevi duas implementações do PFASST disponíveis na net: PyPFASST e libpfasst .


1
Atualmente estou aprendendo parareal. E acho que é de muita ajuda para mim.
eccstartup

Esta é uma ótima visão geral. No entanto, deve-se mencionar explicitamente que as EDOs são frequentemente resolvidas após uma discretização espacial das EDPs. Portanto, o paralelismo entre o método pode gerar grande escalabilidade para milhares de núcleos se o seu domínio espacial for grande o suficiente. Isso ocorre porque a grande maioria dos tempos de computação entra no cálculo, por exemplo, das avaliações RHS do estágio RK.
NoseKnowsAll

15

Embora este post tenha agora dois anos, no caso de alguém tropeçar nele, deixe-me fazer uma breve atualização:

Martin Gander escreveu recentemente um belo artigo de revisão, que fornece uma perspectiva histórica em campo e discute muitos métodos diferentes de PINT: http://www.unige.ch/~gander/Preprints/50YearsTimeParallel.pdf

Agora também existe um site da comunidade que lista muitas referências e fornece descrições de diferentes métodos: http://www.parallel-in-time.org/

Uma discussão sobre o algoritmo Parareal paralelo no tempo, em particular, pode ser encontrada aqui: https://en.wikipedia.org/wiki/Parareal


1
Um pouco surpreso que Gander não fale sobre a abordagem MGRIT de Falgout, et al., Especialmente porque ela parece ser apoiada por um bom software (XBraid), mas eu sei que os documentos da MGRIT foram publicados recentemente.
Geoff Oxberry

1
Olá Geoff, tenho certeza de que Martin Gander escreveu o artigo antes da publicação dos artigos da MGRIT - enquanto o artigo de revisão será publicado em 2015, acho que a pré-impressão já entrou em linha no final de 2013.
Daniel

1
À primeira vista, parece que "paralelo ao longo do método" é omitido nesta revisão - por exemplo, extrapolação nunca é mencionada.
David Ketcheson

4

você0 0você(t)=exp(-λt)você0 0, Reλ>0


Como eu disse, já encontrei muitos artigos sobre tópicos individuais. O que estou perdendo é uma visão geral sobre as abordagens.
Florian Brucker

1
FWIW, o algoritmo PFASST exibe uma convergência muito boa (a ser publicada em breve) para sistemas hamiltonianos, mesmo para muitos (centenas) de processadores de tempo. Dito isto, obter uma aceleração apreciável depende (mais uma vez) de tornar os propagadores grossos muito mais baratos que o propagador fino - uma expansão multipolar ou alguma outra abordagem multifísica parece ser necessária para obter uma boa aceleração para sistemas de partículas.
Matthew Emmett
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.