Boosting memory access locality of the spectral element method with Hilbert Space-Filling Curves
The wave equation is pervasive in mathematical physics and engineering, and we need to solve it repeatedly to simulate wave propagations in software. The spectral element method, one of several approaches for the numerical solution of the wave equation, discretizes the underlying domain in a mesh ma...
Na minha lista:
Autor principal: | |
---|---|
Outros Autores: | |
Formato: | doctoralThesis |
Idioma: | pt_BR |
Publicado em: |
Universidade Federal do Rio Grande do Norte
|
Assuntos: | |
Endereço do item: | https://repositorio.ufrn.br/handle/123456789/45677 |
Tags: |
Adicionar Tag
Sem tags, seja o primeiro a adicionar uma tag!
|
id |
ri-123456789-45677 |
---|---|
record_format |
dspace |
spelling |
ri-123456789-456772022-05-02T15:31:43Z Boosting memory access locality of the spectral element method with Hilbert Space-Filling Curves Araújo, Roger Rommel Ferreira de Souza, Samuel Xavier de http://lattes.cnpq.br/2469398155033763 http://lattes.cnpq.br/9892239670106361 Araújo, João Medeiros de Okuda, Hiroshi Catabriga, Lucia http://lattes.cnpq.br/4364303980383808 Gross, Lutz Curvas de preenchimento de Hilbert Método dos elementos espectrais Propagação de ondas Processamento paralelo The wave equation is pervasive in mathematical physics and engineering, and we need to solve it repeatedly to simulate wave propagations in software. The spectral element method, one of several approaches for the numerical solution of the wave equation, discretizes the underlying domain in a mesh made of elements and nodes, and traverses every element and every node at each time step as it marches the target equation through time. We propose a memory reordering algorithm, meant to be used with the spectral element method, that rearranges mesh-related data to reduce the number of cache misses and boost locality of data reference, thereby improving the execution speed of the mesh traversal process. We devise a spectral element method formulation for 2D waves over unstructured meshes made of triangles, and we pair it to our memory reordering algorithm to construct an acoustic wave propagation simulator. Our experiments show that the reordering technique based on Hilbert space-filling curves performs well in meshes of different granularities, and also when the variation in element sizes is either small or large. In addition, we compare the proposed approach with three other memory reordering schemes, and find that our algorithm runs between 9% and 25% faster than the alternatives we tested. We recommend this memory reordering algorithm to any application that requires successive traversals across domains. A equação da onda tem uso frequente na física matemática e na engenharia, e temos de resolvê-la repetidamente para simular propagações de onda via software. O método dos elementos espectrais, uma das várias abordagens utilizadas na solução numérica da equação da onda, discretiza o domínio subjacente através de uma malha feita de elementos e nós, e percorre todos os elementos e todos os nós a cada intervalo de tempo para avançar a equação de interesse ao longo do tempo. Propomos um algoritmo de reordenação de memória, projetado para ser usado com o método dos elementos espectrais, que reorganiza informações da malha para reduzir o número de falhas de cache e incrementar a localidade de referência de dados, o que melhora o tempo de execução ao percorrer a malha. Elaboramos uma formulação do método dos elementos espectrais para ondas 2D sobre malhas não estruturadas compostas de triângulos, e associamos a ela nosso algoritmo de reordenação de memória para construir um simulador de propagação de ondas acústicas. Nossos experimentos mostram que a técnica de reordenação baseada em curvas de preenchimento de Hilbert tem bom desempenho em malhas de diversas granularidades, e também quando a variação no tamanho dos elementos é pequena ou grande. Além disso, comparamos a abordagem proposta a três outros procedimentos de reordenação de memória, e verificamos que o tempo de execução de nosso algoritmo é de 9% a 25% mais rápido do que as alternativas testadas. Recomendamos a adoção deste algoritmo de reordenação de memória em qualquer aplicação que demande percorrer domínios repetidamente. 2022-01-18T23:31:35Z 2022-01-18T23:31:35Z 2021-10-07 doctoralThesis ARAÚJO, Roger Rommel Ferreira de. Boosting memory access locality of the spectral element method with Hilbert Space-Filling Curves. 2021. 103f. Tese (Doutorado em Engenharia Elétrica e de Computação) - Centro de Tecnologia, Universidade Federal do Rio Grande do Norte, Natal, 2021. https://repositorio.ufrn.br/handle/123456789/45677 pt_BR Acesso Aberto application/pdf Universidade Federal do Rio Grande do Norte Brasil UFRN PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA E DE COMPUTAÇÃO |
institution |
Repositório Institucional |
collection |
RI - UFRN |
language |
pt_BR |
topic |
Curvas de preenchimento de Hilbert Método dos elementos espectrais Propagação de ondas Processamento paralelo |
spellingShingle |
Curvas de preenchimento de Hilbert Método dos elementos espectrais Propagação de ondas Processamento paralelo Araújo, Roger Rommel Ferreira de Boosting memory access locality of the spectral element method with Hilbert Space-Filling Curves |
description |
The wave equation is pervasive in mathematical physics and engineering, and we need
to solve it repeatedly to simulate wave propagations in software. The spectral element
method, one of several approaches for the numerical solution of the wave equation, discretizes the underlying domain in a mesh made of elements and nodes, and traverses every
element and every node at each time step as it marches the target equation through time.
We propose a memory reordering algorithm, meant to be used with the spectral element
method, that rearranges mesh-related data to reduce the number of cache misses and boost
locality of data reference, thereby improving the execution speed of the mesh traversal
process. We devise a spectral element method formulation for 2D waves over unstructured
meshes made of triangles, and we pair it to our memory reordering algorithm to construct an acoustic wave propagation simulator. Our experiments show that the reordering
technique based on Hilbert space-filling curves performs well in meshes of different granularities, and also when the variation in element sizes is either small or large. In addition,
we compare the proposed approach with three other memory reordering schemes, and find
that our algorithm runs between 9% and 25% faster than the alternatives we tested. We
recommend this memory reordering algorithm to any application that requires successive
traversals across domains. |
author2 |
Souza, Samuel Xavier de |
author_facet |
Souza, Samuel Xavier de Araújo, Roger Rommel Ferreira de |
format |
doctoralThesis |
author |
Araújo, Roger Rommel Ferreira de |
author_sort |
Araújo, Roger Rommel Ferreira de |
title |
Boosting memory access locality of the spectral element method with Hilbert Space-Filling Curves |
title_short |
Boosting memory access locality of the spectral element method with Hilbert Space-Filling Curves |
title_full |
Boosting memory access locality of the spectral element method with Hilbert Space-Filling Curves |
title_fullStr |
Boosting memory access locality of the spectral element method with Hilbert Space-Filling Curves |
title_full_unstemmed |
Boosting memory access locality of the spectral element method with Hilbert Space-Filling Curves |
title_sort |
boosting memory access locality of the spectral element method with hilbert space-filling curves |
publisher |
Universidade Federal do Rio Grande do Norte |
publishDate |
2022 |
url |
https://repositorio.ufrn.br/handle/123456789/45677 |
work_keys_str_mv |
AT araujorogerrommelferreirade boostingmemoryaccesslocalityofthespectralelementmethodwithhilbertspacefillingcurves |
_version_ |
1773962134953132032 |