A diferença entre GPU e CPU


12

Eu sei o que é uma CPU (eu acho). É a coisa que mede a velocidade no GigaHertz (atualmente).

No entanto, você ouve muito sobre uma GPU e deixa a GPU assumir o controle, não deixando a CPU, mas a GPU fazê-lo, renderização baseada em GPU, etc.

O que é essa GPU afinal? Como posso acessá-lo e usá-lo em meu proveito? O que estou perdendo aqui?


2
Err ... essa não é uma definição muito boa de CPU. ;)
Mateen Ulhaq,

Respostas:


17

A GPU é a unidade de processamento gráfico. É a CPU da placa de vídeo.

Tradicionalmente, a CPU fazia todo o processamento gráfico até os fabricantes de placas de vídeo começarem a incluir GPUs nos adaptadores de vídeo. A GPU era uma peça de hardware dedicada semelhante à antiga FPU (unidade de ponto flutuante dedicada à execução de rotinas matemáticas avançadas mais rapidamente que a CPU), capaz de executar rotinas gráficas comuns muito rapidamente. (Na verdade, as GPUs vieram com a mudança dos fabricantes de placas de vídeo para incorporar a aceleração gráfica na placa, em vez de exigir uma placa separada, assim como a função das FPUs acabou sendo incorporada diretamente nas CPUs.)

Eventualmente, as GPUs superaram as CPUs, de modo que um processador gráfico realmente tinha mais transistores, rodou mais rápido (e mais quente) e assim por diante. Os fabricantes de placas gráficas perceberam que a GPU agora era uma peça realmente poderosa de hardware que geralmente fica ociosa (por exemplo, ao navegar na Internet, editar documentos etc.). Assim, começando com o X1300, as placas da ATI incluíam o AVIVO , o que permitiria usuário executar o software de conversão de vídeo no processador da placa de vídeo, em vez de fazê-lo apenas na CPU mais lenta. A Nvidia respondeu com o CUDA , o primeiro GPGPU verdadeiro que basicamente é uma maneira de usar o GPU em uma placa de vídeo como processadores suplementares de uso geral que podem ser usados ​​para qualquer finalidade, não apenas para gráficos ou vídeo.

Como uma GPU é altamente otimizada para executar cálculos avançados, como aritmética de ponto flutuante, aritmética de matriz e similares, ela pode executar funções como conversão de vídeo, pós-processamento e tarefas como BOINC ou Folding @ Home muito melhor do que com uma CPU sozinha.

Um computador moderno pode ser bastante poderoso, com uma CPU com vários núcleos e placas de vídeo com várias GPUs que podem atuar como super CPUs, o poder de processamento dos computadores de hoje é realmente incrível. Melhor ainda, os fabricantes estão tornando os chips mais eficientes em termos de energia, para que sejam realmente poderosos, mas também consumam o mínimo de energia e gerem o mínimo de calor possível quando não forem necessários, dando-nos o melhor dos dois mundos!


Apenas um comentário, mas para o BOINC e o Folding @ Home, as tarefas de CPU e GPU são muito diferentes. A maioria das tarefas é realmente melhor em uma CPU porque envolve dinâmicas moleculares complexas que são difíceis de simular em uma GPU. Da mesma forma, há tarefas que podem se beneficiar do paralelismo insano de uma GPU. Por esse motivo, você costuma ver uma GPU executando tarefas em uma taxa mais alta que as CPUs, mas oculta o fato de que existem muitas tarefas que podem ser executadas em uma CPU (simulações de voo longo, etc.). Mas dizer que essas tarefas são mais adequadas para uma GPU está incorreto.
forest

13

A GPU é a unidade de processamento gráfico. É essencialmente a CPU da sua placa de vídeo (CPU é a Unidade Central de Processamento, o "cérebro" ou processador de um computador). Atualmente, as placas de vídeo são tão complexas que são basicamente computadores em si mesmas, com memória, barramentos e processadores próprios.

As GPUs, historicamente, têm uma finalidade relativamente especial, projetadas para obter o máximo de energia ao executar um conjunto discreto de operações gráficas em tipos específicos de primitivas de dados (vértices, pixels, etc.). No entanto, empresas como Intel, nVidia e ATI estão começando a avançar com componentes de GPU de uso geral, tornando mais fácil do que nunca os desenvolvedores de software utilizarem o poder de processamento extra disponível na placa de vídeo para realizar operações que não são gráficas. Combinados com coisas como CUDA e outros idiomas especializados de GPU, esses novos chips abrem muitas possibilidades.

GPGPU é uma espécie de sede para a computação GPU de uso geral. Como usuário, e não como programador, a coisa toda "descarregar para a GPU" não lhe interessa realmente neste momento, fora de uma situação em que você usaria o software projetado dessa maneira (não são muitas as partes do usuário final) existe no momento).


4

A CPU é a unidade central de processamento (provavelmente o seu processador Intel ou AMD).

A GPU é a unidade de processamento gráfico da sua placa gráfica. Vejo:

http://en.wikipedia.org/wiki/Graphics_processing_unit

Eles são difíceis de programar, mas têm o benefício de serem massivamente paralelos; portanto, podem processar algumas tarefas muito mais rapidamente que a CPU.

Novas iniciativas como a CUDA da Nvidia esperam liberar esse potencial, facilitando a programação. Vejo:

http://en.wikipedia.org/wiki/CUDA


0

Uma GPU é apenas uma CPU dedicada ao processamento gráfico. Uma CPU pode processar praticamente qualquer coisa, mas uma GPU é adaptada para o cálculo de imagens 3D - as pessoas estão começando a aproveitar sua GPU porque é muito, muito boa em processamento paralelo, o que significa que um software que faz muitas coisas que não dependem um ao outro pode executá-lo através da placa gráfica para uma melhor performance.

Além disso, ele nunca é usado normalmente, portanto, aproveitar o poder não pode machucar.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.