Análise da hierarquia de memórias em GPGPUs
View/ Open
Date
2010Author
Academic level
Graduation
Subject
Abstract in Portuguese (Brasil)
O uso de placas gráficas como elementos de co-processamento para obter alto desempenho em aplicações paralelas tem crescido cada vez mais nos últimos tempos. Diversos são os exemplos de aplicações que, fazendo uso dessas arquiteturas, obtiveram speedups de até duas ordens de magnitude. Isto é possível pois as GPUs (Graphics Processing Units) possuem uma arquitetura altamente paralela, especializada em processamento de elementos gráficos, que pode ser feito em grande parte paralelamente. Além di ...
O uso de placas gráficas como elementos de co-processamento para obter alto desempenho em aplicações paralelas tem crescido cada vez mais nos últimos tempos. Diversos são os exemplos de aplicações que, fazendo uso dessas arquiteturas, obtiveram speedups de até duas ordens de magnitude. Isto é possível pois as GPUs (Graphics Processing Units) possuem uma arquitetura altamente paralela, especializada em processamento de elementos gráficos, que pode ser feito em grande parte paralelamente. Além disso, o surgimento de linguagens de programação e frameworks que facilitam a programação nessas arquiteturas tem sido outro fator chave em sua popularização. Entretanto, ainda é necessário um aprofundado conhecimento da arquitetura utilizada a fim de dimensionar as aplicações nela executadas. Este trabalho tem como objetivo analisar o impacto de diferentes otimizações no acesso à memória da GPU utilizado como caso de estudo a arquitetura CUDA da empresa NVIDIA. ...
Abstract
The use of graphics cards as coprocessing elements in order to achieve high performance in parallel applications is growing in the last couple of years. There are many examples of applications which, using such architectures, have achieved up to 2 orders of magnitude speedups in their performance. This is possible because GPUs (Graphics Processing Units) have a highly parallel architecture, specialized in processing graphics elements, which are highly independent and can often be processed sepa ...
The use of graphics cards as coprocessing elements in order to achieve high performance in parallel applications is growing in the last couple of years. There are many examples of applications which, using such architectures, have achieved up to 2 orders of magnitude speedups in their performance. This is possible because GPUs (Graphics Processing Units) have a highly parallel architecture, specialized in processing graphics elements, which are highly independent and can often be processed separately, in parallel. Tools for aiding developers such as higher level programming languages and frameworks are factors which helped GPUs gain popularity for general purpose computing. However, a deep knowledge of its underlying architecture is needed in order to achieve a good performance. This work aims at analyzing the impact of different optimizations in accesses to the GPU memories using the CUDA (Compute Unified Device Architecture) architecture from NVIDIA as a case study. ...
Institution
Universidade Federal do Rio Grande do Sul. Instituto de Informática. Curso de Ciência da Computação: Ênfase em Ciência da Computação: Bacharelado.
Collections
This item is licensed under a Creative Commons License