Use este identificador para citar ou linkar para este item: https://repositorio.unipampa.edu.br/jspui/handle/riu/8527
Tipo: Trabalho de Conclusão de Curso
Título: Um estudo da extensão de paralelismo dinâmico fornecido por CUDA em aplicações recursivas
Autor(es): Nogueira, Angelo Gaspar Diniz
Primeiro Orientador: Luizelli, Marcelo Caggiani
Coorientador: Lorenzon, Arthur Francisco
Resumo: A demanda por desempenho de aplicações nos domínios de computação gráfica, aprendizado de máquina, computação de alto desempenho, etc. vêm crescendo ao longo dos anos. Para atender à esta demanda, empresas destes domínios frequentemente tendem a atualizar seus recursos computacionais, como por exemplo, processadores, quantidade de clusters, memória, etc. No entanto, esta atualização incremental pode ter um impacto negativo nos custos relacionados a energia. Portanto, uma das alternativas para a melhoria do desempenho de aplicações sem um impacto negativo no consumo de energia de sistemas de alto desempenho é a exploração do paralelismo no nível de threads. O paralelismo neste nível pode ser explorado em arquiteturas homogêneas e heterogêneas, através do uso de modelos de programação que tendem a tornar a tarefa do programador mais simples. Um exemplo de tais modelos é o CUDA (Compute Unified Device Architecture), um modelo de programação paralela para ambientes heterogêneos compostos de CPUs (Central Processing Units) e GPUs -(Graphics Processing Units). Nesse sentido, CUDA permite a execução de trechos ou segmentos de uma aplicação na GPU, através de funções chamadas de kernels. Por padrão, as chamadas de kernel são realizadas na CPU, e como tal, existe um custo associado à comunicação entre CPU e GPU. Dessa forma, os possíveis ganhos de desempenho em algoritmos recursivos são limitadas, já que estes requerem diversas chamadas de kernel durante sua execução, devido a recursão. Para resolver esta limitação CUDA fornece ao programador a extensão paralelismo dinâmico, que permite que chamadas de kernels sejam realizadas diretamente na GPU. Dessa forma, evitando ou minimizando o custo mencionado. Nesse sentido, este trabalho de conclusão de curso tem como objetivo avaliar o desempenho e consumo de energia da extensão de paralelismo dinâmico do CUDA em algoritmos recursivos.
Abstract: The demand for application performance in the domains of graphical computation, machine learning, high-performance computing, etc. has been increasing over the years. To meet this demand, enterprises of such domains frequently tend to upgrade their computational resources, such as memory, processor, number of clusters, etc. However, this incremental upgrade may lead to a negative impact on costs related to energy. Therefore, one of the alternatives to increase the performance of applications without an increase in energy consumption of high-performance systems is the exploration of parallelism on the thread level. This level of parallelism can be explored in both homogeneous and heterogeneous architectures. Through the use of programming models that tend to make the programmer’s task simpler. One example of such a model is CUDA- (Compute Unified Device Architecture), a parallel programming model for heterogeneous environments composed of CPUs -(Central Processing Units) and GPUs -(Graphics Processing Units). In that sense, CUDA allows for the execution of parts or short segments of an application on the GPU. Through the use and creation of functions called kernels. By default, kernel calls need to be made on the CPU, and as such, there exists a cost associated with the communication between the CPU and GPU. In that sense, possible performance gains of recursive algorithms are limited. Given that, they require multiple kernel calls during their execution due to recursion. Besides that limitation, there also exists the necessity to use specialized kernels, to address the recursions of sub-problems of the graph. To solve this limitation, CUDA offers the programmer the extension dynamic parallelism, which allows kernel calls to be made directly on the GPU. This way, avoiding or minimizing the aforementioned cost. In this sense, this course conclusion work aims to evaluate the performance and energy consumption of the dynamic parallelism extension of CUDA in recursive algorithms.
Palavras-chave: Ciência da computação
Computação heterogênea
Computação de alto desempenho
Energia - Consumo
Computer science
Heterogeneous computing
High performance computing
Energy - Consumption
CNPq: CNPQ::CIENCIAS EXATAS E DA TERRA
Idioma: por
País: Brasil
Editor: Universidade Federal do Pampa
Sigla da Instituição: UNIPAMPA
Campus: Campus Alegrete
Citação: NOGUEIRA, Angelo Gaspar Diniz. Um estudo da extensão de paralelismo dinâmico fornecido por CUDA em aplicações recursivas. Orientador: Marcelo Caggiani Luizelli. 2023. 57p. Trabalho de Conclusão de Curso (Bacharel em Ciência da Computação) – Universidade Federal do Pampa, Curso de Ciência da Computação, Alegrete, 2023.
Tipo de Acesso: Acesso Aberto
URI: https://repositorio.unipampa.edu.br/jspui/handle/riu/8527
Data do documento: 7-Jul-2023
Aparece nas coleções:Ciência da Computação

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
Angelo Gaspar Diniz Nogueira - 2023.pdf1.12 MBAdobe PDFVisualizar/Abrir


Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.