Você está na página 1de 38

GPUs (Graphical Processing Unit)

Marco Henrique Nunes Pereira


O que é GPUs?
• GPU – Graphics Processing Unit ou Unidade de Processamento Gráfico.

• Também chamada de chip gráfico, é certamente o componente mais


importante de uma placa de vídeo.

• Trata-se de um tipo de processador responsável pela execução de


cálculos e rotinas que resultam nas imagens exibidas no monitor de vídeo
do computador.

• Ela utiliza arquitetura paralela e possui uma capacidade de cálculo muito


superior à de um processador central.
O que é GPUs?

• Serve como um processador gráfico programável e uma plataforma de


computação paralela escalável.

• É encontrado em computadores pessoais, estações de trabalho,


videogames, smartphones e outros dispositivos.

• Funciona junto com a CPU.


Como funciona?
• Assim como as CPUs, as GPUs funcionam transformando energia em informação.

• Sob as demandas do sistema, esses chips realizam cálculos e instruções que são
responsáveis pelas imagens que você vê na tela do computador, da TV HD, dos
smartphones e dos jogos que são emulados nos consoles.

• Basicamente, se um dispositivo tem tela, ele conta com uma GPU.

• É possível descrever uma GPU como um chip desenvolvido em torno de um


processador. Esse processador pode ter milhares de núcleos e diversas unidades
de processamento muito específicas, criadas para melhorar o desempenho do
equipamento em renderização de gráficos 3D bastante complexos.
Características de uma GPU:
• A GPU surgiu para "aliviar" o processador principal do computador (CPU) da
pesada tarefa de gerar imagens.

• É capaz de lidar com um grande volume de cálculos matemáticos e geométricos,


condição trivial para o processamento de imagens 3D (utilizadas em jogos, exames
médicos computadorizados, entre outros).

• A GPU trabalha executando uma sequência de etapas, que envolvem elaboração de


elementos geométricos, aplicação de cores, inserção de efeitos e assim por diante.

• O passo seguinte é o envio dessas informações à memória de vídeo (frame buffer)


para que então o conteúdo final possa ser exibido na tela.
Recursos encontrados em um GPU:
• Pixel Shader: shader é um conjunto de instruções utilizado para o processamento
de efeitos de renderização de imagens. Pixel Shader, portanto, é um programa que
trabalha com a geração de efeitos com base em pixels. Esse recurso é amplamente
utilizado em imagens 3D (de jogos, por exemplo) para gerar efeitos de iluminação,
reflexo, sombreamento, etc;

• Vertex Shader: semelhante ao Pixel Shader, só que trabalha com vértices em vez
de pixels. Assim sendo, Vertex Shader consiste em um programa que trabalha com
estruturas formadas por vértices, lidando, portanto, como figuras geométricas.
Esse recurso é utilizado para a modelagem dos objetos a serem exibidos;
Recursos encontrados em um GPU:
• Render Output Unit (ROP): basicamente, manipula os dados armazenados na
memória de vídeo para que eles se "transformem" no conjunto de pixels que
formará as imagens a serem exibidas na tela. Cabe a essas unidades a aplicação
de filtros, efeitos de profundidade, entre outros;

• Texture Mapping Unit (TMU): trata-se de um tipo de componente capaz de


rotacionar e redimensionar bitmaps (basicamente, imagens formadas por
conjuntos de pixels) para aplicação de uma textura sob uma superfície.
Contexto histórico:
• A primeira placa de vídeo a ser comercializada foi lançada pela companhia IBM
juntamente com o primeiro IBM PC em 1981.

• O dispositivo de vídeo, que seguia a especificação MDA (Monochrome Display


Adapter), era capaz de trabalhar apenas no modo texto, apresentando 80x25 linhas
por vez, na tela do monitor.

• Ele também possuía 4KB de memória e trabalhava duas cores de pixel: a do


fósforo do monitor e preto.
Contexto histórico:
• Principais características das especificações lançadas pela IBM durante a década de 80:

Especificação Ano Modo Texto Modo Gráfico Cores Memória


MDA 1981 80x25 - 2 4KB

CGA 1981 80x25 640x480 4 16KB

HGC 1982 80x25 720x348 2 64KB

EGA 1984 80x25 640x350 16 256KB

IBM 8514 1987 80x25 1024x768 256 -

MCGA 1987 80x25 320x200 256 -

VGA 1987 80x25 640x480 256 256KB

SVGA 1989 80x25 800x600 256 512KB

XGA 1990 80x25 1024x768 65536 2MB


