Exemplos de cálculos de PDE usando paralelismo no espaço e no tempo

14

Na solução numérica dos PDEs de valor-limite inicial, é muito comum empregar paralelismo no espaço . É muito menos comum empregar alguma forma de paralelismo na discretização do tempo , e esse paralelismo é geralmente muito mais limitado. Estou ciente de um número crescente de códigos e trabalhos publicados que demonstram paralelismo temporal, mas nenhum deles inclui paralelismo espacial.

Existem exemplos de implementações que incluem paralelismo no espaço e no tempo? Estou interessado nas publicações e nos códigos disponíveis.

David Ketcheson
fonte
Eu encontrei esta pré-impressão, combinando Parareal com decomposição de domínio espacial para incompressíveis de Navier-Stokes em 2048 processadores: icsweb.inf.unisi.ch/preprints/preprints/file201203.pdf
David Ketcheson

Respostas:

8

Os algoritmos PFASST (Esquema de Aproximação Completa Paralela no Espaço e no Tempo) e PEPC (Coulomb Paralelo Bastante Eficiente) foram recentemente usados ​​juntos para obter paralelismo no espaço e no tempo.

O PFASST faz o paralelismo no tempo, o PEPC faz o paralelismo no espaço. Os resultados foram apresentados recentemente na conferência DD21 e preparamos uma submissão para o SC12, descrevendo a combinação de PFASST + PEPC.

Um problema "pequeno" consistindo em 4 milhões de partículas (PEPC é um solucionador de corpos N paralelo) mostrou escalar até 8192 núcleos no JUGENE usando apenas PEPC (ou seja, apenas paralelo no espaço). Além disso, os custos de comunicação se tornaram significativos e a eficiência paralela começou a se degradar. A adição do PFASST permite que esse problema de tamanho fixo seja executado em 262.144 núcleos (ou seja, preenchemos o JUGENE) usando 32 processadores "tempo" (cada um dos quais consiste em 8192 núcleos "espaciais").

Embora a eficiência paralela dos algoritmos paralelos no tempo não seja 100%, conseguimos obter acelerações de cerca de 6,5x usando 32 processadores PFASST com esta configuração PFASST + PEPC.

Aqui está um link para uma pré-impressão: Um solucionador de corpo-N paralelo no espaço-tempo

Matthew Emmett
fonte
Matt que parece muito legal, atualize com um link para o rascunho quando estiver pronto.
Aron Ahmadia 01/07/12
Impressionante, exatamente o que eu estava procurando. E bom trabalho, a propósito.
David Ketcheson
Obrigado! Vou tentar postar um link em breve. BTW, também usei com sucesso um PETSc DA para distribuir o domínio espacial de um solucionador de águas rasas dentro do PyPFASST.
Matthew Emmett
1
@AronAhmadia, link para pré-impressão adicionado!
Matthew Emmett
4

Existem também métodos DG de espaço-tempo e Galerkin contínuos. Após a escolha da quadratura, o DG espaço-temporal com uma grade estruturada na direção do tempo é equivalente a um método implícito de Runge-Kutta. O método DG espaço-tempo, no entanto, permite diferentes tamanhos de etapas em diferentes partes do domínio, um caso difícil de analisar para métodos RK implícitos. Os métodos multigrid do espaço-tempo também podem ser aplicados neste contexto.

Jed Brown
fonte
Não entendo como isso é paralelo ao tempo. Você pode apontar para um exemplo ou explicar mais?
David Ketcheson
Quando você aumenta o domínio, decompõe-se em mais domínios de um determinado tamanho. Os métodos de espaço-tempo adicionam a dimensão do tempo ao domínio, aumentando assim o paralelismo. Observe que existem enormes benefícios computacionais ao fazer várias coisas relacionadas ao mesmo tempo; portanto, para obter o desempenho máximo com intervalos de tempo de tamanho modesto, você ainda pode se decompor apenas no espaço e vetorizar localmente na dimensão do tempo.
precisa
2

Depois de considerar o espaço-tempo como paralelo, o subdomínio é espaço-tempo em vários níveis de tempo. Um método chamado relaxamento da forma de onda explora subdomínios no espaço-tempo, mas paraleliza apenas no espaço (sem partição na dimensão do tempo). Portanto, um cartesiano da partição espacial e da partição do tempo fornece uma espécie de paralelismo espaço-tempo. Você pode encontrar um artigo sobre esse método cartesiano aqui . Como Jed Brown mencionou em sua resposta, o método espaço-tempo não apenas fornece paralelos mais flexíveis, mas também adaptabilidade para discretização. No último tópico, você pode pesquisar no Google obras de Schwab, veja também o projeto deles . Para o trabalho que explora o paralelismo e a adaptabilidade, você pode assistir na página inicial da R. Haynes .

Hui Zhang
fonte
1

Dê uma olhada no algoritmo Parareal e seu trabalho relacionado, como correção adiada espectral (uma simples pesquisa no Google gera bastante material). A idéia básica é usar uma "malha" grossa no tempo e dar um passo difícil, mas depois volte a ela e faça correções em uma escala de tempo mais fina. Parece ser usado principalmente em simulações de fluidos, mas estou na área de eletromagnética, então não posso dizer muito mais sobre isso. A única razão pela qual sei disso é porque participei de um seminário sobre a abordagem de correção diferida e parecia muito interessante que qualquer tipo de paralelismo pudesse ser feito a tempo.

Victor Liu
fonte
Eu sei disso, mas você pode apontar para um caso em que eles são usados ​​em conjunto com o paralelismo espacial?
David Ketcheson
Para ser claro, os esquemas de correção diferidos ou adiados por si só não têm nada a ver com esquemas Parareal e / ou paralelos ao tempo.
Matthew Emmett
1

O método de disparo múltiplo usado no controle ideal é projetado de forma que os subproblemas em cada intervalo de disparo possam ser resolvidos em paralelo. Não conheço artigos que combinem isso com paralelismo espacial (não existem muitos problemas ótimos de controle que foram resolvidos no passado em que a equação é uma PDE espacial dependente do tempo), mas seria óbvio como fazer paralelismo espaço e tempo.

Wolfgang Bangerth
fonte