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.
Programa do Curso
Introdução
- O que é o OpenACC?
- OpenACC vs OpenCL vs CUDA vs SYCL
- Visão geral das funcionalidades e arquitetura do OpenACC
- Configurando o ambiente de desenvolvimento
Iniciando
- Criando um projeto do OpenACC no Visual Studio Code
- Explorando a estrutura do projeto e os arquivos
- Compilando e executando o programa
- Exibindo saída com printf e fprintf
Diretivas e Cláusulas do OpenACC
- Compreendendo diretivas e cláusulas do OpenACC
- Usando diretivas paralelas para criar regiões paralelas
- Usando diretivas de kernels para paralelismo gerenciado pelo compilador
- Usando diretivas de loop para paralelizar loops
- Gestão de movimentação de dados com diretivas de dados
- Sincronização de dados com diretivas de atualização
- Melhoria da reutilização de dados com diretivas de cache
- Criação de funções de dispositivo com diretivas de rotina
- Sincronização de eventos com diretivas de espera
API do OpenACC
- Compreendendo o papel da API do OpenACC
- Consultando informações e capacidades do dispositivo
- Definindo número e tipo de dispositivo
- Lidando com erros e exceções
- Criando e sincronizando eventos
Bibliotecas e Interoperabilidade do OpenACC
- Compreendendo as bibliotecas e interoperabilidade do OpenACC
- Usando bibliotecas de matemática, aleatórias e complexas
- Integrando com outros modelos (CUDA, OpenMP, MPI)
- Integrando com bibliotecas de GPU (cuBLAS, cuFFT)
Ferramentas do OpenACC
- Compreendendo as ferramentas do OpenACC no desenvolvimento
- Perfilar e depurar programas do OpenACC
- Análise de desempenho com compilador PGI, NVIDIA Nsight Systems, Allinea Forge
Otimização
- Fatores que afetam o desempenho do programa do OpenACC
- Otimizando localidade de dados e reduzindo transferências
- Otimizando paralelismo e fusão de loops
- Otimizando paralelismo e fusão de kernels
- Otimizando vetorização e auto-ajuste
Resumo e Próximos Passos
Requisitos
- Compreensão da linguagem C/C++ ou Fortran e conceitos de programação paralela
- Conhecimento básico de arquitetura de computadores e hierarquia de memória
- Experiência com ferramentas de linha de comando e editores de código
Público-Alvo
- Desenvolvedores que desejam aprender a usar o OpenACC para programar dispositivos heterogêneos e explorar seu paralelismo
- Desenvolvedores que desejam escrever código portátil e escalável que possa ser executado em diferentes plataformas e dispositivos
- Programadores que desejam explorar os aspectos de alto nível da programação heterogênea e otimizar a produtividade do seu código
28 Horas
Treinamento Corporativo Personalizado
Soluções de treinamento projetadas 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, treinamento online ao vivo, a partir de 5200 € + VAT*
Entre em contato conosco para obter um orçamento preciso e conhecer nossas promoções mais recentes