Contexto histórico:
• A primeira geração de GPUs, que inclui as placas NVidia TNT2, ATi Rage e 3dfx
Voodoo3, foram lançadas entre 1991 e 1998 e eram capazes de rasterizar triângulos
pré-transformados e aplicar uma ou duas texturas sobre os mesmos.

• Estas placas também implementavam o conjunto de funcionalidades definidas


pelo DirectX 6 e OpenGL 1.0.

• Apesar de liberarem a CPU de grande parte do processamento de objetos 2D e 3D,


estas GPUs ainda não eram capazes de realizar transformações sobre os vértices
dos objetos 3D e possuíam um conjunto bastante limitado de operações
matemáticas.
Contexto histórico:
• Entre os anos de 1999 e 2000, surgiram as GPUs de segunda geração, dentre elas:
NVidia GeForce 256 e GeForce2, ATI Radeon 7500 e S3 Savage 3D.

• Tais GPUs eram capazes de realizar transformações e efeitos de iluminação (T&L)


sobre os vértices dos objetos 3D, liberando a CPU de tal carga de processamento.

• Nesta mesma época, os padrões OpenGL e DirectX 7 também passaram a


suportar T&L via hardware.

• O conjunto de operações matemáticas expandiu-se um pouco, passando a


suportar cube mapping e operações com sinal.
Contexto histórico:
• A terceira geração de GPUs foi bastante curta e restringiu-se às GPUs lançadas em
2001, como, por exemplo, as NVidia GeForce3 e GeForce4 Ti, a GPU do Microsoft
Xbox e as ATI Radeon 8500.

• Esta foi a primeira geração a permitir a execução, na própria GPU, de programas


para transformação de vértices (Vertex Shaders).

• Ao invés de oferecer suporte em hardware dos modos de iluminação e


transformação especificados pelas bibliotecas OpenGL e DirectX 7, estas GPUs
deixavam a aplicação especificar qual era a sequência de operações a ser realizada
sobre os vértices.

• Elas também possuíam mais opções de configuração de processamento dos


pixels, mas, como este passo ainda não era programável, esta geração costuma
ser considerada uma geração de transição.
Contexto histórico:
• A quarta geração de GPUs, que compreende as GPUs lançadas entre os anos de
2002 e 2005, como é o caso da família NVidia GeForce FX e ATI Radeon 9700,
permitiam tanto a programação de vértices quanto a de fragmentos (pixel shaders).

• Foi com esta geração de placas que surgiu o "C for graphics", mais conhecido
como Cg, desenvolvido pela NVidia, uma linguagem de programação baseada em
C e voltada para a implementação de vertex programs e fragment .
Contexto histórico:
• Esta geração compreende todas as GPUs lançadas a partir de 2006, cuja principal
característica é a arquitetura unificada de processamento e um pipeline cíclico.

• Exemplos de placas que apresentam tais características são NVidia GeForce 8800
e GeForce 200 e ATI Radeon HD.

• Estas GPUs também possuem suporte à linguagens de programação de mais alto


nível que o Cg como, por exemplo, o CUDA no caso da NVidia.
Tecnologia CUDA:
• CUDA, sigla para Compute Unified Device Architecture, é uma extensão para a
linguagem de programação C, a qual possibilita o uso de computação paralela.

• A ideia é que programadores possam usar os poderes da unidade de


processamento gráfico (GPU) para realizar algumas operações mais rapidamente.

• A GPU passa a operar como se fosse mais um CPU dentro máquina, aumentando a
performance do sistema.

• Jogos de computadores costumam usar a CUDA para o cálculo de propriedades


físicas, como efeitos de fogo, água e fumaça.

• A tecnologia também é capaz de trabalhar com aplicações não gráficas, como


softwares de criptografia e simulações biológicas.
GPU Onboard vs GPU Offboard
• Quando a GPU é já presente na placa-mãe (placa de vídeo integrada), o conjunto
recebe o nome de GPU Onboard. Com isso, não é necessário o uso de uma placa
de vídeo. Assim, o PC pode ser plugado ao monitor sem a placa de vídeo.

• Esse tipo de configuração somente renderiza necessidades básicas de vídeo. Não


consegue processar gráficos potentes, cheios de detalhes ou pesados, com muita
informação. Por isso, torna-se necessário uma placa de vídeo acoplada
(offboard) para renderizar gráficos mais interessantes.

• Quando a placa de vídeo é onboard, os gráficos são renderizados na memória RAM


da própria máquina. Isso pode sobrecarregar sua placa mãe e seu PC.

• A placa dedicada é mais independente. Ela tem os componentes próprios para


