cronica
Silvia Esparrachiari e Victor H. P. Gomes
Instituto de Matemática e Estatística – Universidade de São Paulo (USP)
São Paulo – SP – Brasil
{silviaeg,vhpgomes}@ime.usp.br
Abstract. The present work makes a shot review about GPU (graphics processing unit) evolution and state of art. It also presents a small tutorial about the Cg language use in GPU programs and provides an example of nonconventional use of GPU (GPGPU – generic purpose GPU).
Resumo. O presente trabalho faz uma pequena introdução sobre a evolução e o estado da arte da tecnologia de GPUs (graphics processing unit). Também apresenta um simples tutorial sobre a utilização da linguagem Cg de programação em GPUs e um exemplo de utilização não convencional da GPU
(GPGPU – generic purpose GPU).
1. Introdução
Uma unidade gráfica de processamento (graphics processing unit - GPU) é um dispositivo dedicado à manipulação e renderização de objetos gráficos e está presente em quase todos os computadores pessoais (PCs), estações de trabalho, notebooks e consoles de jogos modernos. Por apresentarem uma arquitetura dedicada e altamente paralelizada, as GPUs modernas são muito mais eficientes que as CPUs (central processing unit) de propósito geral no que diz respeito à execução de algoritmos gráficos.
A evolução das GPUs tem ocorrido numa velocidade relativamente alta nos últimos anos devido, principalmente, a três fatores:
•
O compromisso da indústria de semi-condutores em dobrar o número de transistores dentro de um microchip a cada 18 meses – fato conhecido historicamente como Lei de Moore;
•
A capacidade do ser humano em perceber e compreender uma grande quantidade de dados e informações com alta precisão do mundo 3D;
•
A vontade e o prazer que o ser humano possui em ser estimulado e entretido visualmente. Considerando estes três fatores, podemos logo inferir ao menos duas áreas de desenvolvimento tecnológico nas quais a evolução das GPUs