Por que ainda usamos CPUs em vez de GPUs?

Nov 6, 2024
Hardware

Cada vez mais as GPUs estão sendo usadas para tarefas não gráficas, como cálculos de risco, cálculos de dinâmica de fluidos e análise sísmica. O que nos impede de adotar dispositivos baseados em GPU?

A sessão de perguntas e respostas de hoje chega até nós como cortesia do SuperUser - uma subdivisão do Stack Exchange, um agrupamento de sites de perguntas e respostas voltado para a comunidade.

A questão

O leitor SuperUser Ell se mantém atualizado com as novidades de tecnologia e está curioso para saber por que não estamos usando mais sistemas baseados em GPU:

Parece-me que hoje em dia muitos cálculos são feitos na GPU. Obviamente, os gráficos são feitos lá, mas usando CUDA e similares, AI, algoritmos de hash (pense em Bitcoins) e outros também são feitos na GPU. Por que não podemos simplesmente nos livrar da CPU e usar a GPU por conta própria? O que torna a GPU muito mais rápida do que a CPU?

Por que de fato? O que torna a CPU única?

A resposta

O contribuidor do SuperUser, DragonLord, oferece uma visão geral bem fundamentada das diferenças entre GPUs e CPUs:

Resposta TL; DR: As GPUs têm muito mais núcleos de processador do que CPUs, mas como cada núcleo de GPU é executado significativamente mais lento do que um núcleo de CPU e não tem os recursos necessários para sistemas operacionais modernos, eles não são apropriados para executar a maior parte do processamento na computação diária. Eles são mais adequados para operações de computação intensiva, como processamento de vídeo e simulações físicas.

A resposta detalhada: GPGPU ainda é um conceito relativamente novo. As GPUs foram inicialmente usadas apenas para renderizar gráficos; À medida que a tecnologia avançava, o grande número de núcleos em GPUs em relação a CPUs foi explorado pelo desenvolvimento de recursos computacionais para GPUs de forma que pudessem processar muitos fluxos paralelos de dados simultaneamente, não importando quais fossem esses dados. Embora as GPUs possam ter centenas ou mesmo milhares de processadores de fluxo, cada uma delas funciona mais lentamente do que um núcleo de CPU e tem menos recursos (mesmo que sejam Turing completo e pode ser programado para executar qualquer programa que uma CPU possa executar). Os recursos ausentes nas GPUs incluem interrupções e memória virtual, que são necessários para implementar um sistema operacional moderno.

Em outras palavras, CPUs e GPUs têm arquiteturas significativamente diferentes que os tornam mais adequados para tarefas diferentes. Uma GPU pode lidar com grandes quantidades de dados em muitos fluxos, realizando operações relativamente simples neles, mas não é adequada para processamento pesado ou complexo em um único ou poucos fluxos de dados. Uma CPU é muito mais rápida por núcleo (em termos de instruções por segundo) e pode executar operações complexas em um único ou alguns fluxos de dados com mais facilidade, mas não pode lidar com muitos fluxos simultaneamente.

Como resultado, as GPUs não são adequadas para lidar com tarefas que não se beneficiam significativamente ou não podem ser paralelizadas, incluindo muitos aplicativos comuns de consumo, como processadores de texto. Além disso, as GPUs usam uma arquitetura fundamentalmente diferente; seria necessário programar um aplicativo especificamente para uma GPU para que funcionasse, e técnicas significativamente diferentes são necessárias para programar as GPUs. Essas diferentes técnicas incluem novas linguagens de programação, modificações em linguagens existentes e novos paradigmas de programação que são mais adequados para expressar uma computação como uma operação paralela a ser executada por muitos processadores de fluxo. Para obter mais informações sobre as técnicas necessárias para programar GPUs, consulte os artigos da Wikipedia sobre processamento de fluxo e computação paralela .

As GPUs modernas são capazes de realizar operações vetoriais e aritmética de ponto flutuante, com os cartões mais recentes capazes de manipular números de ponto flutuante de dupla precisão. Frameworks como CUDA e OpenCL permitem que programas sejam escritos para GPUs, e a natureza das GPUs os torna mais adequados para operações altamente paralelizáveis, como na computação científica, onde uma série de placas de computação GPU especializadas podem ser um substituto viável para um pequeno cluster de computação como em Supercomputadores pessoais NVIDIA Tesla . Os consumidores com GPUs modernas com experiência em Folding @ home podem usá-los para contribuir com Clientes GPU , que pode realizar simulações de dobramento de proteínas em velocidades muito altas e contribuir com mais trabalho para o projeto (certifique-se de ler o FAQs primeiro, especialmente aqueles relacionados a GPUs). As GPUs também podem permitir uma melhor simulação de física em videogames usando PhysX, acelerar a codificação e decodificação de vídeo e realizar outras tarefas de computação intensiva. São esses tipos de tarefas que as GPUs são mais adequadas para executar.

