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 é o OpenACC?
- OpenACC vs OpenCL vs CUDA vs SYCL
- Visão geral das funcionalidades e arquitetura do OpenACC
- Configuração do ambiente de desenvolvimento
Primeiros Passos
- Criação de um projeto OpenACC no Visual Studio Code
- Exploração da estrutura do projeto e ficheiros
- Compilação e execução do programa
- Exibição de saída com printf e fprintf
Diretrizes e Cláusulas OpenACC
- Compreensão das diretrizes e cláusulas OpenACC
- Utilização de diretrizes parallel para criar regiões paralelas
- Utilização de diretrizes kernels para paralelismo gerido pelo compilador
- Utilização de diretrizes loop para paralelizar ciclos
- Gestão do movimento de dados com diretrizes data
- Sincronização de dados com diretrizes update
- Melhoria da reutilização de dados com diretrizes cache
- Criação de funções de dispositivo com diretrizes routine
- Sincronização de eventos com diretrizes wait
API OpenACC
- Compreensão do papel da API OpenACC
- Consulta de informações e capacidades do dispositivo
- Definição do número e tipo de dispositivo
- Tratamento de erros e exceções
- Criação e sincronização de eventos
Bibliotecas OpenACC e Interoperabilidade
- Compreensão das bibliotecas OpenACC e interoperabilidade
- Utilização de bibliotecas de matemática, números aleatórios e complexos
- Integração com outros modelos (CUDA, OpenMP, MPI)
- Integração com bibliotecas de GPU (cuBLAS, cuFFT)
Ferramentas OpenACC
- Compreensão das ferramentas OpenACC no desenvolvimento
- Perfil e depuração de programas OpenACC
- Análise de desempenho com PGI Compiler, NVIDIA Nsight Systems, Allinea Forge
Otimização
- Fatores que afetam o desempenho dos programas OpenACC
- Otimização da localidade de dados e redução de transferências
- Otimização do paralelismo e fusão de ciclos
- Otimização do paralelismo e fusão de kernels
- Otimização da vetorização e auto-tuning
Resumo e Próximos Passos
Requisitos
- Conhecimento 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 comandos e editores de código
Público-Alvo
- Desenvolvedores que pretendem aprender a utilizar o OpenACC para programar dispositivos heterogéneos e explorar o seu paralelismo
- Desenvolvedores que pretendem escrever código portátil e escalável, capaz de executar em diferentes plataformas e dispositivos
- Programadores que pretendem explorar os aspetos de alto nível da programação heterogénea e otimizar a produtividade do seu código
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