Decomposição de multiplicação matricial em tarefas adequadas a ambientes heterogêneos baseados em GPGPU
Autor(a) principal: | |
---|---|
Data de Publicação: | 2024 |
Tipo de documento: | Dissertação |
Idioma: | por |
Título da fonte: | Repositório Institucional da UEL |
Texto Completo: | https://repositorio.uel.br/handle/123456789/13806 |
Resumo: | Resumo: Este trabalho desenvolve dois algoritmos para decomposição de multiplicação matricial geral (GEMM, do inglês General Matrix Multiplication) em tarefas menores, adequadas à distribuição entre processadores disponíveis em sistemas heterogêneos, como CPUs e GPUs, que têm como objetivo a escalabilidade de desempenho Um dos algoritmos gera tarefas que são multiplicações matriciais menores, independentes entre si, mas com redundância de dados nas transferências entre os processadores O trabalho mostra que esse algoritmo também pode ser utilizado para explorar recursos de GPUs como a sobreposição de operações de transferências e execução de kernels Já o outro algoritmo decompõe multiplicações matriciais em três grupos de tarefas, sendo dois de multiplicações menores e um de somas vetoriais Demonstra-se que apesar das tarefas possuírem independência apenas parcial, podem ser organizadas de tal forma a serem resolvidas concorrentemente Este algoritmo também prevê a viabilidade de redução nas transferências de memória entre os processadores e evita redundância nas transferências de dados O trabalho ainda mostra que tais características são desejáveis para sistemas computacionais heterogêneos baseados em computação de propósito geral na unidade de processamento gráfico (GPGPU, do inglês General Purpose computing on GPU) Por fim, o trabalho apresenta implementações dos algoritmos propostos e seus respectivos desempenhos A experimentação mostra que, em um sistema com duas GPUs, os algoritmos podem melhorar o desempenho de multiplicações em 5%, para matrizes de dimensão 1?1, até acima de 1%, para 4?4 adiante |
id |
UEL_8c962632fcacaf4c5d3790d012450453 |
---|---|
oai_identifier_str |
oai:repositorio.uel.br:123456789/13806 |
network_acronym_str |
UEL |
network_name_str |
Repositório Institucional da UEL |
repository_id_str |
|
spelling |
Decomposição de multiplicação matricial em tarefas adequadas a ambientes heterogêneos baseados em GPGPUProgramação paralela (Computação)Processamento paralelo (Computadores)Álgebra linearProcessamento de dadosSistemas operacionais distribuídos (Computadores)Parallel programming (Computer science)Parallel processing (Electronic computers)AlgebResumo: Este trabalho desenvolve dois algoritmos para decomposição de multiplicação matricial geral (GEMM, do inglês General Matrix Multiplication) em tarefas menores, adequadas à distribuição entre processadores disponíveis em sistemas heterogêneos, como CPUs e GPUs, que têm como objetivo a escalabilidade de desempenho Um dos algoritmos gera tarefas que são multiplicações matriciais menores, independentes entre si, mas com redundância de dados nas transferências entre os processadores O trabalho mostra que esse algoritmo também pode ser utilizado para explorar recursos de GPUs como a sobreposição de operações de transferências e execução de kernels Já o outro algoritmo decompõe multiplicações matriciais em três grupos de tarefas, sendo dois de multiplicações menores e um de somas vetoriais Demonstra-se que apesar das tarefas possuírem independência apenas parcial, podem ser organizadas de tal forma a serem resolvidas concorrentemente Este algoritmo também prevê a viabilidade de redução nas transferências de memória entre os processadores e evita redundância nas transferências de dados O trabalho ainda mostra que tais características são desejáveis para sistemas computacionais heterogêneos baseados em computação de propósito geral na unidade de processamento gráfico (GPGPU, do inglês General Purpose computing on GPU) Por fim, o trabalho apresenta implementações dos algoritmos propostos e seus respectivos desempenhos A experimentação mostra que, em um sistema com duas GPUs, os algoritmos podem melhorar o desempenho de multiplicações em 5%, para matrizes de dimensão 1?1, até acima de 1%, para 4?4 adianteDissertação (Mestrado em Ciência da Computação) - Universidade Estadual de Londrina, Centro de Ciências Exatas, Programa de Pós-Graduação em Ciência da ComputaçãoAbstract: In this work, we developed two algorithms for decomposing a general matrix multiplication (GEMM) into smaller tasks, adequate to distribution between available processors in heterogeneous systems, such as CPUs and GPUs, that have performance scalability as its main objective One of the algorithms generates independent smaller matrix multiplication tasks, but with redundancy in data transfers between processors We show that this algorithm can utilize GPUs features such as overlapping of memory transfers and kernel executions The other algorithm presented decomposes matrix multiplications in three groups of tasks, two being smaller multiplications and, the other, vectorial sums We show that although the independence of these tasks being only partial, they can be organized in such a way that are able to be solved concurrently This algorithm also provides reduction in memory transfers between processors and avoids redundancy We also show that such features are desirable in heterogeneous systems based in general purpose computing in GPU (GPGPU) Finally, we show implementations to the proposed algorithms and their respective performance Experimentation shows that, in a system with two GPUs, they can improve matrix multiplication performance by 5%, for matrix dimensions from 1?1, up to over 1%, for 4?4 and onBrancher, Jacques Duílio [Orientador]Zarpelão, Bruno BogazAttrot, WesleyRomeiro, Neyva Maria LopesSilva, Ricardo Inácio Álvares e2024-05-01T14:19:05Z2024-05-01T14:19:05Z2013.0020.02.2013info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttps://repositorio.uel.br/handle/123456789/13806porMestradoCiência da ComputaçãoCentro de Ciências ExatasPrograma de Pós-Graduação em Ciência da ComputaçãoLondrinareponame:Repositório Institucional da UELinstname:Universidade Estadual de Londrina (UEL)instacron:UELinfo:eu-repo/semantics/openAccess2024-07-12T04:19:48Zoai:repositorio.uel.br:123456789/13806Biblioteca Digital de Teses e Dissertaçõeshttp://www.bibliotecadigital.uel.br/PUBhttp://www.bibliotecadigital.uel.br/OAI/oai2.phpbcuel@uel.br||opendoar:2024-07-12T04:19:48Repositório Institucional da UEL - Universidade Estadual de Londrina (UEL)false |
dc.title.none.fl_str_mv |
Decomposição de multiplicação matricial em tarefas adequadas a ambientes heterogêneos baseados em GPGPU |
title |
Decomposição de multiplicação matricial em tarefas adequadas a ambientes heterogêneos baseados em GPGPU |
spellingShingle |
Decomposição de multiplicação matricial em tarefas adequadas a ambientes heterogêneos baseados em GPGPU Silva, Ricardo Inácio Álvares e Programação paralela (Computação) Processamento paralelo (Computadores) Álgebra linear Processamento de dados Sistemas operacionais distribuídos (Computadores) Parallel programming (Computer science) Parallel processing (Electronic computers) Algeb |
title_short |
Decomposição de multiplicação matricial em tarefas adequadas a ambientes heterogêneos baseados em GPGPU |
title_full |
Decomposição de multiplicação matricial em tarefas adequadas a ambientes heterogêneos baseados em GPGPU |
title_fullStr |
Decomposição de multiplicação matricial em tarefas adequadas a ambientes heterogêneos baseados em GPGPU |
title_full_unstemmed |
Decomposição de multiplicação matricial em tarefas adequadas a ambientes heterogêneos baseados em GPGPU |
title_sort |
Decomposição de multiplicação matricial em tarefas adequadas a ambientes heterogêneos baseados em GPGPU |
author |
Silva, Ricardo Inácio Álvares e |
author_facet |
Silva, Ricardo Inácio Álvares e |
author_role |
author |
dc.contributor.none.fl_str_mv |
Brancher, Jacques Duílio [Orientador] Zarpelão, Bruno Bogaz Attrot, Wesley Romeiro, Neyva Maria Lopes |
dc.contributor.author.fl_str_mv |
Silva, Ricardo Inácio Álvares e |
dc.subject.por.fl_str_mv |
Programação paralela (Computação) Processamento paralelo (Computadores) Álgebra linear Processamento de dados Sistemas operacionais distribuídos (Computadores) Parallel programming (Computer science) Parallel processing (Electronic computers) Algeb |
topic |
Programação paralela (Computação) Processamento paralelo (Computadores) Álgebra linear Processamento de dados Sistemas operacionais distribuídos (Computadores) Parallel programming (Computer science) Parallel processing (Electronic computers) Algeb |
description |
Resumo: Este trabalho desenvolve dois algoritmos para decomposição de multiplicação matricial geral (GEMM, do inglês General Matrix Multiplication) em tarefas menores, adequadas à distribuição entre processadores disponíveis em sistemas heterogêneos, como CPUs e GPUs, que têm como objetivo a escalabilidade de desempenho Um dos algoritmos gera tarefas que são multiplicações matriciais menores, independentes entre si, mas com redundância de dados nas transferências entre os processadores O trabalho mostra que esse algoritmo também pode ser utilizado para explorar recursos de GPUs como a sobreposição de operações de transferências e execução de kernels Já o outro algoritmo decompõe multiplicações matriciais em três grupos de tarefas, sendo dois de multiplicações menores e um de somas vetoriais Demonstra-se que apesar das tarefas possuírem independência apenas parcial, podem ser organizadas de tal forma a serem resolvidas concorrentemente Este algoritmo também prevê a viabilidade de redução nas transferências de memória entre os processadores e evita redundância nas transferências de dados O trabalho ainda mostra que tais características são desejáveis para sistemas computacionais heterogêneos baseados em computação de propósito geral na unidade de processamento gráfico (GPGPU, do inglês General Purpose computing on GPU) Por fim, o trabalho apresenta implementações dos algoritmos propostos e seus respectivos desempenhos A experimentação mostra que, em um sistema com duas GPUs, os algoritmos podem melhorar o desempenho de multiplicações em 5%, para matrizes de dimensão 1?1, até acima de 1%, para 4?4 adiante |
publishDate |
2024 |
dc.date.none.fl_str_mv |
20.02.2013 2013.00 2024-05-01T14:19:05Z 2024-05-01T14:19:05Z |
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://repositorio.uel.br/handle/123456789/13806 |
url |
https://repositorio.uel.br/handle/123456789/13806 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.relation.none.fl_str_mv |
Mestrado Ciência da Computação Centro de Ciências Exatas Programa de Pós-Graduação em Ciência da Computação |
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.coverage.none.fl_str_mv |
Londrina |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UEL instname:Universidade Estadual de Londrina (UEL) instacron:UEL |
instname_str |
Universidade Estadual de Londrina (UEL) |
instacron_str |
UEL |
institution |
UEL |
reponame_str |
Repositório Institucional da UEL |
collection |
Repositório Institucional da UEL |
repository.name.fl_str_mv |
Repositório Institucional da UEL - Universidade Estadual de Londrina (UEL) |
repository.mail.fl_str_mv |
bcuel@uel.br|| |
_version_ |
1809823256417402880 |