A AMD é pioneira em um projeto de processador chamado de Unidade de processamento acelerado (APU) que combina núcleos de CPU x86 convencionais com GPUs. Isso pode permitir que os componentes da CPU e GPU trabalhem juntos e melhorem o desempenho em sistemas com espaço limitado para componentes separados. À medida que a tecnologia continua a avançar, veremos um grau crescente de convergência dessas partes antes separadas. No entanto, muitas tarefas realizadas por sistemas operacionais e aplicativos de PC ainda são mais adequados para CPUs, e muito trabalho é necessário para acelerar um programa usando uma GPU. Como muitos softwares existentes usam a arquitetura x86 e porque as GPUs exigem diferentes técnicas de programação e não possuem vários recursos importantes necessários para os sistemas operacionais, uma transição geral de CPU para GPU para a computação do dia-a-dia é extremamente difícil.


Tem algo a acrescentar à explicação? Soe fora nos comentários. Quer ler mais respostas de outros usuários do Stack Exchange com experiência em tecnologia? Confira o tópico de discussão completo aqui .

Why Are We Still Using CPUs Instead Of GPUs? (15 Solutions!!)

Why Do CPUs Need Caches? - Computerphile

How Intel And AMD Are Using 'chiplets' To Build Next-gen CPUs | Upscaled

GPUs: Explained


Hardware - Artigos mais populares

Pare de reclamar de que seu navegador usa muita RAM: é uma coisa boa

Hardware Dec 1, 2024

É uma reclamação sobre o Chrome há anos: “ele consome muita RAM!” E agora que Firefox Quantum está aqui , o fogo continua - alguns usuários veem menos uso d..


Como ocultar ícones de sobreposição no jogo com GeForce Experience da NVIDIA e notificação Alt + Z

Hardware Jul 5, 2025

CONTEÚDO NÃO CHEGADO A última versão de Experiência GeForce da NVIDIA o software traz uma nova sobreposição de "Compartilhar" no jogo que substitui o antigo ..


Como definir um papel de parede diferente em cada monitor no Windows 10

Hardware Sep 24, 2025

Definir um plano de fundo exclusivo em cada um de seus vários monitores era um truque simples no Windows 8, mas o menu está enterrado a ponto de ser invisível no Windows 10. Mas ..


Colocar um MacBook na geladeira para resfriá-lo pode danificá-lo?

Hardware Jun 28, 2025

CONTEÚDO NÃO CHEGADO Todos nós já tivemos problemas com o aquecimento de nossos dispositivos de vez em quando, mas o desespero para facilitar ou resolver o problema pode levar..


Como ligar e desligar seu Belkin WeMo automaticamente

Hardware May 18, 2025

Embora você possa controlar o Belkin WeMo Switch do telefone, também pode ligá-lo e desligá-lo automaticamente usando os recursos de automação da tomada inteligente. ..


Como transmitir jogos do PlayStation 4 para o seu PC ou Mac com jogo remoto

Hardware Jun 20, 2025

CONTEÚDO NÃO CHEGADO O PlayStation 4 da Sony agora pode transmitir jogos para PCs e Macs com Windows com um recurso chamado Remote Play. Isso significa que você pode jogar dire..


4 coisas a ter em mente ao comprar um Chromebook para Linux

Hardware Mar 20, 2025

CONTEÚDO NÃO CHEGADO O Chrome OS é baseado em desktop Linux, então o hardware de um Chromebook certamente funcionará bem com Linux. Um Chromebook pode fazer um laptop Linux s..


Vídeo em grupo com a família e amigos gratuitamente

Hardware Jul 30, 2025

CONTEÚDO NÃO CHEGADO Quer se trate de uma formatura ou de um novo nascimento, há muitas ocasiões especiais na vida em que gostaríamos de estar presentes, mas não podemos devido à dis..


Categorias