Boosting memory access locality of the spectral element method with Hilbert Space-Filling Curves

Detalhes bibliográficos
Ano de defesa: 2021
Autor(a) principal: Araújo, Roger Rommel Ferreira de
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Tese
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal do Rio Grande do Norte
Brasil
UFRN
PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA E DE COMPUTAÇÃO
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: https://repositorio.ufrn.br/handle/123456789/45677
Resumo: 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.
id UFRN_1eedfff14104644a4aa92e14cdfd7c11
oai_identifier_str oai:repositorio.ufrn.br:123456789/45677
network_acronym_str UFRN
network_name_str Repositório Institucional da UFRN
repository_id_str
spelling Boosting memory access locality of the spectral element method with Hilbert Space-Filling CurvesCurvas de preenchimento de HilbertMétodo dos elementos espectraisPropagação de ondasProcessamento paraleloThe 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.Universidade Federal do Rio Grande do NorteBrasilUFRNPROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA E DE COMPUTAÇÃOSouza, Samuel Xavier dehttp://lattes.cnpq.br/2469398155033763http://lattes.cnpq.br/9892239670106361Araújo, João Medeiros deOkuda, HiroshiCatabriga, Luciahttp://lattes.cnpq.br/4364303980383808Gross, LutzAraújo, Roger Rommel Ferreira de2022-01-18T23:31:35Z2022-01-18T23:31:35Z2021-10-07info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisapplication/pdfARAÚ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/45677info:eu-repo/semantics/openAccessporreponame:Repositório Institucional da UFRNinstname:Universidade Federal do Rio Grande do Norte (UFRN)instacron:UFRN2022-05-02T15:31:43Zoai:repositorio.ufrn.br:123456789/45677Repositório InstitucionalPUBhttp://repositorio.ufrn.br/oai/repositorio@bczm.ufrn.bropendoar:2022-05-02T15:31:43Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN)false
dc.title.none.fl_str_mv Boosting memory access locality of the spectral element method with Hilbert Space-Filling Curves
title Boosting memory access locality of the spectral element method with Hilbert Space-Filling Curves
spellingShingle Boosting memory access locality of the spectral element method with Hilbert Space-Filling Curves
Araújo, Roger Rommel Ferreira de
Curvas de preenchimento de Hilbert
Método dos elementos espectrais
Propagação de ondas
Processamento paralelo
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
author Araújo, Roger Rommel Ferreira de
author_facet Araújo, Roger Rommel Ferreira de
author_role author
dc.contributor.none.fl_str_mv 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
dc.contributor.author.fl_str_mv Araújo, Roger Rommel Ferreira de
dc.subject.por.fl_str_mv Curvas de preenchimento de Hilbert
Método dos elementos espectrais
Propagação de ondas
Processamento paralelo
topic Curvas de preenchimento de Hilbert
Método dos elementos espectrais
Propagação de ondas
Processamento paralelo
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.
publishDate 2021
dc.date.none.fl_str_mv 2021-10-07
2022-01-18T23:31:35Z
2022-01-18T23:31:35Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/doctoralThesis
format doctoralThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv 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
identifier_str_mv 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.
url https://repositorio.ufrn.br/handle/123456789/45677
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidade Federal do Rio Grande do Norte
Brasil
UFRN
PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA E DE COMPUTAÇÃO
publisher.none.fl_str_mv Universidade Federal do Rio Grande do Norte
Brasil
UFRN
PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA E DE COMPUTAÇÃO
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFRN
instname:Universidade Federal do Rio Grande do Norte (UFRN)
instacron:UFRN
instname_str Universidade Federal do Rio Grande do Norte (UFRN)
instacron_str UFRN
institution UFRN
reponame_str Repositório Institucional da UFRN
collection Repositório Institucional da UFRN
repository.name.fl_str_mv Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN)
repository.mail.fl_str_mv repositorio@bczm.ufrn.br
_version_ 1855758805230419968