Export this record: EndNote BibTex

Please use this identifier to cite or link to this item: https://tede2.pucrs.br/tede2/handle/tede/10347
Full metadata record
DC FieldValueLanguage
dc.creatorAraujo, Gabriell Alves de-
dc.creator.Latteshttp://lattes.cnpq.br/3777865499064744por
dc.contributor.advisor1Fernandes, Luiz Gustavo Leão-
dc.contributor.advisor1Latteshttp://lattes.cnpq.br/5979862734558983por
dc.contributor.advisor-co1Griebler, Dalvan Jair-
dc.contributor.advisor-co1Latteshttp://lattes.cnpq.br/1989039890812573por
dc.date.accessioned2022-07-11T14:21:58Z-
dc.date.issued2022-03-31-
dc.identifier.urihttps://tede2.pucrs.br/tede2/handle/tede/10347-
dc.description.resumoNowadays, most computers are equipped with Graphics Processing Units (GPUs) to provide massive-scale parallelism at a low cost. Parallel programming is necessary to exploit this architectural capacity fully. However, it represents a challenge for programmers since it requires refactoring algorithms, designing parallelism techniques, and hardwarespecific knowledge. Moreover, GPU parallelism is even more challenging since GPUs have peculiar hardware characteristics and employ a parallelism paradigm called many-core programming. In this sense, parallel computing research has focused on studying efficient programming techniques for GPUs and developing abstractions that reduce the effort when writing parallel code. SPar is a domain-specific language (DSL) that goes in this direction. Programmers can use SPar to express stream parallelism in a simpler way without significantly impacting performance. SPar offers high-level abstractions via code annotations while the SPar compiler generates parallel code. SPar recently received an extension to allow parallel code generation for CPUs and GPUs in stream applications. The CPU cores control the flow of data in the generated code. At the same time, the GPU applies massive parallelism in the computation of each stream element. To this end, SPar generates code for an intermediate library called GSParLib, a pattern-oriented parallel API that provides a unified programming model targeting CUDA and OpenCL runtime, allowing parallelism exploitation of different vendor GPUs. However, the GPU support for both SPar and GSParLib is still in its initial steps; they provide only basic features, and no studies have comprehensively evaluated SPar and GSParLib’s performance. This work contributes by parallelizing representative high-performance computing (HPC) benchmarks, implementing new features and optimizations for GPUs in the GSParLib and SPar, and presenting a method for providing agnostic frameworks independent of low-level programming interfaces. Our set of improvements covers most of the critical limitations of GSParLib regarding performance and programmability. In our experiments, the optimized version of GSParLib achieved up to 54,500.00% of speedup improvement over the original version of GSParLib on data parallelism benchmarks and up to 718,43% of throughput improvement on stream parallelism benchmarks.por
dc.description.abstractNos dias de hoje, a maioria dos computadores são equipados com unidades de processamento gráfico (GPUs) para prover capacidade massiva de paralelismo a baixo custo. Para explorar completamente a capacidade destas arquiteturas é necessário o uso de programação paralela. No entanto, isso representa um desafio para os programadores, pois requer a refatoração de algoritmos, técnicas de paralelismo e conhecimento específico sobre o hardware. Além disso, o paralelismo das GPUs é ainda mais desafiador, pois GPUs possuem características de hardware peculiares, e outro paradigma de paralelismo chamado de programação many-core. Nesse sentido, pesquisas de computação paralela tem se concentrado no estudo de técnicas de programação eficientes para GPUs, e também no desenvolvimento de abstrações que diminuem o esforço de programação. SPar é uma linguagem específica de domínio (DSL) que segue essa direção de pesquisa. Programadores podem utilizar a SPar para expressar paralelismo de stream sem impactar significativamente o desempenho. A SPar oferece abstrações de alto nível através de anotações no código-fonte, enquanto o compilador da SPar gera código paralelo. Recentemente foi adicionada uma extensão na SPar, a qual permite que seja gerado código paralelo para CPUs e GPUs em aplicações de stream. Os núcleos da CPU controlam o fluxo de dados, e a GPU aplica paralelismo massivo na computação de cada elemento do fluxo de dados. Para este fim, a SPar gera código para uma biblioteca intermediária chamada GSParLib. GSParLib é uma API paralela orientada a padrões que provê um modelo único de programação para a runtime dos frameworks CUDA e OpenCL, permitindo a exploração do paralelismo em GPUs de diferentes fabricantes. Porém, o suporte para GPUs em ambas SPar e GSParLib ainda está em seus passos iniciais; SPar e GSParLib oferecem apenas funcionalidades básicas, e nenhum estudo avaliou o desempenho de forma abrangente. A contribuição deste trabalho concentra-se em paralelizar benchmarks representativos da área de computação de alto-desempenho (HPC), fornecer novos recursos e otimizações para GPUs na GSParLib e SPar, e apresentar um método para prover frameworks que sejam agnósticos e independentes de interfaces de programação de baixo nível. O conjunto de melhorias cobre a maioria das limitações críticas de desempenho e programabilidade da GSParLib. Nos experimentos deste trabalho, a versão otimizada da GSParLib foi capaz de atingir até 54.500,00% de melhoria no speedup em relação à versão original da GSParLib nos benchmarks de paralelismo de dados e até 718,43% de melhoria no throughput nos benchmarks de paralelismo de stream.por
dc.description.provenanceSubmitted by PPG Ciência da Computação ([email protected]) on 2022-07-08T12:31:12Z No. of bitstreams: 1 GABRIELL_ALVES_DE_ARAUJO_DIS.pdf: 2974046 bytes, checksum: 98520b2931cb04f5641b146541e736b0 (MD5)eng
dc.description.provenanceApproved for entry into archive by Caroline Xavier ([email protected]) on 2022-07-11T14:06:39Z (GMT) No. of bitstreams: 1 GABRIELL_ALVES_DE_ARAUJO_DIS.pdf: 2974046 bytes, checksum: 98520b2931cb04f5641b146541e736b0 (MD5)eng
dc.description.provenanceMade available in DSpace on 2022-07-11T14:21:58Z (GMT). No. of bitstreams: 1 GABRIELL_ALVES_DE_ARAUJO_DIS.pdf: 2974046 bytes, checksum: 98520b2931cb04f5641b146541e736b0 (MD5) Previous issue date: 2022-03-31eng
dc.description.sponsorshipCoordenação de Aperfeiçoamento de Pessoal de Nível Superior - CAPESpor
dc.formatapplication/pdf*
dc.thumbnail.urlhttps://tede2.pucrs.br/tede2/retrieve/184734/GABRIELL_ALVES_DE_ARAUJO_DIS.pdf.jpg*
dc.languageengpor
dc.publisherPontifícia Universidade Católica do Rio Grande do Sulpor
dc.publisher.departmentEscola Politécnicapor
dc.publisher.countryBrasilpor
dc.publisher.initialsPUCRSpor
dc.publisher.programPrograma de Pós-Graduação em Ciência da Computaçãopor
dc.rightsAcesso Abertopor
dc.subjectParallel Programmingeng
dc.subjectGPU Programmingeng
dc.subjectHeterogeneous Computingeng
dc.subjectData Parallelismeng
dc.subjectStream Parallelismeng
dc.subjectStructured Parallel Programmingeng
dc.subjectParallel Patternseng
dc.subjectBenchmarkseng
dc.subjectStream Processing Applicationseng
dc.subjectDomain-specific Languageeng
dc.subjectAlgorithmic Skeletonseng
dc.subjectPerformance Evaluationeng
dc.subjectHigh Performance Computingeng
dc.subjectCeng
dc.subjectC++eng
dc.subjectCUDAeng
dc.subjectOpenCLeng
dc.subjectProgramação Paralelapor
dc.subjectProgramação de GPUspor
dc.subjectComputação Heterogêneapor
dc.subjectParalelismo de Dadospor
dc.subjectParalelismo de Streampor
dc.subjectProgramação Paralela Estruturadapor
dc.subjectPadrões Paralelospor
dc.subjectBenchmarkspor
dc.subjectAplicações de Processamento de Streampor
dc.subjectLinguagem Específica de Domíniopor
dc.subjectEsqueletos Algorítmicospor
dc.subjectAvaliação de Desempenhopor
dc.subjectComputação de Alto Desempenhopor
dc.subjectCpor
dc.subjectC++por
dc.subjectCUDApor
dc.subjectOpenCLpor
dc.subject.cnpqCIENCIA DA COMPUTACAO::TEORIA DA COMPUTACAOpor
dc.titleData and stream parallelism optimizations on GPUspor
dc.typeDissertaçãopor
dc.restricao.situacaoTrabalho não apresenta restrição para publicaçãopor
Appears in Collections:Programa de Pós-Graduação em Ciência da Computação

Files in This Item:
File Description SizeFormat 
GABRIELL_ALVES_DE_ARAUJO_DIS.pdfGABRIELL_ALVES_DE_ARAUJO_DIS2.9 MBAdobe PDFThumbnail

Download/Open Preview


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.