Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Programa do Curso
Introdução
- O que é o ROCm?
- O que é HIP?
- ROCm vs CUDA vs OpenCL
- Visão geral das características e arquitetura da ROCm e da HIP
- ROCm vs HIP vs ROCm for Windows vs ROCm para Linux
Instalação
- Instalação do ROCm no Windows
- Verificar a instalação e verificar a compatibilidade do dispositivo
- Atualizar ou desinstalar o ROCm no Windows
- Resolução de problemas comuns de instalação
Primeiros passos
- Criar um novo projeto ROCm utilizando o código Visual Studio no Windows
- Explorar a estrutura e os ficheiros do projeto
- Compilar e executar o programa
- Exibindo a saída usando printf e fprintf
API do ROCm
- Utilizar a API do ROCm no programa anfitrião
- Consulta de informações e capacidades do dispositivo
- Atribuição e desalocação da memória do dispositivo
- Cópia de dados entre o anfitrião e o dispositivo
- Lançamento de kernels e sincronização de threads
- Tratamento de erros e excepções
Linguagem HIP
- Utilizar a linguagem HIP no programa do dispositivo
- Escrever kernels que executam no GPU e manipulam dados
- Utilizar tipos de dados, qualificadores, operadores e expressões
- Utilização de funções incorporadas, variáveis e bibliotecas
Modelo de memória ROCm e HIP
- Utilização de diferentes espaços de memória, como global, partilhada, constante e local
- Utilização de diferentes objectos de memória, tais como ponteiros, arrays, texturas e superfícies
- Utilização de diferentes modos de acesso à memória, como apenas leitura, apenas escrita, leitura-escrita, etc.
- Utilização do modelo de consistência de memória e de mecanismos de sincronização
Modelo de execução ROCm e HIP
- Utilização de diferentes modelos de execução, como threads, blocos e grelhas
- Utilização de funções de thread, como hipThreadIdx_x, hipBlockIdx_x, hipBlockDim_x, etc.
- Usando funções de bloco, como __syncthreads, __threadfence_block, etc.
- Utilização de funções de grelha, como hipGridDim_x, hipGridSync, grupos cooperativos, etc.
Depuração
- Depuração dos programas ROCm e HIP no Windows
- Utilizar o depurador de código Visual Studio para inspecionar variáveis, pontos de interrupção, pilha de chamadas, etc.
- Utilização do depurador ROCm para depurar programas ROCm e HIP em dispositivos AMD
- Usando o ROCm Profiler para analisar programas ROCm e HIP em dispositivos AMD
Otimização
- Otimização de programas ROCm e HIP no Windows
- Uso de técnicas de coalescência para melhorar o rendimento da memória
- Uso de técnicas de cache e pré-busca para reduzir a latência da memória
- Utilização de memória partilhada e técnicas de memória local para otimizar os acessos à memória e a largura de banda
- Usar ferramentas de criação de perfil e de criação de perfil para medir e melhorar o tempo de execução e a utilização de recursos
Resumo e próximo passo
Requisitos
- Conhecimento 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 comando e editores de código
- Familiaridade com o sistema operativo Windows e o PowerShell
Público-alvo
- Programadores que pretendam aprender a instalar e utilizar o ROCm no Windows para programar AMD GPUs e explorar o seu paralelismo
- Desenvolvedores que desejam escrever código de alto desempenho e escalável que pode ser executado em diferentes dispositivos AMD
- Programadores que desejam explorar os aspectos de baixo nível da programação GPU e otimizar o desempenho do seu código
21 horas
Declaração de Clientes (2)
Muito interativo com vários exemplos, com uma boa progressão de complexidade entre o início e o fim da formação.
Jenny - Andheo
Curso - GPU Programming with CUDA and Python
Machine Translated
A energia e o humor dos formadores.
Tadeusz Kaluba - Nokia Solutions and Networks Sp. z o.o.
Curso - NVIDIA GPU Programming - Extended
Machine Translated