CUDA (Compute Unified Device Architecture): o que é e para que serve

Letra

Atualizado em 19/10/2026: texto refeito: o que é CUDA e quem faz, o que vem no CUDA Toolkit, como funciona o modelo de programação (kernels, threads, blocos, grade), linguagens, por que importa para IA, alternativas (OpenCL, ROCm, SYCL) e termos relacionados, com fontes; saíram parágrafos genéricos e repetidos. Como conferimos os dados

CUDA (Compute Unified Device Architecture) é a plataforma de computação paralela da NVIDIA. Ela permite que um programa use a GPU (a placa de vídeo) para cálculos de uso geral, e não só para gráficos. É proprietária: só funciona em GPUs da NVIDIA. O trabalho começou em 2004 e a plataforma foi lançada oficialmente em 2007.

O que vem no CUDA

  • Driver e runtime: a camada que conversa com a GPU. Há uma API de driver, de baixo nível, e uma API de runtime, mais simples de usar.
  • Compilador (nvcc): traduz o código CUDA C/C++ para instruções que a GPU executa.
  • Bibliotecas prontas: álgebra linear (cuBLAS), transformada de Fourier (cuFFT), números aleatórios (cuRAND), matrizes esparsas (cuSPARSE), entre outras.
  • Ferramentas de depuração e de otimização de desempenho.

A NVIDIA distribui esse conjunto como CUDA Toolkit, que pode ser baixado no site para desenvolvedores da empresa.

Como funciona o modelo de programação

  1. O programa principal roda na CPU (o host) e copia os dados para a memória da GPU (o device).
  2. A CPU dispara um kernel: uma função escrita para rodar na GPU.
  3. A GPU executa esse kernel em milhares de threads ao mesmo tempo, cada uma cuidando de um pedaço dos dados. As threads são agrupadas em blocos, e os blocos formam uma grade (grid). Dentro do hardware, elas rodam em grupos de 32, chamados warps, nos multiprocessadores da GPU.
  4. O resultado volta para a memória da CPU.

Esse modelo funciona bem para tarefas em que a mesma operação se repete sobre muitos dados: multiplicar matrizes, processar pixels, simular partículas. É o caso das redes neurais.

Linguagens

O CUDA nasceu como extensão de C e tem suporte oficial a C++, Fortran e Python (com bibliotecas como CuPy e PyCUDA). Existem ainda adaptações feitas por terceiros para Java, R, Julia, MATLAB e outras linguagens.

Por que o CUDA importa para a inteligência artificial

Treinar um modelo de deep learning é, no fundo, fazer bilhões de operações com tensores, e a GPU faz isso em paralelo. O CUDA é a camada que dá às bibliotecas de aprendizado de máquina acesso a esse poder nas GPUs da NVIDIA, tanto no treino de redes neurais quanto na inferência de grandes modelos de linguagem. Por isso a GPU “com suporte a CUDA” aparece como requisito em tantos projetos de IA.

Alternativas ao CUDA

AlternativaO que é
OpenCLPadrão aberto do Khronos Group para computação paralela em GPUs e CPUs de vários fabricantes.
ROCm e HIP (AMD)Plataforma de código aberto da AMD; o HIP é uma camada pensada para rodar o mesmo código em GPUs AMD e NVIDIA.
SYCLPadrão aberto do Khronos Group baseado em C++.
oneAPI (Intel)Conjunto de ferramentas de código aberto da Intel.

Projetos de compatibilidade, como o ZLUDA, tentam rodar programas CUDA em GPUs de outros fabricantes, mas o CUDA em si continua restrito à NVIDIA.

Termos relacionados

Fontes (conferidas em 18/10/2026): NVIDIA Developer: CUDA Platform for Accelerated Computing · Wikipédia (inglês): CUDA

← Todos os termos do ABC da IA