Clicked Gallery

O que é CUDA?

Subrayado en un documento técnico real. Explicado por Clicked.

Usado numa frase

Engineering Notes · AI Systems

The lab's entire training pipeline was written in CUDA, which made the choice of hardware automatic.

O leitor sublinhou uma palavra na documentação. O Clicked explicou o termo técnico «CUDA» em linguagem simples:

Explicado em três níveis

Os mesmos fatos, outra vibe — Modo slang 😎

O método Clicked

●○○

Overview

CUDA é o software através do qual os programadores usam os chips gráficos da Nvidia para computação geral, de simulações de física ao treino de modelos de IA, e não para desenhar gráficos. Um programador escreve numa linguagem comum como C++ ou Python, e CUDA transforma esse programa em trabalho que os milhares de núcleos do chip conseguem executar em conjunto. A Nvidia lançou-o em 2007; a primeira placa capaz de o correr, de 2006, levava 128 núcleos. Não torna o chip mais rápido. Torna o chip alcançável.
●○○

Overview

CUDA é a razão de um computador de jogos poder fazer biscates como supercomputador de laboratório. O silício nasceu para pintar píxeis, e o mesmo talento multiplica números lindamente, desde que alguma coisa consiga levar-lhe as contas lá para dentro. CUDA é esse transporte. Escreve 40 linhas de aspecto banal e a maquinaria transforma-as em 4.000 tarefazinhas a acontecer em simultâneo. O fabricante dá o kit todo de graça, o que deixa de parecer caridade assim que se repara nas letras pequenas: tudo o que alguém constrói com ele aterra numa só marca de silício, e mudar de casa mais tarde é reconstruir, não fazer as malas. 😎

Uma ideia rápida — muitas vezes é tudo de que você precisa.

●●○

Detail

CUDA é a plataforma da Nvidia para programar os seus chips gráficos: as extensões de linguagem, as ferramentas e as bibliotecas já feitas através das quais a maior parte do software chega aos milhares de núcleos de uma GPU. Uma GPU recebe o trabalho numa forma específica, e antes de 2007 a entrada prática era o software de gráficos, por isso outros problemas tinham de ser reescritos como trabalho gráfico. CUDA deu aos programas gerais uma entrada directa, e desde então o código, as bibliotecas e as pessoas formadas da área acumularam-se em cima dela. Há aqui duas coisas fáceis de confundir. O chip está aberto: outras empresas escrevem software próprio para falar com estas GPU, e funciona. O código não está: um programa escrito em CUDA corre nos chips da Nvidia e, na prática, em mais lado nenhum. Mudá-lo significaria reconstruir as bibliotecas de CUDA para os chips de outro fabricante, uma quantidade enorme de software que muda a cada versão e pertence à Nvidia. As tentativas existem e continuam anos atrás. Uma camada de software costuma prometer que aquilo que está por baixo pode ser trocado, e é exactamente essa a promessa que CUDA não faz. Por isso o trabalho novo de IA vai para onde o código existente já corre, e escolher o software escolheu o hardware. Dos 500 supercomputadores mais rápidos do mundo em novembro de 2024, mais de um terço corriam em GPU da Nvidia.
●●○

Detail

CUDA é a metade da história da IA que se acumula: o software. Digamos que o teu laboratório tem 10 anos de programas próprios, 300.000 linhas, todas escritas para CUDA, porque era para isso que toda a gente escrevia. Aparece agora o chip de um concorrente, francamente bom. O preço de etiqueta está bem; o preço a sério é a reescrita: 300.000 linhas com a canalização toda refeita, cada biblioteca trocada por um clone mais novo, toda a gente a formar-se de novo, e as máquinas velhas a zumbir no canto esse tempo todo. E há gente a vender saídas de emergência, camadas de tradução feitas precisamente para este problema, e os laboratórios na maioria ficam à mesma. Números ilustrativos, aritmética verdadeira, e é a aritmética que um laboratório faz antes de decidir ficar onde está. É por isso que a luta no silício da IA não é só sobre quem faz o chip mais rápido. É também sobre a montanha de código que o mundo já escreveu, e a montanha cresce todos os dias, numa só direcção. 😎

Quer mais? Um clique aprofunda.

●●●

Analogy

CUDA é a partitura, e a GPU é a orquestra. Os seus 100 músicos estão sentados e prontos, e nenhum compositor percorre a sala a dizer a cada um o que fazer; isso levaria a noite toda e estragava a peça. A partitura é a forma que fala a todos ao mesmo tempo: escrita uma vez, lida em paralelo, cada músico a encontrar a sua própria linha. Aprender a escrever para orquestra é aprender a escrever nessa forma. Dá aos mesmos 100 músicos um ensaio em prosa e não acontece nada, por mais brilhante que o ensaio seja: os músicos estão dispostos, mas a forma é a errada. É isso CUDA: não os músicos, não a música, mas a forma que o trabalho tem de tomar para chegar a cem mãos ao mesmo tempo.
●●●

Analogy

CUDA é o sistema de baterias que as tuas ferramentas eléctricas partilham. O primeiro berbequim sem fios que compras decide em silêncio as dez compras seguintes, porque a serra, a lixadeira e a roçadora encaixam todas na mesma bateria, e nenhuma encaixa nas ferramentas da outra marca. As baterias guardam a mesma electricidade. As ferramentas fazem os mesmos trabalhos. Não interessa: à quinta ferramenta já não estás a escolher ferramentas, estás a escolher ficar. Mudar de marca significa comprar tudo outra vez, por isso quase ninguém muda. É isso CUDA: cada programa escrito para ele é mais uma ferramenta na mesma bateria. 😎

Conceito novo? Um exemplo do dia a dia faz clicar — novas analogias quando quiser.

Explicações de IA podem conter erros · Não é aconselhamento profissional

Definição formal — O mesmo termo, explicado da forma habitual

CUDA (Compute Unified Device Architecture) é uma plataforma de computação paralela e um modelo de programação introduzidos pela Nvidia em 2007, compostos por suporte de compilação, extensões de linguagem para C, C++ e outras linguagens, software de execução e um extenso conjunto de bibliotecas aceleradas. Permite que programas de uso geral sejam executados através dos muitos núcleos das GPU da Nvidia, algo antes possível sobretudo por meio de interfaces gráficas. CUDA é proprietária e corre apenas em hardware da Nvidia; existem alternativas abertas como OpenCL e outros fabricantes disponibilizam as suas próprias camadas de programação, embora as bibliotecas acumuladas e a base instalada de CUDA continuem a ser as maiores. A plataforma é de utilização gratuita; o hardware a que se dirige não é.

Quer que o Clicked explique termos como “CUDA” direto no seu navegador, inclusive em PDFs?

Adicionar ao Chrome — Grátis

50 explicações grátis · Sem cartão de crédito