Obrigado por enviar sua consulta! Um dos membros da nossa equipe entrará em contato com você em breve.
Obrigado por enviar sua reserva! Um dos membros da nossa equipe entrará em contato com você em breve.
Duração 28 horas
Programa do Curso
Introdução
- O que é a programação de GPU?
- Porquê utilizar a programação de GPU?
- Quais são os desafios e trade-offs da programação de GPU?
- Quais são os frameworks para programação de GPU?
- Escolhendo o framework certo para a sua aplicação
OpenCL
- O que é o OpenCL?
- Quais são as vantagens e desvantagens do OpenCL?
- Configuração do ambiente de desenvolvimento para o OpenCL
- Criação de um programa básico em OpenCL que realize a soma de vetores
- Utilização da API do OpenCL para consultar informações do dispositivo, alocar e desalocar memória do dispositivo, copiar dados entre o host e o dispositivo, iniciar kernels e sincronizar threads
- Utilização da linguagem OpenCL C para escrever kernels que são executados no dispositivo e manipular dados
- Utilização das funções, variáveis e bibliotecas integradas do OpenCL para executar tarefas e operações comuns
- Utilização dos espaços de memória do OpenCL, como global, local, constante e privado, para otimizar as transferências de dados e os acessos à memória
- Utilização do modelo de execução do OpenCL para controlar os work-items, work-groups e ND-ranges que definem o paralelismo
- Depuração e teste de programas em OpenCL utilizando ferramentas como o CodeXL
- Otimização de programas em OpenCL utilizando técnicas como coalescing, caching, prefetching e profiling
CUDA
- O que é o CUDA?
- Quais são as vantagens e desvantagens do CUDA?
- Configuração do ambiente de desenvolvimento para o CUDA
- Criação de um programa básico em CUDA que realize a soma de vetores
- Utilização da API do CUDA para consultar informações do dispositivo, alocar e desalocar memória do dispositivo, copiar dados entre o host e o dispositivo, iniciar kernels e sincronizar threads
- Utilização da linguagem CUDA C/C++ para escrever kernels que são executados no dispositivo e manipular dados
- Utilização das funções, variáveis e bibliotecas integradas do CUDA para executar tarefas e operações comuns
- Utilização dos espaços de memória do CUDA, como global, shared, constante e local, para otimizar as transferências de dados e os acessos à memória
- Utilização do modelo de execução do CUDA para controlar as threads, blocos e grelhas que definem o paralelismo
- Depuração e teste de programas em CUDA utilizando ferramentas como CUDA-GDB, CUDA-MEMCHECK e NVIDIA Nsight
- Otimização de programas em CUDA utilizando técnicas como coalescing, caching, prefetching e profiling
ROCm
- O que é o ROCm?
- Quais são as vantagens e desvantagens do ROCm?
- Configuração do ambiente de desenvolvimento para o ROCm
- Criação de um programa básico em ROCm que realize a soma de vetores
- Utilização da API do ROCm para consultar informações do dispositivo, alocar e desalocar memória do dispositivo, copiar dados entre o host e o dispositivo, iniciar kernels e sincronizar threads
- Utilização da linguagem ROCm C/C++ para escrever kernels que são executados no dispositivo e manipular dados
- Utilização das funções, variáveis e bibliotecas integradas do ROCm para executar tarefas e operações comuns
- Utilização dos espaços de memória do ROCm, como global, local, constante e privado, para otimizar as transferências de dados e os acessos à memória
- Utilização do modelo de execução do ROCm para controlar as threads, blocos e grelhas que definem o paralelismo
- Depuração e teste de programas em ROCm utilizando ferramentas como ROCm Debugger e ROCm Profiler
- Otimização de programas em ROCm utilizando técnicas como coalescing, caching, prefetching e profiling
Comparação
- Comparação das funcionalidades, desempenho e compatibilidade do OpenCL, CUDA e ROCm
- Avaliação de programas de GPU utilizando benchmarks e métricas
- Aprendizagem das melhores práticas e dicas para programação de GPU
- Exploração das tendências e desafios atuais e futuros da programação de GPU
Resumo e Próximos Passos
Requisitos
- Compreensão da linguagem C/C++ e dos conceitos de programação paralela
- Conhecimentos básicos de arquitetura de computadores e hierarquia de memória
- Experiência com ferramentas de linha de comandos e editores de código
Público-Alvo
- Programadores que desejam aprender a utilizar diferentes frameworks para programação de GPUs e comparar as suas funcionalidades, desempenho e compatibilidade
- Programadores que desejam escrever código portátil e escalável que possa ser executado em diferentes plataformas e dispositivos
- Programadores que desejam explorar os trade-offs e os desafios da programação e otimização de GPUs
Formação Empresarial Personalizada
Soluções de formação concebidas exclusivamente para empresas.
- Conteúdo Personalizado: Adaptamos o programa e os exercícios práticos aos objetivos e necessidades reais do seu projeto.
- Horário Flexível: Datas e horários adaptados à agenda da sua equipe.
- Formato: Online (ao vivo), In-Company (em suas instalações) ou Híbrido.
Preço por grupo privado, formação online em direto, a partir de 5200 € + VAT*
Entre em contato conosco para obter um orçamento preciso e conhecer nossas promoções mais recentes