A Model for Software Measurement Aiming to Guide Evaluations and Comparisons between Programming Tools to Implement GPU Applications

Detalhes bibliográficos
Ano de defesa: 2022
Autor(a) principal: Di Domenico, Daniel
Orientador(a): Cavalheiro, Gerson Geraldo Homrich
Banca de defesa: Não Informado pela instituição
Tipo de documento: Tese
Tipo de acesso: Acesso aberto
Idioma: eng
Instituição de defesa: Universidade Federal de Pelotas
Programa de Pós-Graduação: Programa de Pós-Graduação em Computação
Departamento: Não Informado pela instituição
País: Brasil
Palavras-chave em Português:
GPU
NPB
Área do conhecimento CNPq:
Link de acesso: http://guaiaca.ufpel.edu.br/xmlui/handle/prefix/12901
Resumo: Ferramentas de programação para GPUs são frameworks que possuem recursos para explorar o paralelismo massivo oferecido por tais dispositivos. Atualmente, estes dispositivos estão sendo amplamente empregados na Computação de Alto Desempenho. Apesar de existirem diversas ferramentas que podem ser utilizadas para codificar uma aplicação para GPU, o processo de programação requerido para esta finalidade ainda é visto como desafiador, demandando o uso de frameworks específicos para lidar com ambiente heterogêneo existente na arquitetura de GPU. Além disso, não há um framework amplamente aceito como o padrão para explorar GPUs. Neste sentido, a escolha de uma ferramenta para implementar um programa para GPUs não é simples, visto que tal decisão pode impactar o desempenho e o esforço de programação necessário para desenvolvê-lo. Diante disto, esta Tese propõe um modelo para conduzir avaliações e comparações entre frameworks para GPUs. Este modelo foi formulado baseando-se na metodologia GQM para métrica de software e, devido a isto, utiliza Goals (Objetivos), Questions (Questões) e Metrics (Métricas) para analisar três aspectos referente aos frameworks: expressividade de programação, esforço de programação e desempenho. Como resultado, o modelo visa oferecer uma perspectiva considerando as características, pontos fortes e pontos fracos das ferramentas de programação. Nossa ideia é que tal perspectiva seja capaz de auxiliar na escolha de um framework a fim de desenvolver um programa para GPU. Experimentos conduzidos a partir do modelo GQM proposto foram realizados aplicando o conjunto de benchmarks do “NAS Parallel Benchmarks” implementados com CUDA, OpenACC e Python/Numba. Os resultados experimentais contemplaram os três aspectos definidos no modelo, mostrando as semelhanças e diferenças das APIs utilizadas. Ademais, os resultados foram empregados para construir a perspectiva sobre cada framework. Desta forma, nós acreditamos que este estudo contribui para aprimorar o conhecimento disponível sobre tais ferramentas, bem como no avanço das pesquisas relacionadas a ferramentas de programação para GPUs.
id UFPL_2f4a9e615857092a47a80010fda262b0
oai_identifier_str oai:guaiaca.ufpel.edu.br:prefix/12901
network_acronym_str UFPL
network_name_str Repositório Institucional da UFPel - Guaiaca
repository_id_str
spelling 2024-05-03T15:56:05Z2024-05-022024-05-03T15:56:05Z2022-10-11DI DOMENICO, Daniel. A Model for Software Measurement Aiming to Guide Evaluations and Comparisons between Programming Tools to Implement GPU Applications. Orientador: Gerson Geraldo Homrich Cavalheiro. 2022. 103 f. Tese (Doutorado em Ciência da Computação) – Centro de Desenvolvimento Tecnológico, Universidade Federal de Pelotas, Pelotas, 2022.http://guaiaca.ufpel.edu.br/xmlui/handle/prefix/12901Ferramentas de programação para GPUs são frameworks que possuem recursos para explorar o paralelismo massivo oferecido por tais dispositivos. Atualmente, estes dispositivos estão sendo amplamente empregados na Computação de Alto Desempenho. Apesar de existirem diversas ferramentas que podem ser utilizadas para codificar uma aplicação para GPU, o processo de programação requerido para esta finalidade ainda é visto como desafiador, demandando o uso de frameworks específicos para lidar com ambiente heterogêneo existente na arquitetura de GPU. Além disso, não há um framework amplamente aceito como o padrão para explorar GPUs. Neste sentido, a escolha de uma ferramenta para implementar um programa para GPUs não é simples, visto que tal decisão pode impactar o desempenho e o esforço de programação necessário para desenvolvê-lo. Diante disto, esta Tese propõe um modelo para conduzir avaliações e comparações entre frameworks para GPUs. Este modelo foi formulado baseando-se na metodologia GQM para métrica de software e, devido a isto, utiliza Goals (Objetivos), Questions (Questões) e Metrics (Métricas) para analisar três aspectos referente aos frameworks: expressividade de programação, esforço de programação e desempenho. Como resultado, o modelo visa oferecer uma perspectiva considerando as características, pontos fortes e pontos fracos das ferramentas de programação. Nossa ideia é que tal perspectiva seja capaz de auxiliar na escolha de um framework a fim de desenvolver um programa para GPU. Experimentos conduzidos a partir do modelo GQM proposto foram realizados aplicando o conjunto de benchmarks do “NAS Parallel Benchmarks” implementados com CUDA, OpenACC e Python/Numba. Os resultados experimentais contemplaram os três aspectos definidos no modelo, mostrando as semelhanças e diferenças das APIs utilizadas. Ademais, os resultados foram empregados para construir a perspectiva sobre cada framework. Desta forma, nós acreditamos que este estudo contribui para aprimorar o conhecimento disponível sobre tais ferramentas, bem como no avanço das pesquisas relacionadas a ferramentas de programação para GPUs.Programming tools for GPUs are frameworks that offer resources to explore the massive parallelism power provided by these devices. Nowadays, they are being extensively applied for HPC purposes. Despite the existence of many tools that can be used to encode a GPU program, programming targeting GPUs is still seen as challenging, requiring the use of specialized frameworks to deal with the heteroge neous environment demanded by the GPU architecture. Also, there isn’t a commonly accepted definition of a standard framework for GPU programming. So, the process to select a tool in order to implement a GPU program is not simple, especially when this choice can impact the performance and programming effort required to implement it. Regarding that, this Thesis proposes a model to guide evaluations and comparisons between frameworks for GPUs. This model was designed based on the GQM method for software measurement and, because of that, was formulated using goals, ques tions and metrics to analyze three different aspects about the frameworks: program ming expressiveness, programming effort and performance. As a result, the model seeks to offer a perspective including the characteristics, strengths and weaknesses about programming tools. We have in mind that such perspective can support the pro cess of choosing a framework to develop a GPU program. Experiments guided by the proposed GQM model were conducted applying the NAS Parallel Benchmarks imple mented with CUDA, OpenACC and Python/Numba. The experimental results contem plated the three aspects defined in the model, showing the similarities and differences regarding the tested APIs. Further, these results were employed to compose the per spective considering each framework. Due that, we believe this study contributes to improving the available knowledge about these tools, as well as advancing research on programming tools for GPUs.Sem bolsaengUniversidade Federal de PelotasPrograma de Pós-Graduação em ComputaçãoUFPelBrasilCC BY-NC-SAinfo:eu-repo/semantics/openAccessCIENCIAS EXATAS E DA TERRACIENCIA DA COMPUTACAOGPUProgramming toolSoftware measurementNPBFerramenta de programaçãoMétrica de softwareA Model for Software Measurement Aiming to Guide Evaluations and Comparisons between Programming Tools to Implement GPU ApplicationsUm Modelo de Métrica de Software para Conduzir Avaliações e Comparações entre Ferramentas de Programação para Implementar Aplicações para GPUinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisLima, João Vicente FerreiraCavalheiro, Gerson Geraldo HomrichDi Domenico, Danielreponame:Repositório Institucional da UFPel - Guaiacainstname:Universidade Federal de Pelotas (UFPEL)instacron:UFPELORIGINALTese_Daniel Di Domenico.pdfTese_Daniel Di Domenico.pdfapplication/pdf751708http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/12901/1/Tese_Daniel%20Di%20Domenico.pdf03e0bf2daad8e6dd52b1c931aeff5774MD51open accessLICENSElicense.txtlicense.txttext/plain; charset=utf-81960http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/12901/2/license.txta963c7f783e32dba7010280c7b5ea154MD52open accessTEXTTese_Daniel Di Domenico.pdf.txtTese_Daniel Di Domenico.pdf.txtExtracted texttext/plain221662http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/12901/3/Tese_Daniel%20Di%20Domenico.pdf.txtb00bcdcd42608579448294304607ee86MD53open accessTHUMBNAILTese_Daniel Di Domenico.pdf.jpgTese_Daniel Di Domenico.pdf.jpgGenerated Thumbnailimage/jpeg1233http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/12901/4/Tese_Daniel%20Di%20Domenico.pdf.jpg2adf94fedcb2102512bfb20c1ac80e9cMD54open accessprefix/129012024-05-04 03:04:18.257open accessoai:guaiaca.ufpel.edu.br:prefix/12901TElDRU7Dh0EgREUgRElTVFJJQlVJw4fDg08gTsODTy1FWENMVVNJVkEKCkkgLSBDb20gYSBhcHJlc2VudGHDp8OjbyBkZXN0YSBsaWNlbsOnYSwgdm9jw6ogKG8ocykgYXV0b3IoZXMpIG91IG8gdGl0dWxhciBkb3MgZGlyZWl0b3MgZGUgYXV0b3IpIGNvbmNlZGUgYW8gUmVwb3NpdMOzcmlvIApJbnN0aXR1Y2lvbmFsIChSSSkgZGEgVW5pdmVyc2lkYWRlIEZlZGVyYWwgZGUgUGVsb3RhcyAoVUZQZWwpIG8gZGlyZWl0byBuw6NvLWV4Y2x1c2l2byBkZSByZXByb2R1emlyLCB0cmFkdXppciAKKGNvbmZvcm1lIGRlZmluaWRvIGFiYWl4byksIGUvb3UgZGlzdHJpYnVpciBhIHN1YSBwdWJsaWNhw6fDo28gKGluY2x1aW5kbyBvIHJlc3VtbykgcG9yIHRvZG8gbyBtdW5kbyBubyBmb3JtYXRvIGltcHJlc3NvIAplIGVsZXRyw7RuaWNvIGUgZW0gcXVhbHF1ZXIgbWVpbywgaW5jbHVpbmRvIG9zIGZvcm1hdG9zIMOhdWRpbyBvdSB2w61kZW87CgpJSSAtIFZvY8OqIGNvbmNvcmRhIHF1ZSBvIFJJIGRhIFVGUGVsIHBvZGUsIHNlbSBhbHRlcmFyIG8gY29udGXDumRvLCB0cmFuc3BvciBhIHN1YSBwdWJsaWNhw6fDo28gcGFyYSBxdWFscXVlciBtZWlvIG91IGZvcm1hdG8gCnBhcmEgZmlucyBkZSBwcmVzZXJ2YcOnw6NvOwoKSUlJIC0gVm9jw6ogdGFtYsOpbSBjb25jb3JkYSBxdWUgbyBSSSBkYSBVRlBlbCBwb2RlIG1hbnRlciBtYWlzIGRlIHVtYSBjw7NwaWEgZGUgc3VhIHB1YmxpY2HDp8OjbyBwYXJhIGZpbnMgZGUgc2VndXJhbsOnYSwgYmFja3VwIAplIHByZXNlcnZhw6fDo287CgpJViAtIFZvY8OqIGRlY2xhcmEgcXVlIGEgc3VhIHB1YmxpY2HDp8OjbyDDqSBvcmlnaW5hbCBlIHF1ZSB2b2PDqiB0ZW0gbyBwb2RlciBkZSBjb25jZWRlciBvcyBkaXJlaXRvcyBjb250aWRvcyBuZXN0YSBsaWNlbsOnYS4gClZvY8OqIHRhbWLDqW0gZGVjbGFyYSBxdWUgbyBkZXDDs3NpdG8gZGEgc3VhIHB1YmxpY2HDp8OjbywgcXVlIHNlamEgZGUgc2V1IGNvbmhlY2ltZW50bywgbsOjbyBpbmZyaW5nZSBkaXJlaXRvcyBhdXRvcmFpcyAKZGUgbmluZ3XDqW07CgpWIC0gQ2FzbyBhIHN1YSBwdWJsaWNhw6fDo28gY29udGVuaGEgbWF0ZXJpYWwgcXVlIHZvY8OqIG7Do28gcG9zc3VpIGEgdGl0dWxhcmlkYWRlIGRvcyBkaXJlaXRvcyBhdXRvcmFpcywgdm9jw6ogZGVjbGFyYSBxdWUgCm9idGV2ZSBhIHBlcm1pc3PDo28gaXJyZXN0cml0YSBkbyBkZXRlbnRvciBkb3MgZGlyZWl0b3MgYXV0b3JhaXMgcGFyYSBjb25jZWRlciBhbyBSSSBkYSBVRlBlbCBvcyBkaXJlaXRvcyBhcHJlc2VudGFkb3MgCm5lc3RhIGxpY2Vuw6dhLCBlIHF1ZSBlc3NlIG1hdGVyaWFsIGRlIHByb3ByaWVkYWRlIGRlIHRlcmNlaXJvcyBlc3TDoSBjbGFyYW1lbnRlIGlkZW50aWZpY2FkbyBlIHJlY29uaGVjaWRvIG5vIHRleHRvIApvdSBubyBjb250ZcO6ZG8gZGEgcHVibGljYcOnw6NvIG9yYSBkZXBvc2l0YWRhOwoKVkkgLSBDQVNPIEEgUFVCTElDQcOHw4NPIE9SQSBERVBPU0lUQURBIFRFTkhBIFNJRE8gUkVTVUxUQURPIERFIFVNIFBBVFJPQ8ONTklPIE9VIEFQT0lPIERFIFVNQSBBR8OKTkNJQSBERSBGT01FTlRPIE9VCk9VVFJBIE9SR0FOSVpBw4fDg08sIFZPQ8OKIERFQ0xBUkEgUVVFIFJFU1BFSVRPVSBUT0RPUyBFIFFVQUlTUVVFUiBESVJFSVRPUyBERSBSRVZJU8ODTyBDT01PIFRBTULDiU0gQVMgREVNQUlTIE9CUklHQcOHw5VFUyAKRVhJR0lEQVMgUE9SIENPTlRSQVRPIE9VIEFDT1JETzsKClZJSSAtIE8gUkkgZGEgVUZQZWwgc2UgY29tcHJvbWV0ZSBhIGlkZW50aWZpY2FyIGNsYXJhbWVudGUgbyBzZXUgbm9tZSBvdSBvKHMpIG5vbWUocykgZG8ocykgZGV0ZW50b3IoZXMpIGRvcyBkaXJlaXRvcyAKYXV0b3JhaXMgZGEgcHVibGljYcOnw6NvLCBlIG7Do28gZmFyw6EgcXVhbHF1ZXIgYWx0ZXJhw6fDo28sIGFsw6ltIGRhcXVlbGFzIGNvbmNlZGlkYXMgcG9yIGVzdGEgbGljZW7Dp2EuCg==Repositório InstitucionalPUBhttp://repositorio.ufpel.edu.br/oai/requestrippel@ufpel.edu.br || repositorio@ufpel.edu.br || aline.batista@ufpel.edu.bropendoar:2024-05-04T06:04:18Repositório Institucional da UFPel - Guaiaca - Universidade Federal de Pelotas (UFPEL)false
dc.title.pt_BR.fl_str_mv A Model for Software Measurement Aiming to Guide Evaluations and Comparisons between Programming Tools to Implement GPU Applications
dc.title.alternative.pt_BR.fl_str_mv Um Modelo de Métrica de Software para Conduzir Avaliações e Comparações entre Ferramentas de Programação para Implementar Aplicações para GPU
title A Model for Software Measurement Aiming to Guide Evaluations and Comparisons between Programming Tools to Implement GPU Applications
spellingShingle A Model for Software Measurement Aiming to Guide Evaluations and Comparisons between Programming Tools to Implement GPU Applications
Di Domenico, Daniel
CIENCIAS EXATAS E DA TERRA
GPU
Programming tool
Software measurement
NPB
Ferramenta de programação
Métrica de software
CIENCIA DA COMPUTACAO
title_short A Model for Software Measurement Aiming to Guide Evaluations and Comparisons between Programming Tools to Implement GPU Applications
title_full A Model for Software Measurement Aiming to Guide Evaluations and Comparisons between Programming Tools to Implement GPU Applications
title_fullStr A Model for Software Measurement Aiming to Guide Evaluations and Comparisons between Programming Tools to Implement GPU Applications
title_full_unstemmed A Model for Software Measurement Aiming to Guide Evaluations and Comparisons between Programming Tools to Implement GPU Applications
title_sort A Model for Software Measurement Aiming to Guide Evaluations and Comparisons between Programming Tools to Implement GPU Applications
author Di Domenico, Daniel
author_facet Di Domenico, Daniel
author_role author
dc.contributor.advisor-co1.fl_str_mv Lima, João Vicente Ferreira
dc.contributor.advisor1.fl_str_mv Cavalheiro, Gerson Geraldo Homrich
dc.contributor.author.fl_str_mv Di Domenico, Daniel
contributor_str_mv Lima, João Vicente Ferreira
Cavalheiro, Gerson Geraldo Homrich
dc.subject.cnpq.fl_str_mv CIENCIAS EXATAS E DA TERRA
topic CIENCIAS EXATAS E DA TERRA
GPU
Programming tool
Software measurement
NPB
Ferramenta de programação
Métrica de software
CIENCIA DA COMPUTACAO
dc.subject.por.fl_str_mv GPU
Programming tool
Software measurement
NPB
Ferramenta de programação
Métrica de software
dc.subject.cnpq1.pt_BR.fl_str_mv CIENCIA DA COMPUTACAO
description Ferramentas de programação para GPUs são frameworks que possuem recursos para explorar o paralelismo massivo oferecido por tais dispositivos. Atualmente, estes dispositivos estão sendo amplamente empregados na Computação de Alto Desempenho. Apesar de existirem diversas ferramentas que podem ser utilizadas para codificar uma aplicação para GPU, o processo de programação requerido para esta finalidade ainda é visto como desafiador, demandando o uso de frameworks específicos para lidar com ambiente heterogêneo existente na arquitetura de GPU. Além disso, não há um framework amplamente aceito como o padrão para explorar GPUs. Neste sentido, a escolha de uma ferramenta para implementar um programa para GPUs não é simples, visto que tal decisão pode impactar o desempenho e o esforço de programação necessário para desenvolvê-lo. Diante disto, esta Tese propõe um modelo para conduzir avaliações e comparações entre frameworks para GPUs. Este modelo foi formulado baseando-se na metodologia GQM para métrica de software e, devido a isto, utiliza Goals (Objetivos), Questions (Questões) e Metrics (Métricas) para analisar três aspectos referente aos frameworks: expressividade de programação, esforço de programação e desempenho. Como resultado, o modelo visa oferecer uma perspectiva considerando as características, pontos fortes e pontos fracos das ferramentas de programação. Nossa ideia é que tal perspectiva seja capaz de auxiliar na escolha de um framework a fim de desenvolver um programa para GPU. Experimentos conduzidos a partir do modelo GQM proposto foram realizados aplicando o conjunto de benchmarks do “NAS Parallel Benchmarks” implementados com CUDA, OpenACC e Python/Numba. Os resultados experimentais contemplaram os três aspectos definidos no modelo, mostrando as semelhanças e diferenças das APIs utilizadas. Ademais, os resultados foram empregados para construir a perspectiva sobre cada framework. Desta forma, nós acreditamos que este estudo contribui para aprimorar o conhecimento disponível sobre tais ferramentas, bem como no avanço das pesquisas relacionadas a ferramentas de programação para GPUs.
publishDate 2022
dc.date.issued.fl_str_mv 2022-10-11
dc.date.accessioned.fl_str_mv 2024-05-03T15:56:05Z
dc.date.available.fl_str_mv 2024-05-02
2024-05-03T15:56:05Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/doctoralThesis
format doctoralThesis
status_str publishedVersion
dc.identifier.citation.fl_str_mv DI DOMENICO, Daniel. A Model for Software Measurement Aiming to Guide Evaluations and Comparisons between Programming Tools to Implement GPU Applications. Orientador: Gerson Geraldo Homrich Cavalheiro. 2022. 103 f. Tese (Doutorado em Ciência da Computação) – Centro de Desenvolvimento Tecnológico, Universidade Federal de Pelotas, Pelotas, 2022.
dc.identifier.uri.fl_str_mv http://guaiaca.ufpel.edu.br/xmlui/handle/prefix/12901
identifier_str_mv DI DOMENICO, Daniel. A Model for Software Measurement Aiming to Guide Evaluations and Comparisons between Programming Tools to Implement GPU Applications. Orientador: Gerson Geraldo Homrich Cavalheiro. 2022. 103 f. Tese (Doutorado em Ciência da Computação) – Centro de Desenvolvimento Tecnológico, Universidade Federal de Pelotas, Pelotas, 2022.
url http://guaiaca.ufpel.edu.br/xmlui/handle/prefix/12901
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv CC BY-NC-SA
info:eu-repo/semantics/openAccess
rights_invalid_str_mv CC BY-NC-SA
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal de Pelotas
dc.publisher.program.fl_str_mv Programa de Pós-Graduação em Computação
dc.publisher.initials.fl_str_mv UFPel
dc.publisher.country.fl_str_mv Brasil
publisher.none.fl_str_mv Universidade Federal de Pelotas
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFPel - Guaiaca
instname:Universidade Federal de Pelotas (UFPEL)
instacron:UFPEL
instname_str Universidade Federal de Pelotas (UFPEL)
instacron_str UFPEL
institution UFPEL
reponame_str Repositório Institucional da UFPel - Guaiaca
collection Repositório Institucional da UFPel - Guaiaca
bitstream.url.fl_str_mv http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/12901/1/Tese_Daniel%20Di%20Domenico.pdf
http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/12901/2/license.txt
http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/12901/3/Tese_Daniel%20Di%20Domenico.pdf.txt
http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/12901/4/Tese_Daniel%20Di%20Domenico.pdf.jpg
bitstream.checksum.fl_str_mv 03e0bf2daad8e6dd52b1c931aeff5774
a963c7f783e32dba7010280c7b5ea154
b00bcdcd42608579448294304607ee86
2adf94fedcb2102512bfb20c1ac80e9c
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFPel - Guaiaca - Universidade Federal de Pelotas (UFPEL)
repository.mail.fl_str_mv rippel@ufpel.edu.br || repositorio@ufpel.edu.br || aline.batista@ufpel.edu.br
_version_ 1856426219014193152