Boosting memory access locality of the spectral element method with Hilbert Space-Filling Curves
| Ano de defesa: | 2021 |
|---|---|
| Autor(a) principal: | |
| Orientador(a): | |
| Banca de defesa: | |
| 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 |