A Model for Software Measurement Aiming to Guide Evaluations and Comparisons between Programming Tools to Implement GPU Applications
| Ano de defesa: | 2022 |
|---|---|
| Autor(a) principal: | |
| Orientador(a): | |
| Banca de defesa: | |
| 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: | |
| Á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 |