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 21 horas
Programa do Curso
Introdução
- O que é a programação de GPU?
- Por que utilizar a programação de GPU?
- Quais são os desafios e compensações (trade-offs) da programação de GPU?
- Quais são os frameworks e ferramentas para a programação de GPU?
- Escolhendo o framework e a ferramenta adequados 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 OpenCL
- Criação de um programa OpenCL básico que realize a adição de vetores
- Utilização da API OpenCL para consultar informações do dispositivo, alocar e desalocar memória de dispositivo, copiar dados entre o anfitriã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 manipulam dados
- Utilização de funções, variáveis e bibliotecas incorporadas 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 work-items, work-groups e ND-ranges que definem o paralelismo
- Depuração e teste de programas OpenCL utilizando ferramentas como CodeXL
- Otimização de programas OpenCL utilizando técnicas como coalescing, cache, prefetching e profiling
CUDA
- O que é o CUDA?
- Quais são as vantagens e desvantagens do CUDA?
- Configuração do ambiente de desenvolvimento para CUDA
- Criação de um programa CUDA básico que realize a adição de vetores
- Utilização da API CUDA para consultar informações do dispositivo, alocar e desalocar memória de dispositivo, copiar dados entre o anfitriã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 manipulam dados
- Utilização de funções, variáveis e bibliotecas incorporadas do CUDA para executar tarefas e operações comuns
- Utilização dos espaços de memória do CUDA, como global, partilhado (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 threads, blocos e grelhas (grids) que definem o paralelismo
- Depuração e teste de programas CUDA utilizando ferramentas como CUDA-GDB, CUDA-MEMCHECK e NVIDIA Nsight
- Otimização de programas CUDA utilizando técnicas como coalescing, cache, prefetching e profiling
ROCm
- O que é o ROCm?
- Quais são as vantagens e desvantagens do ROCm?
- Configuração do ambiente de desenvolvimento para ROCm
- Criação de um programa ROCm básico que realize a adição de vetores
- Utilização da API ROCm para consultar informações do dispositivo, alocar e desalocar memória de dispositivo, copiar dados entre o anfitriã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 manipulam dados
- Utilização de funções, variáveis e bibliotecas incorporadas 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 threads, blocos e grelhas (grids) que definem o paralelismo
- Depuração e teste de programas ROCm utilizando ferramentas como ROCm Debugger e ROCm Profiler
- Otimização de programas ROCm utilizando técnicas como coalescing, cache, prefetching e profiling
HIP
- O que é o HIP?
- Quais são as vantagens e desvantagens do HIP?
- Configuração do ambiente de desenvolvimento para HIP
- Criação de um programa HIP básico que realize a adição de vetores
- Utilização da linguagem HIP para escrever kernels que são executados no dispositivo e manipulam dados
- Utilização de funções, variáveis e bibliotecas incorporadas do HIP para executar tarefas e operações comuns
- Utilização dos espaços de memória do HIP, como global, partilhado (shared), constante e local, para otimizar as transferências de dados e os acessos à memória
- Utilização do modelo de execução do HIP para controlar threads, blocos e grelhas (grids) que definem o paralelismo
- Depuração e teste de programas HIP utilizando ferramentas como ROCm Debugger e ROCm Profiler
- Otimização de programas HIP utilizando técnicas como coalescing, cache, prefetching e profiling
Comparação
- Comparação das funcionalidades, desempenho e compatibilidade de OpenCL, CUDA, ROCm e HIP
- Avaliação de programas GPU utilizando benchmarks e métricas
- Aprendizagem das melhores práticas e dicas para a programação de GPU
- Exploração das tendências atuais e futuras e desafios da programação de GPU
Resumo e Próximos Passos
Requisitos
- Compreensão da linguagem C/C++ e dos conceitos de programação paralela
- Conhecimento básico da arquitetura de computadores e da hierarquia de memória
- Experiência com ferramentas de linha de comandos e editores de código
Público-Alvo
- Desenvolvedores que desejam aprender as noções fundamentais da programação de GPU e os principais frameworks e ferramentas para o desenvolvimento de aplicações GPU
- Desenvolvedores que desejam escrever código portável e escalável que possa ser executado em diferentes plataformas e dispositivos
- Programadores que desejam explorar as vantagens e desafios da programação e otimização de GPU
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 3900 € + VAT*
Entre em contato conosco para obter um orçamento preciso e conhecer nossas promoções mais recentes