BLOG

O que é um núcleo CUDA e como funciona?

Última atualização:

  Esta página foi traduzida automaticamente por DeepL. Switch to English

Um núcleo CUDA é uma das minúsculas unidades matemáticas dentro de uma GPU NVIDIA que realiza o trabalho pesado para gráficos e computação paralela. Cada núcleo reside dentro de um bloco maior chamado Multiprocessador de Streaming (SM) e, nas modernas GPUs GeForce “Blackwell”, cada SM contém 128 núcleos CUDA. É por isso que você verá contagens totais como 21.760 núcleos CUDA em uma RTX 5090. O chip simplesmente tem muitos SMs, cada um repleto desses núcleos.

CUDA (a plataforma de computação paralela da NVIDIA) é o lado do software da história: permite que aplicativos e estruturas enviem renderização de trabalho massivamente paralela, IA e simulação para esses núcleos de forma eficiente.

NVIDIA-Tesla-Module

Como funcionam os núcleos CUDA?

Pense numa GPU como uma fábrica projetada para trabalhos em massa. Os núcleos CUDA processam o trabalho em grupos de warps de 32 threads que executam a mesma instrução em dados diferentes (um modelo que a NVIDIA chama de SIMT). É assim que as GPUs processam milhares de operações ao mesmo tempo. Cada SM possui agendadores que mantêm muitos warps em execução para ocultar a latência da memória e manter esses núcleos ocupados.

Uma imagem mental útil:

  • Núcleo CUDA = um trabalhador individual (realiza operações aritméticas como adições e multiplicações).
  • SM = um chão de fábrica com seus próprios programadores, caches, unidades de função especial, Tensor Core(s), etc.
  • GPU = toda a fábrica, com muitos SMs a operar em paralelo.

Núcleos CUDA vs. núcleos de CPU (e outros núcleos de GPU)

  • Não são núcleos de CPU: um núcleo CUDA é uma pista aritmética mais simples, otimizada para rendimento, e não um núcleo de CPU de grande porte, ajustado para latência e uso geral. As GPUs escalam ao ter muitas dessas pequenas pistas trabalhando juntas. (O guia de programação da CUDA explica esse design orientado para o rendimento.)
  • Diferente dos núcleos GPU especializados:
    • Os Tensor Cores são motores matemáticos matriciais que potencializam a IA/ML e funcionalidades como o DLSS;
    • Os núcleos RT aceleram o ray tracing (traversal BVH, testes de raio/triângulo).

Isso descarrega tarefas específicas para que os núcleos CUDA possam se concentrar no sombreamento/cálculo.

nvidia-workstation-rtx-pro-5000-og-1200x630

Crédito da imagem: NVIDIA

Mais núcleos CUDA significam sempre mais desempenho?

Normalmente, mas não por si só. A arquitetura é muito importante. Por exemplo, a geração Ampere da NVIDIA duplicou a taxa de transferência FP32 por SM em comparação com a Turing, pelo que a potência «por núcleo» mudou entre gerações. A Ada também expandiu significativamente as caches (nomeadamente L2), o que aumenta muitas cargas de trabalho sem alterar o número de núcleos. Em resumo: comparar o número de núcleos CUDA entre diferentes gerações não é comparável.

Outros fatores importantes:

  • Velocidades do relógio e margem de potência (velocidade de execução dos núcleos).
  • Largura de banda da memória e tamanhos da cache (alimentando os núcleos).
  • Utilização de núcleos Tensor/RT (a IA e o ray tracing substituem os núcleos CUDA).
  • Controladores e software (quão bem uma aplicação utiliza a GPU através da CUDA).

O que os núcleos CUDA realmente fazem na prática?

  • Jogos/gráficos: Eles executam programas de sombreamento (vértice, pixel, computação) nos bastidores. Os núcleos RT lidam com as etapas pesadas de ray tracing; os núcleos CUDA ainda fazem muito sombreamento e computação em torno deles.
  • Criação de conteúdo e simulação: solucionadores físicos, denoisers, kernels de renderização, efeitos de vídeo, muitos deles escritos para aproveitar o modelo paralelo da CUDA.
  • IA/ML: As operações Tensor vão para os Tensor Cores, mas grande parte do pré-processamento, pós-processamento e trabalho não matricial ainda é executado nos núcleos CUDA.

Quantos núcleos CUDA eu preciso?

Uma regra prática amigável:

  • Jogos com alta taxa de quadros por segundo (FPS) em 1080p–1440p: analise toda a GPU (arquitetura, clock, memória, recursos RT/Tensor), não apenas o número de núcleos. Os benchmarks são mais importantes do que os números brutos.
  • 4K ou ray tracing pesado: você se beneficiará de mais SMs/núcleos CUDA e blocos RT/Tensor robustos, além de largura de banda e cache.
  • IA/computação: o número de núcleos ajuda, mas a capacidade do Tensor Core, o tamanho da VRAM e a largura de banda da memória frequentemente determinam o rendimento.

Se quiser fazer uma rápida verificação da escala, a RTX 5090 lista 21.760 núcleos CUDA, mostrando como a NVIDIA contabiliza os núcleos por SM em muitos SMs. Mas, novamente, os ganhos de desempenho vêm do design total, não apenas da contagem.

NVIDIA-Blackwell-Ultra-GB300

Crédito da imagem: NVIDIA

Preciso de software ou cabos especiais? (O «HDMI para 4K» da CUDA)

Não precisa de um cabo especial, mas precisa da pilha de software certa. CUDA é a plataforma da NVIDIA; as aplicações utilizam-na através de controladores, kits de ferramentas e bibliotecas. Muitas aplicações e estruturas populares já estão preparadas para aproveitar a aceleração CUDA assim que os controladores NVIDIA e (quando necessário) o Kit de Ferramentas CUDA estiverem instalados, as aplicações compatíveis simplesmente... utilizam-na.

Quais GPUs suportam CUDA?

O CUDA funciona em GPUs NVIDIA compatíveis com CUDA em todas as linhas de produtos (GeForce/RTX para jogos e criação, RTX profissional e GPUs para centros de dados). O guia de programação indica que o modelo é compatível com várias gerações de GPUs e SKUs; a NVIDIA mantém uma lista de GPUs compatíveis com CUDA e suas capacidades de computação.

Um núcleo CUDA é o mesmo que um «núcleo de sombreamento»?


No jargão cotidiano das GPUs, sim, nas GPUs NVIDIA, «núcleos CUDA» referem-se às ALUs FP32/INT32 programáveis usadas para sombreamento e computação geral dentro de cada SM.



Por que os números do núcleo CUDA são tão diferentes entre as gerações?


Porque as arquiteturas evoluem. A Ampere alterou os caminhos de dados FP32 (mais trabalho por clock) e a Ada reformulou os caches para que o desempenho não fosse proporcional ao número de núcleos.



O que é uma deformação, mesmo?


Um grupo de 32 threads que são executados em sincronia no SM. As aplicações lançam milhares de threads; a GPU programa-as como warps para manter o hardware ocupado.



Os núcleos CUDA ajudam na IA?


Sim, mas os grandes aceleradores da IA moderna são os Tensor Cores. Os núcleos CUDA ainda lidam com grande parte do trabalho envolvido nessas pipelines.