GPU Communication Performance Engineering for the Lattice Boltzmann Method
Autor(a) principal: | |
---|---|
Data de Publicação: | 2016 |
Tipo de documento: | Dissertação |
Idioma: | por |
Título da fonte: | Repositório Institucional da UFPR |
Texto Completo: | https://hdl.handle.net/1884/45773 |
Resumo: | Orientador : Prof. Dr. Daniel Weingaertner |
id |
UFPR_592ec2ae743d910f5cd1a66681bc0477 |
---|---|
oai_identifier_str |
oai:acervodigital.ufpr.br:1884/45773 |
network_acronym_str |
UFPR |
network_name_str |
Repositório Institucional da UFPR |
repository_id_str |
308 |
spelling |
Universidade Federal do Paraná. Setor de Ciências Exatas. Programa de Pós-Graduação em InformáticaWeingaertner, Daniel, 1976-Carvalho Junior, Paulo Roberto de2022-12-15T20:14:08Z2022-12-15T20:14:08Z2016https://hdl.handle.net/1884/45773Orientador : Prof. Dr. Daniel WeingaertnerDissertação (mestrado) - Universidade Federal do Paraná, Setor de Ciências Exatas, Programa de Pós-Graduação em Informática. Defesa: Curitiba, 10/08/2016Inclui referências : f. 59-62Área de concentração: Ciência da computaçãoResumo: A crescente importância do uso de GPUs para computação de propósito geral em supercomputadores faz com que o bom suporte a GPUs seja uma característica valiosa de frameworks de software para computação de alto desempenho como o waLBerla. waLBerla é um framework de software altamente paralelo que suporta uma ampla gama de fenômenos físicos. Embora apresente um bom desempenho em CPUs, testes demonstraram que as suas soluções de comunicação para GPU têm um desempenho ruim. Neste trabalho são apresentadas soluções para melhorar o desempenho, a eficiência do uso de memória e a usabilidade do waLBerla em supercomputadores baseados em GPU. A infraestrutura de comunicação proposta para GPUs NVIDIA com suporte a CUDA mostrou-se 25 vezes mais rápida do que o mecanismo de comunicação para GPU disponíveis anteriormente no waLBerla. Nossa solução para melhorar a eficiência do uso de memória da GPU permite usar 55% da memória necessária por uma abordagem simplista, o que possibilita executar simulações com domínios maiores ou usar menos GPUs para um determinado tamanho de domínio. Adicionalmente, levando-se em consideração que o desempenho de kernels CUDA se mostrou altamente sensível ao modo como a memória da GPU é acessada e a detalhes de implementação, foi proposto um mecanismo de indexação flexível de domínio que permite configurar as dimensões dos blocos de threads. Além disso, uma aplicação do Lattice Boltzmann Method (LBM) foi desenvolvida com kernels CUDA altamente otimizados a fim de se realizar todos os experimentos e testar todas as soluções propostas para o waLBerla. Palavras-chave: HPC, GPU, CUDA, Comunicação, Memória, Lattice Boltzmann Method, waLBerla.Abstract: The increasing importance of GPUs for general-purpose computation on supercomputers makes a good GPU support by High-Performance Computing (HPC) software frameworks such as waLBerla a valuable feature. waLBerla is a massively parallel software framework that supports a wide range of physical phenomena. Although it presents good performance on CPUs, tests have shown that its available GPU communication solutions perform poorly. In this work, we present solutions for improving waLBerla’s performance, memory usage efficiency and usability on GPU-based supercomputers. The proposed communication infrastructure for CUDA-enabled NVIDIA GPUs executed 25 times faster than the GPU communication mechanism previously available on waLBerla. Our solution for improving GPU memory usage efficiency allowed for using 55% of the memory required by a naive approach, which makes possible for running simulations with larger domains or using fewer GPUs for a given domain size. In addition, as CUDA kernel performance showed to be very sensitive to the way data is accessed in GPU memory and kernel implementation details, we proposed a flexible domain indexing mechanism that allows for configuring thread block sizes. Finally, a Lattice Boltzmann Method (LBM) application was developed with highly optimized CUDA kernels in order to carry out all experiments and test all proposed solutions for waLBerla. Keywords: HPC, GPU, CUDA, Communication, Memory, Lattice Boltzmann Method, waLBerla.62 f. : il., algumas color., grafs.application/pdfDisponível em formato digitalCiência da computaçãoComputação graficaUnidades de processamento gráficoTesesGPU Communication Performance Engineering for the Lattice Boltzmann Methodinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisporreponame:Repositório Institucional da UFPRinstname:Universidade Federal do Paraná (UFPR)instacron:UFPRinfo:eu-repo/semantics/openAccessORIGINALR - D - PAULO ROBERTO DE CARVALHO JUNIOR.pdfapplication/pdf2105515https://acervodigital.ufpr.br/bitstream/1884/45773/1/R%20-%20D%20-%20PAULO%20ROBERTO%20DE%20CARVALHO%20JUNIOR.pdf8dfc9d069a1e45870b437fb8a697ad80MD51open access1884/457732022-12-15 17:14:08.188open accessoai:acervodigital.ufpr.br:1884/45773Repositório de PublicaçõesPUBhttp://acervodigital.ufpr.br/oai/requestopendoar:3082022-12-15T20:14:08Repositório Institucional da UFPR - Universidade Federal do Paraná (UFPR)false |
dc.title.pt_BR.fl_str_mv |
GPU Communication Performance Engineering for the Lattice Boltzmann Method |
title |
GPU Communication Performance Engineering for the Lattice Boltzmann Method |
spellingShingle |
GPU Communication Performance Engineering for the Lattice Boltzmann Method Carvalho Junior, Paulo Roberto de Ciência da computação Computação grafica Unidades de processamento gráfico Teses |
title_short |
GPU Communication Performance Engineering for the Lattice Boltzmann Method |
title_full |
GPU Communication Performance Engineering for the Lattice Boltzmann Method |
title_fullStr |
GPU Communication Performance Engineering for the Lattice Boltzmann Method |
title_full_unstemmed |
GPU Communication Performance Engineering for the Lattice Boltzmann Method |
title_sort |
GPU Communication Performance Engineering for the Lattice Boltzmann Method |
author |
Carvalho Junior, Paulo Roberto de |
author_facet |
Carvalho Junior, Paulo Roberto de |
author_role |
author |
dc.contributor.other.pt_BR.fl_str_mv |
Universidade Federal do Paraná. Setor de Ciências Exatas. Programa de Pós-Graduação em Informática |
dc.contributor.advisor1.fl_str_mv |
Weingaertner, Daniel, 1976- |
dc.contributor.author.fl_str_mv |
Carvalho Junior, Paulo Roberto de |
contributor_str_mv |
Weingaertner, Daniel, 1976- |
dc.subject.por.fl_str_mv |
Ciência da computação Computação grafica Unidades de processamento gráfico Teses |
topic |
Ciência da computação Computação grafica Unidades de processamento gráfico Teses |
description |
Orientador : Prof. Dr. Daniel Weingaertner |
publishDate |
2016 |
dc.date.issued.fl_str_mv |
2016 |
dc.date.accessioned.fl_str_mv |
2022-12-15T20:14:08Z |
dc.date.available.fl_str_mv |
2022-12-15T20:14:08Z |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
format |
masterThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
https://hdl.handle.net/1884/45773 |
url |
https://hdl.handle.net/1884/45773 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.relation.pt_BR.fl_str_mv |
Disponível em formato digital |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
62 f. : il., algumas color., grafs. application/pdf |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UFPR instname:Universidade Federal do Paraná (UFPR) instacron:UFPR |
instname_str |
Universidade Federal do Paraná (UFPR) |
instacron_str |
UFPR |
institution |
UFPR |
reponame_str |
Repositório Institucional da UFPR |
collection |
Repositório Institucional da UFPR |
bitstream.url.fl_str_mv |
https://acervodigital.ufpr.br/bitstream/1884/45773/1/R%20-%20D%20-%20PAULO%20ROBERTO%20DE%20CARVALHO%20JUNIOR.pdf |
bitstream.checksum.fl_str_mv |
8dfc9d069a1e45870b437fb8a697ad80 |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 |
repository.name.fl_str_mv |
Repositório Institucional da UFPR - Universidade Federal do Paraná (UFPR) |
repository.mail.fl_str_mv |
|
_version_ |
1801860909251952640 |