O Que É CUDA?

por Fred Oh

CUDA é uma plataforma de computação paralela e modelo de programação criado pela NVIDIA. Com mais de 20 milhões de downloads até o momento, o CUDA ajuda os desenvolvedores a acelerar suas aplicações aproveitando o poder dos aceleradores de GPU.

Além de acelerar a computação de alto desempenho (HPC) e aplicações de pesquisa, o CUDA também foi amplamente adotado em ecossistemas industriais e de consumo.

Por exemplo, as empresas farmacêuticas usam o CUDA para descobrir novos tratamentos promissores. Os carros usam o CUDA para aumentar a condução autônoma. Tanto as lojas físicas quanto as online usam o CUDA para analisar as compras dos clientes e os dados dos compradores para fazer recomendações e colocar anúncios.

Então, O Que É CUDA?

Algumas pessoas confundem o CUDA, lançado em 2006, com uma linguagem de programação ou talvez uma API. Com mais de 150 bibliotecas baseadas em CUDA, SDKs e ferramentas de criação de perfil e otimização, ele representa muito mais do que isso.

Estamos constantemente inovando. Milhares de aplicações aceleradas por GPU são construídas na plataforma de computação paralela NVIDIA CUDA. A flexibilidade e a programabilidade do CUDA o tornaram a plataforma de escolha para pesquisar e implantar novos algoritmos de deep learning e computação paralela.

O CUDA também torna mais fácil para os desenvolvedores tirar proveito de todas as inovações mais recentes de arquitetura de GPU, como encontrado em nossa arquitetura de GPU NVIDIA Ampere.

Da esquerda para a direita, de cima para baixo: GPU NVIDIA Ampere, MIG, Tensor Cores, RT Cores, dispersão estrutural e NVLink.

Como Você Usa o CUDA?

Com o CUDA, os desenvolvedores escrevem programas usando uma lista cada vez maior de linguagens suportadas que inclui C, C++, Fortran, Python e MATLAB, e incorporam extensões para essas linguagens na forma de algumas palavras-chave básicas.

Essas palavras-chave permitem que o desenvolvedor expresse grandes quantidades de paralelismo e direcione o compilador (ou intérprete) para essas partes da aplicação em aceleradores de GPU.

O exemplo simples abaixo mostra como um programa C padrão pode ser acelerado usando CUDA.

Sample code - standard C code on the left, C with CUDA extensions on the right.

Introdução ao CUDA

Aprender a programar usando o modelo de programação paralela CUDA é fácil. Há vídeos e exercícios de auto-estudo no site NVIDIA Developer.

O Kit de Ferramenta CUDA inclui bibliotecas aceleradas por GPU, um compilador, ferramentas de desenvolvimento e o tempo de execução do CUDA. Além de kits de ferramentas para C, C++ e Fortran, há toneladas de bibliotecas otimizadas para GPUs e outras abordagens de programação, como os compiladores baseados em diretivas OpenACC.

Para aumentar o desempenho em vários domínios de aplicações, de IA a HPC, os desenvolvedores podem aproveitar o NVIDIA CUDA-X, uma coleção de bibliotecas, ferramentas e tecnologias construídas sobre o CUDA.

Confira e compartilhe como você está usando o CUDA para promover seu trabalho.