Decomposição de multiplicação matricial em tarefas adequadas a ambientes heterogêneos baseados em GPGPU
Arquivos
Data
Autores
Silva, Ricardo Inácio Álvares e
Título da Revista
ISSN da Revista
Título de Volume
Editor
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
Descrição
Palavras-chave
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