Programacao em gpu
1
Programação em GPU: Passado, presente e futuro
José Ricardo Mello Viana
Abstract
Previously designed to process only graphics, the graphics cards (GPU - Graphics Processing
Unit) have a fixed rendering pipeline. Because they have features as parallel processing, arithmetic intensity and constant evolution, programmable stages were introduced in GPU’s pipeline. This makes possible to the programmer create their own specific methods of rendering. The next natural evolution is use the GPU power for general processing, the so-called GPGPU. In this tutorial we discuss the evolution of graphics cards, showing the characteristics of GPU generations and programming possibilities in each of them. Also shows the main languages and techniques used for GPU programming in today and future trends of GPU programming.
Keywords: Computer Graphics, Parallel programming, GPU, graphics card.
Resumo
Inicialmente projetadas para processar somente gráficos, as placas gráficas (GPU -
Graphics Processing Unit) continham um pipeline fixo de renderização de cenas. Por possuir características como processamento paralelo, alto poder computacional para cálculos aritméticos e estar em constante evolução, começou-se a introduzir estágios programáveis dentro desse pipeline das GPU’s. Desta forma, foi possível, ao programador, criar seus próprios métodos de renderização específica. A evolução natural disso é usar a GPU para processamento genérico, a chamada GPGPU. Neste tutorial iremos abordar a evolução das placas gráficas, mostrando as características de cada geração de GPU’s e quais as possibilidades de se programar em cada uma delas. Mostraremos ainda as principais linguagens e técnicas usadas para programar em GPU atualmente e as tendências de futuro para a programação em GPU.
Palavras-chave: Computação Gráfica, Programação paralela, GPU, placa gráfica.
1.1. Introdução
A Unidade de Processamento Gráfico (Graphic Processing Unit, ou GPU - também chamada