Este workshop cobre as ferramentas e técnicas fundamentais necessárias para acelerar aplicações C/C++ ou Fortran para rodar em GPUs amplamente paralelas com OpenACC. Você aprenderá como escrever código, configurar a paralelização de código com OpenACC, otimizar os movimentos de memória entre a CPU e o acelerador de GPU e implementar o workflow que você aprendeu em uma nova tarefa, acelerando um código da Equação de Calor de Laplace totalmente funcional, mas apenas com CPU, para ganhos de desempenho massivos. No final do workshop, você terá acesso a recursos adicionais para criar novas aplicações aceleradas por GPU por conta própria.

 

Objetivos de Aprendizado


Ao participar deste workshop, você terá uma compreensão das ferramentas e técnicas fundamentais para aplicações C/C++ ou Fortran de aceleração de GPU com OpenACC e será capaz de:
  • Criar o perfil e otimize suas aplicações apenas para CPU para identificar pontos de acesso para aceleração.
  • Usar as diretivas OpenACC para acelerar sua base de código por GPU.
  • Otimizar a movimentação de dados entre a CPU e o acelerador GPU.

Faça download da planilha de dados do workshop (PDF 80.3 KB)

Workshop Outline

Introdução
(15 minutos)
Introdução à Programação Paralela
(50 minutos)
Aprenda sobre paralelismo de forma conceitual, bem como expressá-lo com OpenACC. Os tópicos que serão cobertos são os seguintes:
  • Introdução ao paralelismo
  • Os objetivos do OpenACC
  • Paralelização básica de código usando OpenACC
Intervalo (10 minutos)
Criação de Perfis com OpenACC
(50 minutos)
Aprenda como construir e compilar um código OpenACC, a importância da criação de perfil e como usar o criador de perfil de sistemas NVIDIA Nsight. Os tópicos que serão cobertos são os seguintes:
  • Compilar código sequencial e OpenACC
  • A importância do perfil de código
  • Criação de perfil sequencial e código multicore OpenACC
  • Introdução técnica ao código usado nos módulos introdutórios
Intervalo (45 minutos)
Introdução às Diretivas OpenACC
(50 minutos)
Aprenda como paralelizar seu código com as diretivas OpenACC e compreender as diferenças entre as diretivas paralelo, kernel e loop. Os tópicos que serão cobertos são os seguintes:
  • A diretiva paralela
  • A diretiva Kernels
  • A diretiva Loop
Intervalo (10 minutos)
Programação de GPU com OpenACC
(50 minutos)
Aprenda sobre as diferenças entre GPUs e CPUs multicore e gerencie a memória com a Memória Unificada CUDA. Os tópicos que serão cobertos são os seguintes::
  • Definição de GPU
  • Gerenciamento de dados OpenACC básico
  • Memória Unificada CUDA
  • Criação de perfis de aplicações de GPU
Intervalo (15 minutos)
Gerenciamento de Dados com OpenACC
(50 minutos)
Aprenda a gerenciar explicitamente a movimentação de dados com as diretivas de dados OpenACC para reduzir as transferências de dados. Os tópicos que serão cobertos são os seguintes:
  • Diretriz/cláusulas de dados OpenACC
  • Região de dados estruturados OpenACC
  • Região de dados não estruturados OpenACC
  • Diretiva de atualização OpenACC
  • Gerenciamento de dados com Estruturas/Classes C/C++
Intervalo (10 minutos)
Otimizações de Loop com OpenACC
(50 minutos)
Conheça os vários níveis de paralelismo em uma GPU e aprenda sobre maneiras de extrair mais paralelismo com OpenACC otimizando loops em seu código. Os tópicos que serão cobertos são os seguintes:
  • Cláusula Seq/Auto
  • Cláusula independente
  • Cláusula de redução
  • Cláusula de recolhimento
  • Cláusula de telha
  • Gang, Worker, Vetor
Intervalo (10 minutos)
Revisão Final
(60 minutos)
  • Revise os principais aprendizados e responda a perguntas.
  • Conclua a avaliação e ganhe um certificado.
  • Complete a pesquisa do workshop.
Próximos Passos Continue aprendendo com estes treinamentos DLI:
 

Detalhes do Workshop

Duração: 8 horas

Valor: Fale conosco

Pré-requisitos:

  • Conhecimento básico em C/C++ ou Fortran, incluindo familiaridade com tipos de variáveis, loops, declarações condicionais, funções e manipulações de array.
  • Nenhum conhecimento prévio de programação GPU é necessário.

Ferramentas, bibliotecas e frameworks: NVIDIA® Nsight, OpenACC

Tipo de Avaliação:

  • Baseado em código

Certificado: Após a conclusão bem-sucedida da avaliação, os participantes receberão um certificado NVIDIA DLI para reconhecer sua competência no assunto e apoiar o crescimento da carreira profissional.

Requisitos de Hardware: Computador desktop ou laptop capaz de executar a versão mais recente do Chrome ou Firefox. Cada participante receberá acesso dedicado a uma workstation acelerada por GPU totalmente configurada no cloud.

Idioma: Inglês

Se sua empresa está interessada em impulsionar e desenvolver habilidades importantes em AI, ciência de dados acelerada ou computação acelerada, você pode solicitar o treinamento com um instrutor do NVIDIA DLI.

Perguntas?