Return to search

Meparalel : um método para análise de implementação de algoritmo paralelo baseado em CUDA

There are basically two approaches to attempt to improve performance of the algorithms: (i) the hardware-based and (ii) the software-based. The approaches based on software, that before were based on sequences algorithms, could not extract the hardware resources available. To solve this problem the parallel algorithms arose. Parallel algorithms tend to do their jobs more quickly due to their ability to distribute their workload by the available multi-core processors. In the search for the processing improvement the GPU started to be used in general purpose computing, and changed from a simple graphics processor to a parallel coprocessor capable of simultaneously performing thousands of operations. NVIDIA to popularize the GPU use in general purpose computing launched the CUDA which allows developers to parallelize their solutions more intuitively. But it is not an easy task to parallelize in order to improve resources utilization and reduce the processing time. Thus, as the literature offers no suitable mechanism, this paper proposes a method for analysis of parallel algorithms that can help the process of analysis and refactoring code built in CUDA programming platform and what can generate faster, more efficient algorithms in the consumption of hardware resources. / Existem basicamente duas abordagens para tentativas de melhoria de desempenho dos algoritmos: (i) as baseadas em hardware e (ii) as baseadas em software. As baseadas em software que antes se apoiavam em algoritmos sequenciais não conseguiam extrair os recursos de hardware oferecidos. Para solucionar o problema, surgiram os algoritmos paralelos. Algoritmos paralelos tendem a executar suas tarefas mais rapidamente devido à capacidade de distribuir sua carga de trabalho pelos múltiplos núcleos de processadores disponíveis. Na busca pela melhoria de processamento, as GPUs passaram a ser utilizadas na computação de propósito geral e passaram de um simples processador gráfico para um coprocessador paralelo, capaz de executar milhares de operações simultaneamente. A NVIDIA, para popularizar o uso da GPU na computação de propósito geral lançou a CUDA, que permite aos desenvolvedores paralelizar suas soluções de forma mais intuitiva. Porém, a tarefa de paralelizar de forma a aperfeiçoar a utilização de recursos e reduzir o tempo de processamento não é uma tarefa fácil. O estado da arte não apresenta um mecanismo de análise de desempenho adequado, dessa forma, este trabalho propõe um método para análise de algoritmos paralelos que possam auxiliar o processo de análise e refatoração de códigos construídos na plataforma de programação CUDA podendo assim, gerar algoritmos mais rápidos e eficientes no consumo de recursos de hardware.

Identiferoai:union.ndltd.org:IBICT/oai:ri.ufs.br:riufs/3376
Date25 May 2015
CreatorsOliveira, Otávio Cordeiro Siqueira de
ContributorsChella, Marco Túlio
PublisherUniversidade Federal de Sergipe, Pós-Graduação em Ciência da Computação, UFS, BR
Source SetsIBICT Brazilian ETDs
LanguagePortuguese
Detected LanguagePortuguese
Typeinfo:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/masterThesis
Formatapplication/pdf
Sourcereponame:Repositório Institucional da UFS, instname:Universidade Federal de Sergipe, instacron:UFS
Rightsinfo:eu-repo/semantics/openAccess

Page generated in 0.0023 seconds