Um estudo da extensão de paralelismo dinâmico fornecido por CUDA em aplicações recursivas

Bibliographic Details
Main Author: Nogueira, Angelo Gaspar Diniz
Publication Date: 2023
Format: Bachelor thesis
Language: por
Source: Repositório Institucional da UNIPAMPA
Download full: https://repositorio.unipampa.edu.br/jspui/handle/riu/8527
Summary: 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.
id UNIP_2235b6bd80369b3deb2aab8ad7ae83fe
oai_identifier_str oai:repositorio.unipampa.edu.br:riu/8527
network_acronym_str UNIP
network_name_str Repositório Institucional da UNIPAMPA
repository_id_str
spelling Luizelli, Marcelo CaggianiLorenzon, Arthur FranciscoNogueira, Angelo Gaspar Diniz2023-07-28T18:37:08Z2023-07-28T18:37:08Z2023-07-07NOGUEIRA, 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.https://repositorio.unipampa.edu.br/jspui/handle/riu/8527A 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.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.porUniversidade Federal do PampaUNIPAMPABrasilCampus AlegreteCNPQ::CIENCIAS EXATAS E DA TERRACiência da computaçãoComputação heterogêneaComputação de alto desempenhoEnergia - ConsumoComputer scienceHeterogeneous computingHigh performance computingEnergy - ConsumptionUm estudo da extensão de paralelismo dinâmico fornecido por CUDA em aplicações recursivasinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UNIPAMPAinstname:Universidade Federal do Pampa (UNIPAMPA)instacron:UNIPAMPAORIGINALAngelo Gaspar Diniz Nogueira - 2023.pdfAngelo Gaspar Diniz Nogueira - 2023.pdfapplication/pdf1150546https://repositorio.unipampa.edu.br/bitstreams/16fd530d-9310-4243-afdb-6c0b15133655/download07e22115db3b44ad3a377cfe6197c7faMD51trueAnonymousREADLICENSElicense.txtlicense.txttext/plain; charset=utf-81854https://repositorio.unipampa.edu.br/bitstreams/2738d735-d88d-4c8c-8325-a9e8eecf52fa/downloadc9ad5aff503ef7873c4004c5b07c0b27MD52falseAnonymousREADriu/85272023-07-28 18:37:08.896open.accessoai:repositorio.unipampa.edu.br:riu/8527https://repositorio.unipampa.edu.brRepositório InstitucionalPUBhttp://dspace.unipampa.edu.br:8080/oai/requestsisbi@unipampa.edu.bropendoar:2023-07-28T18:37:08Repositório Institucional da UNIPAMPA - Universidade Federal do Pampa (UNIPAMPA)falseTElDRU7Dh0EgREUgRElTVFJJQlVJw4fDg08gTsODTy1FWENMVVNJVkEKCkNvbSBhIGFwcmVzZW50YcOnw6NvIGRlc3RhIGxpY2Vuw6dhLCB2b2PDqiAobyBhdXRvciAoZXMpIG91IG8gdGl0dWxhciBkb3MgZGlyZWl0b3MgZGUgYXV0b3IpIGNvbmNlZGUgYW8gUmVwb3NpdMOzcmlvCkluc3RpdHVjaW9uYWwgbyBkaXJlaXRvIG7Do28tZXhjbHVzaXZvIGRlIHJlcHJvZHV6aXIsICB0cmFkdXppciAoY29uZm9ybWUgZGVmaW5pZG8gYWJhaXhvKSwgZS9vdSBkaXN0cmlidWlyIGEKc3VhIHB1YmxpY2HDp8OjbyAoaW5jbHVpbmRvIG8gcmVzdW1vKSBwb3IgdG9kbyBvIG11bmRvIG5vIGZvcm1hdG8gaW1wcmVzc28gZSBlbGV0csO0bmljbyBlIGVtIHF1YWxxdWVyIG1laW8sIGluY2x1aW5kbyBvcwpmb3JtYXRvcyDDoXVkaW8gb3UgdsOtZGVvLgoKVm9jw6ogY29uY29yZGEgcXVlIGEgVU5JUEFNUEEgcG9kZSwgc2VtIGFsdGVyYXIgbyBjb250ZcO6ZG8sIHRyYW5zcG9yIGEgc3VhIHB1YmxpY2HDp8OjbyBwYXJhIHF1YWxxdWVyIG1laW8gb3UgZm9ybWF0bwpwYXJhIGZpbnMgZGUgcHJlc2VydmHDp8Ojby4KClZvY8OqIHRhbWLDqW0gY29uY29yZGEgcXVlICBhIFVOSVBBTVBBIHBvZGUgbWFudGVyIG1haXMgZGUgdW1hIGPDs3BpYSBkZSBzdWEgcHVibGljYcOnw6NvIHBhcmEgZmlucyBkZSBzZWd1cmFuw6dhLCBiYWNrLXVwCmUgcHJlc2VydmHDp8Ojby4KClZvY8OqIGRlY2xhcmEgcXVlIGEgc3VhIHB1YmxpY2HDp8OjbyDDqSBvcmlnaW5hbCBlIHF1ZSB2b2PDqiB0ZW0gbyBwb2RlciBkZSBjb25jZWRlciBvcyBkaXJlaXRvcyBjb250aWRvcyBuZXN0YSBsaWNlbsOnYS4KVm9jw6ogdGFtYsOpbSBkZWNsYXJhIHF1ZSBvIGRlcMOzc2l0byBkYSBzdWEgcHVibGljYcOnw6NvIG7Do28sIHF1ZSBzZWphIGRlIHNldSBjb25oZWNpbWVudG8sIGluZnJpbmdlIGRpcmVpdG9zIGF1dG9yYWlzCmRlIG5pbmd1w6ltLgoKQ2FzbyBhIHN1YSBwdWJsaWNhw6fDo28gY29udGVuaGEgbWF0ZXJpYWwgcXVlIHZvY8OqIG7Do28gcG9zc3VpIGEgdGl0dWxhcmlkYWRlIGRvcyBkaXJlaXRvcyBhdXRvcmFpcywgdm9jw6ogZGVjbGFyYSBxdWUKb2J0ZXZlIGEgcGVybWlzc8OjbyBpcnJlc3RyaXRhIGRvIGRldGVudG9yIGRvcyBkaXJlaXRvcyBhdXRvcmFpcyBwYXJhIGNvbmNlZGVyIMOgIFVOSVBBTVBBIG9zIGRpcmVpdG9zIGFwcmVzZW50YWRvcwpuZXN0YSBsaWNlbsOnYSwgZSBxdWUgZXNzZSBtYXRlcmlhbCBkZSBwcm9wcmllZGFkZSBkZSB0ZXJjZWlyb3MgZXN0w6EgY2xhcmFtZW50ZSBpZGVudGlmaWNhZG8gZSByZWNvbmhlY2lkbyBubyB0ZXh0bwpvdSBubyBjb250ZcO6ZG8gZGEgcHVibGljYcOnw6NvIG9yYSBkZXBvc2l0YWRhLgoKQ0FTTyBBIFBVQkxJQ0HDh8ODTyBPUkEgREVQT1NJVEFEQSBURU5IQSBTSURPIFJFU1VMVEFETyBERSBVTSBQQVRST0PDjU5JTyBPVSBBUE9JTyBERSBVTUEgQUfDik5DSUEgREUgRk9NRU5UTyBPVSBPVVRSTwpPUkdBTklTTU8sIFZPQ8OKIERFQ0xBUkEgUVVFIFJFU1BFSVRPVSBUT0RPUyBFIFFVQUlTUVVFUiBESVJFSVRPUyBERSBSRVZJU8ODTyBDT01PIFRBTULDiU0gQVMgREVNQUlTIE9CUklHQcOHw5VFUwpFWElHSURBUyBQT1IgQ09OVFJBVE8gT1UgQUNPUkRPLgoKQSBVTklQQU1QQSBzZSBjb21wcm9tZXRlIGEgaWRlbnRpZmljYXIgY2xhcmFtZW50ZSBvIHNldSBub21lIChzKSBvdSBvKHMpIG5vbWUocykgZG8ocykgZGV0ZW50b3IoZXMpIGRvcyBkaXJlaXRvcwphdXRvcmFpcyBkYSBwdWJsaWNhw6fDo28sIGUgbsOjbyBmYXLDoSBxdWFscXVlciBhbHRlcmHDp8OjbywgYWzDqW0gZGFxdWVsYXMgY29uY2VkaWRhcyBwb3IgZXN0YSBsaWNlbsOnYS4K
dc.title.pt_BR.fl_str_mv Um estudo da extensão de paralelismo dinâmico fornecido por CUDA em aplicações recursivas
title Um estudo da extensão de paralelismo dinâmico fornecido por CUDA em aplicações recursivas
spellingShingle Um estudo da extensão de paralelismo dinâmico fornecido por CUDA em aplicações recursivas
Nogueira, Angelo Gaspar Diniz
CNPQ::CIENCIAS EXATAS E DA TERRA
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
title_short Um estudo da extensão de paralelismo dinâmico fornecido por CUDA em aplicações recursivas
title_full Um estudo da extensão de paralelismo dinâmico fornecido por CUDA em aplicações recursivas
title_fullStr Um estudo da extensão de paralelismo dinâmico fornecido por CUDA em aplicações recursivas
title_full_unstemmed Um estudo da extensão de paralelismo dinâmico fornecido por CUDA em aplicações recursivas
title_sort Um estudo da extensão de paralelismo dinâmico fornecido por CUDA em aplicações recursivas
author Nogueira, Angelo Gaspar Diniz
author_facet Nogueira, Angelo Gaspar Diniz
author_role author
dc.contributor.advisor1.fl_str_mv Luizelli, Marcelo Caggiani
dc.contributor.advisor-co1.fl_str_mv Lorenzon, Arthur Francisco
dc.contributor.author.fl_str_mv Nogueira, Angelo Gaspar Diniz
contributor_str_mv Luizelli, Marcelo Caggiani
Lorenzon, Arthur Francisco
dc.subject.cnpq.fl_str_mv CNPQ::CIENCIAS EXATAS E DA TERRA
topic CNPQ::CIENCIAS EXATAS E DA TERRA
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
dc.subject.por.fl_str_mv 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
description 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.
publishDate 2023
dc.date.accessioned.fl_str_mv 2023-07-28T18:37:08Z
dc.date.available.fl_str_mv 2023-07-28T18:37:08Z
dc.date.issued.fl_str_mv 2023-07-07
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/bachelorThesis
format bachelorThesis
status_str publishedVersion
dc.identifier.citation.fl_str_mv 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.
dc.identifier.uri.fl_str_mv https://repositorio.unipampa.edu.br/jspui/handle/riu/8527
identifier_str_mv 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.
url https://repositorio.unipampa.edu.br/jspui/handle/riu/8527
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.publisher.none.fl_str_mv Universidade Federal do Pampa
dc.publisher.initials.fl_str_mv UNIPAMPA
dc.publisher.country.fl_str_mv Brasil
dc.publisher.department.fl_str_mv Campus Alegrete
publisher.none.fl_str_mv Universidade Federal do Pampa
dc.source.none.fl_str_mv reponame:Repositório Institucional da UNIPAMPA
instname:Universidade Federal do Pampa (UNIPAMPA)
instacron:UNIPAMPA
instname_str Universidade Federal do Pampa (UNIPAMPA)
instacron_str UNIPAMPA
institution UNIPAMPA
reponame_str Repositório Institucional da UNIPAMPA
collection Repositório Institucional da UNIPAMPA
bitstream.url.fl_str_mv https://repositorio.unipampa.edu.br/bitstreams/16fd530d-9310-4243-afdb-6c0b15133655/download
https://repositorio.unipampa.edu.br/bitstreams/2738d735-d88d-4c8c-8325-a9e8eecf52fa/download
bitstream.checksum.fl_str_mv 07e22115db3b44ad3a377cfe6197c7fa
c9ad5aff503ef7873c4004c5b07c0b27
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UNIPAMPA - Universidade Federal do Pampa (UNIPAMPA)
repository.mail.fl_str_mv sisbi@unipampa.edu.br
_version_ 1848608607938019328