| dc.creator | Di Domenico, Daniel | |
| dc.date.accessioned | 2024-05-03T15:56:05Z | |
| dc.date.available | 2024-05-02 | |
| dc.date.available | 2024-05-03T15:56:05Z | |
| dc.date.issued | 2022-10-11 | |
| dc.identifier.citation | 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. | pt_BR |
| dc.identifier.uri | http://guaiaca.ufpel.edu.br/xmlui/handle/prefix/12901 | |
| dc.description.abstract | 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. | pt_BR |
| dc.description.sponsorship | Sem bolsa | pt_BR |
| dc.language | eng | pt_BR |
| dc.publisher | Universidade Federal de Pelotas | pt_BR |
| dc.rights | OpenAccess | pt_BR |
| dc.subject | GPU | pt_BR |
| dc.subject | Programming tool | pt_BR |
| dc.subject | Software measurement | pt_BR |
| dc.subject | NPB | pt_BR |
| dc.subject | Ferramenta de programação | pt_BR |
| dc.subject | Métrica de software | pt_BR |
| dc.title | A Model for Software Measurement Aiming to Guide Evaluations and Comparisons between Programming Tools to Implement GPU Applications | pt_BR |
| dc.title.alternative | 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 | pt_BR |
| dc.type | doctoralThesis | pt_BR |
| dc.contributor.advisor-co1 | Lima, João Vicente Ferreira | |
| dc.description.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. | pt_BR |
| dc.publisher.program | Programa de Pós-Graduação em Computação | pt_BR |
| dc.publisher.initials | UFPel | pt_BR |
| dc.subject.cnpq | CIENCIAS EXATAS E DA TERRA | pt_BR |
| dc.publisher.country | Brasil | pt_BR |
| dc.rights.license | CC BY-NC-SA | pt_BR |
| dc.contributor.advisor1 | Cavalheiro, Gerson Geraldo Homrich | |
| dc.subject.cnpq1 | CIENCIA DA COMPUTACAO | pt_BR |