Unidades de computação AMD vs. Nvidia CUDA Cores: Qual é a diferença?

Unidades de computação AMD vs. Nvidia CUDA Cores: Qual é a diferença?

Se você tem seguido a Nvidia e a AMD, provavelmente conhece as especificações de suas GPUs que ambas as empresas gostam de usar. Por exemplo, a Nvidia gosta de enfatizar a contagem de núcleos CUDA para diferenciar sua oferta das placas da AMD, enquanto a AMD faz o mesmo com suas unidades de computação.





Mas o que esses termos realmente significam? Um núcleo CUDA é a mesma coisa que uma unidade de computação? Se não, qual é a diferença?





como descobrir sobre alguém

Vamos responder a essas perguntas e ver o que torna uma GPU AMD diferente de uma Nvidia.





Arquitetura Geral de uma GPU

Todas as GPUs, sejam da AMD, Nvidia ou Intel, funcionam da mesma maneira em geral. Eles têm os mesmos componentes principais e o layout geral desses componentes é semelhante em um nível superior.

Portanto, de uma perspectiva de cima para baixo, todas as GPUs são iguais.



Quando olhamos para os componentes proprietários específicos que cada fabricante inclui em sua GPU, as diferenças começam a surgir. Por exemplo, a Nvidia incorpora núcleos Tensor em suas GPUs, enquanto as GPUs AMD não têm núcleos Tensor.

Da mesma forma, a AMD usa componentes como o Infinity Cache, que as GPUs Nvidia não têm.





Portanto, para entender a diferença entre unidades de computação (CUs) e núcleos CUDA, primeiro temos que examinar a arquitetura geral de uma GPU. Uma vez que podemos entender a arquitetura e ver como funciona uma GPU, podemos ver claramente a diferença entre unidades de computação e núcleos CUDA.

Como funciona uma GPU?

A primeira coisa que você precisa entender é que uma GPU processa milhares ou até milhões de instruções simultaneamente. Portanto, uma GPU precisa de muitos núcleos pequenos e altamente paralelos para lidar com essas instruções.





Esses pequenos núcleos de GPU são diferentes dos grandes núcleos de CPU que processam uma instrução complexa por núcleo por vez.

Por exemplo, um Nvidia RTX 3090 tem 10496 núcleos CUDA. Por outro lado, o AMD Threadripper 3970X topo de linha tem apenas 64 núcleos.

Portanto, não podemos comparar núcleos de GPU com núcleos de CPU. Existem muitos diferenças entre uma CPU e GPU porque os engenheiros os projetaram para executar tarefas diferentes.

Além disso, ao contrário de uma CPU média, todos os núcleos da GPU são organizados em clusters ou grupos.

Por fim, um cluster de núcleos em uma GPU possui outros componentes de hardware, como núcleos de processamento de textura, unidades de pontos flutuantes e caches

para ajudar a processar milhões de instruções ao mesmo tempo. Esse paralelismo define a arquitetura de uma GPU. Do carregamento de uma instrução ao processamento, uma GPU faz tudo de acordo com os princípios do processamento paralelo.

  • Primeiro, a GPU recebe uma instrução para processar de uma fila de instruções. Essas instruções quase sempre são predominantemente relacionadas a vetores.
  • Em seguida, para resolver essas instruções, um planejador de thread as passa para clusters de núcleo individuais para processamento.
  • Depois de receber as instruções, um planejador de cluster de núcleo integrado atribui as instruções aos núcleos ou elementos de processamento para processamento.
  • Finalmente, diferentes clusters principais processam diferentes instruções em paralelo e os resultados são exibidos na tela. Então, todos os gráficos que você vê na tela, um videogame, por exemplo, são apenas uma coleção de milhões de vetores processados.

Resumindo, uma GPU possui milhares de elementos de processamento que chamamos de núcleos organizados em clusters. Os agendadores atribuem trabalho a esses clusters para atingir o paralelismo.

O que são unidades de computação?

Como visto na seção anterior, cada GPU possui clusters de núcleos contendo elementos de processamento. A AMD chama esses clusters centrais de unidades de computação.

