Curso Fundamentals of Accelerated Computing with CUDA C/C++ Training
8hVisão Geral
Este curso ensina as ferramentas e técnicas fundamentais para acelerar aplicativos C/C++ para execução em GPUs massivamente paralelas com CUDA. Você aprenderá como escrever código, configurar a paralelização de código com CUDA, otimizar a migração de memória entre a CPU e o acelerador GPU e implementar o fluxo de trabalho que aprendeu em uma nova tarefa – acelerando uma partícula totalmente funcional, mas somente CPU. simulador para ganhos massivos de desempenho observáveis. Ao final do curso, você terá acesso a recursos adicionais para criar por conta própria novos aplicativos acelerados por GPU.
Objetivo
Após concluir este Curso Fundamentals of Accelerated Computing with CUDA C/C++ Training, você será capaz de:
- Escreva o código a ser executado por um acelerador GPU
- Expor e expressar dados e paralelismo em nível de instrução em aplicativos C/C++ usando CUDA
- Utilize memória gerenciada por CUDA e otimize a migração de memória usando pré-busca assíncrona
- Aproveite a linha de comando e perfis visuais para orientar seu trabalho
- Utilize fluxos simultâneos para paralelismo em nível de instrução
- Escreva aplicativos CUDA C/C++ acelerados por GPU ou refatore aplicativos existentes somente de CPU, usando uma abordagem orientada por perfil
Pre-Requisitos
- Competência básica em C/C++, incluindo familiaridade com tipos de variáveis, loops, instruções condicionais, funções e manipulações de array
- Nenhum conhecimento prévio de programação CUDA é assumido
Materiais
Inglês/Português/Lab PraticoConteúdo Programatico
- Introduction
- Accelerating Applications with CUDA C/C++
-
- Learn the essential syntax and concepts to be able to write GPU-enabled C/C++ applications with CUDA.
- Write, compile, and run GPU code.
- Control parallel thread hierarchy.
- Allocate and free memory for the GPU.
- Managing Accelerated Application Memory with CUDA C/C++
-
- Learn the command-line profiler and CUDA-managed memory, focusing on observation-driven application improvements and a deep understanding of managed memory behavior.
- Profile CUDA code with the command-line profiler.
- Go deep on unified memory.
- Optimize unified memory management.
- Asynchronous Streaming and Visual Profiling for Accelerated Applications with CUDA C/C++
-
- Identify opportunities for improved memory management and instruction-level parallelism.
- Profile CUDA code with NVIDIA Nsight Systems.
- Use concurrent CUDA streams.
- Final Review