realizar seu trabalho e não depende dos outros componentes do computador.
Benchmark Custo Benefício
Benchmark Desempenho Final
TITAN V CEO Edition
TITAN V CEO Edition
GeForce RTX 2080 Ti
GeForce RTX 2080 Ti
TITAN RTX
TITAN RTX
RANDEON VII
RANDEON VII
Outras aplicações para GPUs
• Publicidade: os painéis eletrônicos que adornam a Times Square em Nova York.
Outras aplicações para GPUs
• Todos aqueles telões contam com GPUs que fazem um papel central em seu
funcionamento. Afinal, aquilo não passa de um monte de monitores gigantescos de
alta resolução.

• Alguns deles utilizam placas gráficas da AMD ligadas em série por meio do módulo
de sincronização FirePro S400.

• De acordo com a AMD, esses painéis contam com a tecnologia Eyefinity,


desenvolvida para alimentar até 18 seções de tela, cada uma com resolução de até
10048x2368 pixels.
Outras aplicações para GPUs
• Automobilismo: praticamente todo carro autônomo ou semiautônomo em
desenvolvimento hoje precisa de alguma plataforma computacional criada em
torno de GPUs.
Outras aplicações para GPUs

• A NVIDIA lançou a sua linha de placas Drive PX, que estão presentes inclusive nos
carros da Tesla.

• Essas GPUs especiais desenvolvidas pela NVIDIA são capazes de fazer um veículo
se mover sozinho pela cidade, mas o software para que isso seja possível ainda
não está completamente adequado para o uso no mundo real por questões de
segurança.
Outras aplicações para GPUs
• Medicina: sistema de imagem para fins médicos, como ultrassons, também contam
com GPUs integradas para conseguir gerar exames com qualidade para avaliação
de um profissional de saúde.
Outras aplicações para GPUs

• A AMD explica que suas Radeon HD 7850 são utilizadas em equipamentos como o
BK Ultrasound BK3000 em várias partes do mundo. A tecnologia disponível para o
sistema de ultrassom é utilizada para urologia, cirurgia, tratamento de imagens em
geral e aplicações de orientação de procedimento.
Outras aplicações para GPUs
• Aviação: A Boeing é outra empresa relativamente inesperada que utiliza GPUs em
seus produtos.
Outras aplicações para GPUs

• A fabricante usa chips da AMD e da CoreAVI para processar dados colhidos pelos
diversos sensores e pelas câmeras presentes em um avião.

• A ideia é ganhar mais segurança, eficiência e ter estatísticas mais palpáveis sobre
os voos de suas aeronaves.
Outras aplicações para GPUs
• Mineração de Bitcoin: Mineração com GPU é drasticamente mais rápida e mais
eficiente que a mineração com CPU.
Outras aplicações para GPUs
• Em uma comparação rápida, enquanto uma CPU pode executar 4 instruções de 32
bits por clock uma GPU pode executar 3200 destas operações ao mesmo tempo.

• GPUs foram feitas para ter uma alta vazão e alto paralelismo, ambos podem ser
úteis na mineração de bitcoins pois mineradores podem computar multiplos
hashes ao mesmo tempo com nonces diferentes.

• Mineração com GPU tem algumas desvantagens, pois muito de sua composição
tem o objetivo de tratar vídeos. Como por exemplo as características de
resfriamento e consumo de energia.
Referências
https://www.tecmundo.com.br/produto/123327-gpu-so-games-conheca-outras-aplicacoes-elas-
essenciais.htm - Acessado: 20/10/2019 às 08h12.

https://blog.hdstore.com.br/gpu/ - Acessado: 19/10/2019 às 10h19.

https://pt.wikipedia.org/wiki/Minera%C3%A7%C3%A3o_de_Bitcoin#Minera%C3%A7%C3%A3o_com
_GPU - Acessado: 20/10/2019 às 13h25.

https://pt.wikipedia.org/wiki/Unidade_de_processamento_gr%C3%A1fico- Acessado: 17/10/2019


às 09h42.

https://www.infowester.com/placavideo.php - Acessado: 17/10/2019 às 14h25.

https://www.tecmundo.com.br/hardware/1127-o-que-e-gpu-.htm - Acessado: 16/10/2019 às


15h49.
Referências
https://www.videocardbenchmark.net/ - Acessado: 20/10/2019 às 12h13

http://www.cecm.usp.br/~selune/mysite/tutorialGPUs-historia.html - Acessado: 20/10/2019 às


11h15.

https://www.tecmundo.com.br/placa-de-video/85287-nvidia-x-amd-tem-melhor-placa-video-entre-
modelos-populares.htm - Acessado: 20/10/2019 às 14h36.

Você também pode gostar