O que é computação GPU e para que serve?

Várias GPUs configuradas para mineração de Bitcoin.
archy13/Shutterstock.com

As unidades de processamento gráfico (GPUs) são projetadas para renderizar gráficos em tempo real. No entanto, acontece que o que torna as GPUs ótimas em gráficos também as torna ótimas em certos trabalhos não gráficos. Isso é conhecido como computação GPU.

Como CPUs e GPUs diferem?

Em princípio, tanto as GPUs quanto as CPUs (Unidades Centrais de Processamento) são produtos da mesma tecnologia. Dentro de cada dispositivo, existem processadores que consistem de milhões a bilhões de componentes eletrônicos microscópicos, principalmente transistores. Esses componentes formam elementos do processador, como portas lógicas e, a partir daí, são construídos em estruturas complexas que transformam o código binário nas sofisticadas experiências de computador que temos hoje.

A principal diferença entre CPUs e GPUs é  o paralelismo . Em uma CPU moderna, você encontrará vários núcleos de CPU complexos e de alto desempenho. Quatro núcleos são típicos para computadores convencionais, mas CPUs de 6 e oito núcleos estão se tornando populares. Computadores profissionais de ponta podem ter dezenas ou até mais de 100 núcleos de CPU, especialmente com placas- mãe com vários soquetes que podem acomodar mais de uma CPU.

Cada núcleo de CPU pode fazer uma ou (com hyperthreading ) duas coisas por vez. No entanto, esse trabalho pode ser quase qualquer coisa e pode ser extremamente complexo. As CPUs têm uma ampla variedade de habilidades de processamento e designs incrivelmente inteligentes que as tornam eficientes na análise de matemática complicada.

Recomendado:  O que significa “tocar grama”?

As GPUs modernas normalmente possuem  milhares  de processadores simples. Por exemplo, a GPU RTX 3090 da Nvidia possui 10496 núcleos de GPU. Ao contrário de uma CPU, cada núcleo de GPU é relativamente simples em comparação e é projetado para fazer os tipos de cálculos típicos no trabalho gráfico. Não apenas isso, mas todos esses milhares de processadores podem trabalhar em uma pequena parte do problema de renderização gráfica ao mesmo tempo. É isso que queremos dizer com “paralelismo”.

Computação de propósito geral em GPUS (GPGPU)

Lembre-se que as CPUs não são especializadas e podem fazer qualquer tipo de cálculo, independente de quanto tempo demore para terminar o trabalho. Na verdade, uma CPU pode fazer qualquer coisa que uma GPU, mas não com rapidez suficiente para ser útil em aplicativos gráficos em tempo real.

Se este for o caso, então o inverso também é verdadeiro até certo ponto. As GPUs podem fazer  alguns  dos mesmos cálculos que normalmente solicitamos às CPUs, mas como elas têm um design de processamento paralelo semelhante a um supercomputador, elas podem fazê-lo muito mais rápido. Isso é GPGPU: usando GPUs para fazer cargas de trabalho de CPU tradicionais.

Os principais fabricantes de GPUs (NVIDIA e AMD) usam linguagens e arquiteturas de programação especiais para permitir que os usuários acessem os recursos GPGPU. No caso da Nvidia, isso é CUDA ou  Compute Unified Device Architecture. É por isso que você verá seus processadores GPU referidos como núcleos CUDA.

Como o CUDA é proprietário, os fabricantes de GPU concorrentes, como a AMD, não podem usá-lo. Em vez disso, as GPUs da AMD usam OpenCL ou  Open Computing Language) . Esta é uma linguagem GPGPU criada por um consórcio de empresas que incluem Nvidia e Intel.

Recomendado:  Os 10 melhores filmes originais da Netflix para crianças (junho de 2020)

GPUs em Pesquisa Científica

Um cientista em um laboratório olha através de um microscópio.
Gorodenkoff/Shutterstock.com

A computação GPU revolucionou o que os cientistas podem fazer com orçamentos muito menores do que antes. Mineração de dados, onde os computadores procuram padrões interessantes em montanhas de dados, obtendo insights que, de outra forma, seriam perdidos no ruído.

Projetos como o Folding@Home usam o tempo de processamento de GPU doméstico doado pelos usuários para trabalhar em problemas graves, como o câncer. As GPUs são úteis para todos os tipos de simulações científicas e de engenharia que levariam anos para serem concluídas no passado e milhões de dólares alugados em grandes supercomputadores.

GPUs em Inteligência Artificial

As GPUs também são ótimas em certos tipos de trabalhos de inteligência artificial. O aprendizado de máquina (ML) é muito mais rápido em GPUs do que em CPUs e os modelos de GPU mais recentes têm hardware de aprendizado de máquina ainda mais especializado integrado a eles.

Um exemplo prático de como as GPUs estão sendo usadas para aprimorar os aplicativos de IA no mundo real é o advento dos carros autônomos . De acordo com a Tesla , seu software Autopilot exigia 70.000 horas de GPU para “treinar” a rede neural com as habilidades para dirigir um veículo. Fazer o mesmo trabalho em CPUs seria muito caro e demorado.

GPUs na mineração de criptomoedas

Várias GPUs alinhadas em uma plataforma de mineração de criptomoedas.
Todosphoto Studio/Shutterstock.com

As GPUs também são excelentes para decifrar quebra-cabeças criptográficos, e é por isso que elas se tornaram populares na mineração de criptomoedas . Embora as GPUs não minerem criptomoedas tão rapidamente quanto ASICs (circuitos integrados específicos de aplicativos), elas têm a vantagem distinta de serem versáteis. Os ASICs geralmente podem minerar apenas um tipo específico ou pequeno grupo de criptomoedas e nada mais.

Recomendado:  Por que reiniciar o telefone melhora o desempenho e corrige problemas comuns

Os mineradores de criptomoedas são uma das principais razões pelas quais as GPUs são tão caras e difíceis de encontrar , pelo menos no momento em que escrevo no início de 2022. Experimentar as alturas da tecnologia GPU significa pagar caro, com o preço atual de uma NVIDIA GeForce RTX 3090 sendo mais de US$ 2.500. Tornou-se um problema tão grande que a NVIDIA limitou artificialmente o desempenho de criptografia de GPUs de jogos e introduziu produtos especiais de GPU específicos para mineração .

Você pode usar GPGPU também!

Embora você nem sempre esteja ciente disso, alguns dos softwares que você usa todos os dias descarregam parte de seu processamento em sua GPU. Se você trabalha com software de edição de vídeo ou ferramentas de processamento de áudio, por exemplo, há uma boa chance de sua GPU estar carregando parte da carga. Se você deseja lidar com projetos como fazer seus próprios deepfakes em casa, sua GPU é mais uma vez o componente que torna isso possível.

A GPU do seu smartphone também é responsável por executar muitos dos trabalhos de inteligência artificial e visão de máquina que seriam enviados para computadores em nuvem. Portanto, todos devemos agradecer que as GPUs possam fazer mais do que desenhar uma imagem atraente na tela.