www.youtube.com/watch?v=uu-3aEyesWQ&t=202s

Unidades de computação são uma coleção de recursos de processamento como unidades lógicas e aritméticas (ALUs) paralelas, caches, unidades de ponto flutuante ou processadores de vetor, registradores e alguma memória para armazenar informações de thread.

Para simplificar, a AMD apenas anuncia o número de unidades de computação de suas GPUs e não detalha os componentes subjacentes.

Portanto, sempre que você vir o número de unidades de computação, pense nelas como um grupo de elementos de processamento e todos os componentes relacionados.

quanto custa o seu tubo vermelho

O que são núcleos CUDA?

Enquanto a AMD gosta de manter as coisas simples com o número de unidades de computação, a Nvidia complica as coisas usando termos como núcleos CUDA.

Os núcleos CUDA não são exatamente núcleos. Eles são apenas unidades de ponto flutuante que a Nvidia gosta de denominar como núcleos para fins de marketing. E, se você se lembrar, os clusters principais têm muitas unidades de ponto flutuante integradas. Essas unidades realizam cálculos vetoriais e nada mais.

Portanto, chamá-los de núcleo é marketing puro.

Portanto, um núcleo CUDA é um elemento de processamento que executa operações de ponto flutuante. Pode haver muitos núcleos CUDA dentro de um cluster de núcleo único.

Finalmente, a Nvidia chama os clusters principais Multiprocessadores ou SMs de streaming. SMs são equivalentes às unidades de computação AMD, uma vez que as unidades de computação são os próprios clusters de núcleo.

Qual é a diferença entre unidades de computação e núcleos CUDA?

A principal diferença entre uma unidade de computação e um núcleo CUDA é que o primeiro se refere a um cluster principal e o último se refere a um elemento de processamento.

Para entender melhor essa diferença, tomemos o exemplo de uma caixa de câmbio.

Uma caixa de engrenagens é uma unidade composta por várias engrenagens. Você pode pensar na caixa de engrenagens como uma unidade de computação e as engrenagens individuais como unidades de ponto flutuante de núcleos CUDA.

Em outras palavras, onde Compute Units são uma coleção de componentes, os núcleos CUDA representam um componente específico dentro da coleção. Portanto, unidades de computação e núcleos CUDA não são comparáveis.

É também por isso que quando a AMD menciona o número de unidades de computação para suas GPUs, elas são sempre bem menores em comparação com as placas Nvidia concorrentes e sua contagem de núcleos CUDA. Uma comparação mais favorável seria entre o número de Streaming Multiprocessors da placa Nvidia e o número de unidades de computação da placa AMD.

Relacionado: AMD 6700XT vs. Nvidia RTX 3070: Qual é a melhor GPU abaixo de US $ 500?

Os núcleos CUDA e as unidades de computação são diferentes e não comparáveis

As empresas têm o hábito de usar terminologia confusa para apresentar seus produtos da melhor maneira. Isso não apenas confunde o cliente, mas também dificulta o controle das coisas que importam.

Portanto, certifique-se de saber o que procurar ao pesquisar uma GPU. Ficar longe do jargão de marketing tornará sua decisão muito melhor e mais tranquila.

Compartilhado Compartilhado Tweet O email Vale a pena atualizar as placas de vídeo NVIDIA série 30?

Se você é um jogador, pode ficar tentado a atualizar sua placa de vídeo para a série 30 da NVIDIA. Mas vale a pena?

Leia a seguir
Tópicos relacionados
  • Tecnologia Explicada
  • Placa de vídeo
  • Nvidia
  • Processador AMD
Sobre o autor Fawad Murtaza(47 artigos publicados)

Fawad é um escritor freelance em tempo integral. Ele adora tecnologia e comida. Quando não está comendo ou escrevendo sobre o Windows, ele está jogando videogame ou sonhando acordado em viajar.

Mais de Fawad Murtaza

Assine a nossa newsletter

Junte-se ao nosso boletim informativo para dicas de tecnologia, análises, e-books grátis e ofertas exclusivas!

Clique aqui para se inscrever