Programa do Curso

Introdução

  • O que é a programação GPU?
  • Por que usar CUDA com Python?
  • Conceitos-chave: Threads, Blocos, Grids

Visão Geral das Funcionalidades e Arquitetura do CUDA

  • GPU vs arquitetura de CPU
  • Entendendo SIMT (Single Instruction, Multiple Threads)
  • O modelo de programação CUDA

Configurando o Ambiente de Desenvolvimento

  • Instalando o Toolkit e drivers do CUDA
  • Instalando Python e Numba
  • Configuração e verificação do ambiente

Fundamentos de Execução Paralela Programming

  • Introdução à execução paralela
  • Entendendo threads e hierarquias de threads
  • Trabalhando com warps e sincronização

Trabalhando com o Compilador Numba

  • Introdução ao Numba
  • Escrivendo núcleos CUDA com Numba
  • Entendendo decoradores @cuda.jit

Criando um Núcleo CUDA Personalizado

  • Escrivendo e lançando um núcleo básico
  • Usando threads para operações elementares
  • Gerenciando dimensões de grid e bloco

Management Memória

  • Tipos de memória GPU (global, compartilhada, local, constante)
  • Transferência de memória entre host e dispositivo
  • Otimizando o uso da memória e evitando gargalos

Tópicos Avançados em Aceleração GPU

  • Memória compartilhada e sincronização
  • Usando streams para execução assíncrona
  • Básicos de programação multi-GPU

Convertendo Aplicações Baseadas em CPU para GPU

  • Fazendo o perfil do código da CPU
  • Identificando seções paralelizáveis
  • Migrando a lógica para núcleos CUDA

Solução de Problemas

  • Depurando aplicações CUDA
  • Erros comuns e como resolvê-los
  • Ferramentas e técnicas para teste e validação

Resumo e Próximos Passos

  • Revisão dos conceitos-chave
  • Melhores práticas em programação GPU
  • Recursos para aprendizado contínuo

Requisitos

  • Experiência em programação
  • Experiência com NumPy (ndarrays, ufuncs, etc.)

Público

  • Desenvolvedores
 14 Horas

Número de participantes


Preço por Participante

Declaração de Clientes (1)

Próximas Formações Provisórias

Categorias Relacionadas