Como baixar o CUDA 12: um guia passo a passo
Se você é um desenvolvedor, pesquisador ou entusiasta que deseja criar aplicativos acelerados por GPU de alto desempenho, pode estar interessado em baixar e instalar a versão mais recente do CUDA, a plataforma de computação paralela e modelo de programação desenvolvido pela NVIDIA. Neste artigo, explicaremos o que é CUDA, por que você precisa dele, o que há de novo no CUDA 12 e como baixá-lo e instalá-lo em seu sistema.
O que é CUDA e por que você precisa dele
CUDA: uma plataforma de computação paralela e um modelo de programação
CUDA significa Compute Unified Device Architecture. É uma plataforma que permite aos desenvolvedores usar o poder das GPUs NVIDIA para acelerar seus aplicativos. CUDA fornece um conjunto de ferramentas, bibliotecas e APIs que permitem aos programadores escrever código em C, C++, Fortran, Python ou outras linguagens e executá-lo em GPUs com milhares de núcleos paralelos.
cuda download 12
CUDA também oferece suporte a vários modelos de programação paralela, como OpenACC, OpenMP, MPI, Kokkos, RAJA, SYCL e outros. Esses modelos permitem que os desenvolvedores escrevam código portátil e escalável que pode ser executado em diferentes plataformas e arquiteturas.
Benefícios CUDA: acelere seus aplicativos com poder de GPU
Ao usar CUDA, você pode aproveitar o paralelismo maciço de GPUs para acelerar seus aplicativos em vários domínios, como inteligência artificial, aprendizado de máquina, visão computacional, processamento de imagem, computação científica, jogos, renderização e muito mais. As GPUs podem executar muitas operações simultaneamente, o que as torna ideais para tarefas que exigem computação intensiva ou processamento de dados.
Alguns dos benefícios de usar CUDA são:
Desempenho aprimorado: você pode obter tempos de execução mais rápidos e maior taxa de transferência descarregando partes de seu código com uso intensivo de computação para GPUs.
Maior produtividade: você pode usar linguagens e ferramentas de programação familiares para escrever código acelerado por GPU sem ter que aprender detalhes de hardware de baixo nível.
Portabilidade aprimorada: você pode executar seu código CUDA em qualquer GPU NVIDIA compatível com a arquitetura CUDA, de desktops e laptops a servidores e supercomputadores.
Ecossistema expandido: você pode acessar um rico conjunto de recursos e suporte da NVIDIA e da comunidade CUDA, como documentação, tutoriais, código de amostra, fóruns, webinars, cursos de treinamento, pacotes de código aberto e muito mais.
O que há de novo no CUDA 12
Suporte para arquiteturas NVIDIA Hopper e Ada Lovelace
O CUDA 12 apresenta suporte para as arquiteturas NVIDIA Hopper e Ada Lovelace, que são as famílias de GPU da próxima geração que alimentarão futuros dispositivos de jogos e computação de alto desempenho. Essas arquiteturas oferecem novos recursos e capacidades que permitirão aos desenvolvedores criar aplicativos mais avançados e eficientes.
Alguns dos destaques dessas arquiteturas são:
Tensor Cores e Transformer Engine de última geração: esses componentes fornecem desempenho mais rápido e preciso para cargas de trabalho de aprendizado profundo, como processamento de linguagem natural, reconhecimento de fala, visão computacional, sistemas de recomendação e muito mais.
Sistema de switch NVLink de alta velocidade: esse recurso permite que várias GPUs se comuniquem entre si em larguras de banda altas e latências baixas, permitindo transferência de dados mais rápida e melhor escalabilidade.
Modos de precisão mistos: esses modos permitem que os desenvolvedores escolham o nível de precisão ideal para seus aplicativos, equilibrando precisão e desempenho.
GPU de várias instâncias de 2ª geração: esse recurso permite que uma única GPU seja particionada em várias instâncias, cada uma com seus próprios recursos de memória, computação e largura de banda, permitindo melhor utilização e isolamento.
Suporte para processadores Arm Server
O CUDA 12 também adiciona suporte para processadores de servidor Arm, que são amplamente usados em ambientes de computação em nuvem, de borda e integrados. Os processadores Arm oferecem baixo consumo de energia, alto desempenho e escalabilidade para vários aplicativos.Ao combinar os processadores Arm com as GPUs NVIDIA, os desenvolvedores podem criar soluções mais eficientes em termos de energia e econômicas.
Alguns dos benefícios de usar o CUDA on Arm são:
Ambiente de desenvolvimento unificado: você pode usar as mesmas ferramentas e bibliotecas CUDA para escrever e executar código nas plataformas x86 e Arm, simplificando o processo de desenvolvimento e reduzindo a necessidade de portabilidade de código.
Desempenho otimizado: você pode aproveitar a integração nativa entre processadores Arm e GPUs NVIDIA, que permite transferência de dados mais rápida e menor latência.
Opções flexíveis de implantação: você pode escolher entre uma variedade de configurações de hardware e fornecedores que oferecem servidores baseados em Arm com GPUs NVIDIA, como instâncias AWS Graviton2, servidores Ampere Altra, servidores Marvell ThunderX2 e muito mais.
Módulo lento e carregamento do kernel
O CUDA 12 apresenta um novo recurso chamado carregamento lento de módulo e kernel, que permite aos desenvolvedores adiar o carregamento de módulos e kernels CUDA até que sejam realmente necessários. Isso pode melhorar o tempo de inicialização e o uso de memória dos aplicativos CUDA, especialmente quando eles usam muitos módulos ou kernels que nem sempre são necessários.
Alguns dos benefícios de usar o módulo lento e o carregamento do kernel são:
Inicialização mais rápida: você pode evitar o carregamento de módulos e kernels desnecessários no início de seu aplicativo, reduzindo o tempo de inicialização e a sobrecarga.
Menor consumo de memória: você pode reduzir o consumo de memória de seu aplicativo carregando apenas os módulos e kernels que são realmente usados.
Melhor modularidade: você pode organizar seu código em módulos menores e mais gerenciáveis que são carregados sob demanda, melhorando a legibilidade e a manutenção do código.
APIs de paralelismo dinâmico renovadas
O CUDA 12 também renova as APIs de paralelismo dinâmico, que permitem aos desenvolvedores lançar novos kernels de GPU a partir dos kernels de GPU existentes. Isso pode simplificar a lógica de programação e melhorar o desempenho de aplicativos que requerem algoritmos recursivos ou adaptativos.
Algumas das melhorias nas APIs de paralelismo dinâmico são:
Sintaxe simplificada: você pode usar uma nova macro chamada CUDA_DYNAMIC_PARALLELISM para marcar um kernel como dinamicamente paralelizável, sem ter que especificar quaisquer parâmetros ou atributos adicionais.
Tratamento de erros aprimorado: você pode usar uma nova função de API chamada cudaGetLastErrorFromParent para recuperar o código de erro de um kernel pai que lançou um kernel filho, facilitando a depuração e o tratamento de erros.
Melhor interoperabilidade: você pode usar o paralelismo dinâmico com outros recursos CUDA, como grupos cooperativos, memória unificada, fluxos, eventos, gráficos e muito mais.
Melhorias na API de gráficos CUDA
O CUDA 12 também aprimora a API CUDA Graphs, que permite aos desenvolvedores capturar e executar uma sequência de operações CUDA como um gráfico. Um gráfico é uma estrutura de dados que representa as dependências e a ordem de execução das operações CUDA. Usando gráficos, os desenvolvedores podem otimizar o fluxo de execução e o desempenho de seus aplicativos.
Algumas das melhorias na API de gráficos CUDA são:
Novos tipos de gráficos: Você pode criar dois novos tipos de gráficos: gráficos estáticos e gráficos dinâmicos. Os gráficos estáticos são imutáveis e podem ser executados repetidamente sem nenhuma alteração. Gráficos dinâmicos são mutáveis e podem ser modificados ou atualizados durante a execução.
Novas operações gráficas: você pode executar várias operações em gráficos, como clonagem, mesclagem, divisão, corte, adição de nós, remoção de nós, consulta de atributos e muito mais.
Novos modos de inicialização de gráfico: você pode iniciar gráficos em dois modos diferentes: modo síncrono e modo assíncrono. O modo síncrono bloqueia o thread do host até que a execução do gráfico seja concluída. O modo assíncrono retorna o controle ao thread do host imediatamente após iniciar o gráfico.
Bibliotecas otimizadas para desempenho
O CUDA 12 também atualiza várias bibliotecas CUDA que fornecem implementações de alto desempenho de algoritmos e funções comuns para vários domínios.Essas bibliotecas são otimizadas para GPUs NVIDIA e oferecem APIs fáceis de usar para desenvolvedores. Algumas das bibliotecas atualizadas são:
CUBLAS: Uma biblioteca para sub-rotinas básicas de álgebra linear (BLAS), como multiplicação de matrizes, operações vetoriais, fatoração de matrizes, etc.
CUFFT: Uma biblioteca para transformada rápida de Fourier (FFT), que converte dados entre domínio de tempo e domínio de frequência, o que é útil para processamento de sinal, processamento de imagem, etc.
CURAND: Uma biblioteca para geração de números aleatórios (RNG), que produz números pseudo-aleatórios e quase-aleatórios de alta qualidade para várias distribuições, como uniforme, normal, Poisson, etc.
CUSPARSE: Uma biblioteca para operações com matrizes esparsas, como multiplicação matriz-vetor, adição matriz-matriz, fatoração de matriz, etc.
CUSOLVER: Uma biblioteca para resolver sistemas lineares, problemas de valores próprios, decomposição de valores singulares e outros problemas numéricos.
NPP: Uma biblioteca para processamento de imagem e vídeo, como conversão de cores, filtragem, redimensionamento, compactação, etc.
NVJPEG: Uma biblioteca para codificação e decodificação JPEG, que suporta modos de linha de base e progressivo, bem como vários formatos de cores.
cuDNN: Uma biblioteca para primitivas de rede neural profunda (DNN), como convolução, agrupamento, ativação, normalização, etc.
cuML: Uma biblioteca para algoritmos de aprendizado de máquina (ML), como regressão linear, regressão logística, agrupamento k-means, análise de componentes principais, etc.
Novos recursos da ferramenta do desenvolvedor
O CUDA 12 também apresenta novos recursos e aprimoramentos às ferramentas de desenvolvedor CUDA, que ajudam os desenvolvedores a escrever, depurar, otimizar e implantar seus aplicativos CUDA. Algumas das ferramentas atualizadas são:
NVIDIA Nsight Systems: Uma ferramenta para análise e visualização de desempenho em todo o sistema, que ajuda os desenvolvedores a identificar e resolver gargalos de desempenho e otimizar a utilização de recursos.
NVIDIA Nsight Compute: Uma ferramenta para criação de perfil e depuração do kernel da GPU, que ajuda os desenvolvedores a analisar e otimizar o desempenho e o comportamento de seus kernels CUDA.
NVIDIA Nsight Graphics: Uma ferramenta para depuração e otimização de gráficos, que ajuda os desenvolvedores a depurar e otimizar seus aplicativos gráficos que usam DirectX, OpenGL, Vulkan ou outras APIs.
NVIDIA Nsight Visual Studio Edition: uma ferramenta que integra o desenvolvimento CUDA no Microsoft Visual Studio IDE, que ajuda os desenvolvedores a escrever, construir, depurar e executar seus aplicativos CUDA no Visual Studio.
NVIDIA Nsight Code Assist: uma ferramenta que fornece conclusão de código e recursos de navegação para código CUDA C++ no editor de código do Visual Studio.
NVIDIA Nsight Integration: Uma ferramenta que permite a integração perfeita das ferramentas NVIDIA Nsight com outras ferramentas e estruturas de desenvolvimento populares, como TensorFlow, PyTorch, CMake, Docker, etc.
Como baixar e instalar o CUDA 12
Verifique os requisitos do seu sistema
Antes de baixar e instalar o CUDA 12 em seu sistema, certifique-se de que seu sistema atenda aos seguintes requisitos:
Você tem uma GPU NVIDIA compatível com a arquitetura CUDA. Você pode verificar a lista de GPUs suportadas .
Você tem um driver compatível para sua GPU NVIDIA. Você pode verificar os requisitos da versão do driver .
Você tem um sistema operacional compatível. CUDA 12 suporta Windows 10 (64 bits), Linux (64 bits) e macOS (64 bits).
Você tem um compilador compatível. CUDA 12 suporta Microsoft Visual Studio 2019 (Windows), GCC 7.x-11.x (Linux), Clang 11.x-13.x (Linux), Xcode 12.x-13.x (macOS) e outros.
Escolha sua plataforma de destino e sistema operacional
Depois de verificar os requisitos do sistema, você precisa escolher a plataforma de destino e o sistema operacional na lista . Você pode selecionar entre as seguintes opções:
PlataformaSistema operacionalTipo de download
janelasWindows 10 (64 bits)Instalador local ou instalador de rede
LinuxUbuntu 18.04/20.04 LTS (64 bits)Deb(local) ou Deb(rede)
LinuxFedora 32/33/34 (64 bits)RPM(local) ou RPM(rede)
LinuxRHEL/CentOS 7/8 (64 bits)RPM(local) ou RPM(rede)
LinuxSLES 15 SP2/SP3 (64 bits)RPM(local) ou RPM(rede)
Mac OSmacOS 10.15/11.0/11.1/11.2/11.3/11.4/11.5 (64 bits)Instalador DMG
Você também pode baixar o CUDA Toolkit como um arquivo tar ou um arquivo de execução para Linux ou como um arquivo iso para Windows.
Baixe o instalador do kit de ferramentas CUDA
Depois de escolher sua plataforma de destino e sistema operacional, você precisa baixar o instalador CUDA Toolkit do . Dependendo do tipo de download, você obterá um nome e tamanho de arquivo diferentes. Por exemplo, se você escolher o Windows 10 (64 bits) e o Instalador Local, obterá um arquivo chamado cuda_12.0.130_win10_local.exe com um tamanho de cerca de 2,7 GB.
Você também pode baixar as amostras CUDA, a documentação CUDA e as ferramentas CUDA separadamente na mesma página ou como parte do instalador.
Execute o instalador e siga as instruções
Depois de baixar o instalador do CUDA Toolkit, você precisa executá-lo e seguir as instruções na tela. O processo de instalação pode variar um pouco dependendo de sua plataforma e sistema operacional, mas geralmente envolve as seguintes etapas:
Aceite o contrato de licença e escolha o tipo de instalação (Expressa ou Personalizada).
Selecione os componentes que deseja instalar, como CUDA Driver, CUDA Runtime, CUDA Development, CUDA Samples, etc.
Selecione o local de instalação e as opções, como adicionar CUDA à sua variável de ambiente PATH ou criar atalhos na área de trabalho.
Aguarde a conclusão da instalação e clique em Concluir.
Verifique sua instalação
Depois de instalar o CUDA Toolkit em seu sistema, você pode verificar se ele funciona corretamente executando alguns testes e exemplos. Você pode fazer isso seguindo estas etapas:
Abra uma janela de terminal ou prompt de comando e digite nvidia-smi para verificar as informações do driver NVIDIA e da GPU.
Tipo nvcc -V para verificar a versão do compilador CUDA.
Navegue até o diretório onde você instalou o CUDA Samples (geralmente C:\ProgramData\NVIDIA Corporation\CUDA Samples\v12.0 no Windows ou /usr/local/cuda/samples no Linux/macOS) e crie-os digitando fazer (Linux/macOS) ou abrindo e construindo o arquivo da solução (Windows).
Execute alguns dos programas de amostra, como deviceQuery, teste de largura de banda, ou vetorAdicionar, para testar a funcionalidade e o desempenho de sua GPU.
Se tudo funcionar bem, você deverá ver mensagens como PASSADO, SUCESSO, ou Resultado = APROVADO. Se você encontrar quaisquer erros ou falhas, você pode consultar o para ajuda.
Conclusão
Neste artigo, explicamos o que é CUDA, por que você precisa dele, o que há de novo no CUDA 12 e como baixá-lo e instalá-lo em seu sistema. Esperamos que este guia tenha ajudado você a começar com o desenvolvimento CUDA e aproveitar os benefícios da aceleração de GPU para seus aplicativos.
Se você tiver alguma dúvida ou feedback, sinta-se à vontade para deixar um comentário abaixo ou entre em contato conosco através do nosso . Gostaríamos muito de ouvir de você!
perguntas frequentes
Qual é a diferença entre CUDA e cuDNN?
CUDA é uma plataforma de computação paralela de uso geral e modelo de programação que permite aos desenvolvedores usar GPUs NVIDIA para vários aplicativos. cuDNN é uma biblioteca específica que fornece primitivas aceleradas por GPU para operações de rede neural profunda (DNN), como convolução, agrupamento, ativação, normalização, etc. cuDNN é construído sobre CUDA e requer CUDA para ser executado.
Como faço para atualizar minha versão CUDA?
Para atualizar sua versão CUDA, você precisa baixar e instalar a versão mais recente do CUDA Toolkit do .
Como faço para desinstalar o CUDA?
Para desinstalar o CUDA, você precisa executar o programa de desinstalação que acompanha o instalador do CUDA Toolkit. Você pode encontrá-lo no diretório de instalação ou no menu Iniciar (Windows) ou no /usr/local/cuda/bin diretório (Linux/macOS). Você também pode usar o cuda-uninstaller comando (Linux/macOS) ou o Adicionar ou remover programas recurso (Windows) para desinstalar o CUDA.
Como verifico se o CUDA está funcionando?
Para verificar se o CUDA está funcionando, você pode executar algumas das amostras CUDA que acompanham o CUDA Toolkit. Esses são programas que demonstram vários recursos e funções do CUDA. Você pode encontrá-los no diretório de instalação ou no menu Iniciar (Windows) ou no /usr/local/cuda/samples diretório (Linux/macOS). Você também pode criá-los e executá-los na linha de comando ou no seu IDE. Se o CUDA estiver funcionando, você deverá ver mensagens como PASSADO, SUCESSO, ou Resultado = APROVADO. Se você encontrar quaisquer erros ou falhas, você pode consultar o para ajuda.
Onde posso aprender mais sobre CUDA?
Se você quiser saber mais sobre CUDA, pode visitar os seguintes recursos:
: a documentação oficial do CUDA, que inclui guias, referências, tutoriais e muito mais.
: o site oficial da CUDA, que inclui notícias, eventos, blogs, vídeos, webinars, cursos de treinamento e muito mais.
: os fóruns oficiais para desenvolvedores CUDA, onde você pode fazer perguntas, compartilhar ideias e obter suporte da NVIDIA e da comunidade CUDA.
: O repositório GitHub oficial para CUDA, onde você pode encontrar projetos de código aberto, amostras, bibliotecas e ferramentas relacionadas a CUDA.
0517a86e26
Comments