Curso de Programación NVIDIA GPU - Extended
Este curso cubre cómo programar GPU para cómputo paralelo, cómo usar varias plataformas, cómo trabajar con la plataforma CUDA y sus características, y cómo realizar diversas técnicas de optimización usando CUDA. Algunas de las aplicaciones incluyen aprendizaje profundo, análisis, procesamiento de imágenes y aplicaciones de ingeniería.
Programa del Curso
Introducción
Comprender los fundamentos de la metodología de computación heterogénea
¿Por qué la computación paralela? Comprender la necesidad de computación en paralelo
Procesadores multinúcleo: arquitectura y diseño
Introducción a Threads, Thread Basics y Conceptos básicos de programación paralela
Comprender los fundamentos de los procesos de optimización de software GPU
OpenMP - Un estándar para la programación paralela basada en directivas
Manos a la obra / Demostración de varios programas en máquinas multinúcleo
Introducción a la computación GPU
GPU para Computación Paralela
Modelo de programación de GPU
Manos a la obra / Demostración de varios programas en GPU
SDK, Toolkit e instalación de entorno para GPU
Trabajando con varias bibliotecas
Demostración de GPU y herramientas con ejemplos de programas y OpenACC
Comprender el modelo de programación CUDA
Aprendiendo la arquitectura CUDA
Explorando y configurando los entornos de desarrollo de CUDA
Trabajando con la API CUDA Runtime
Comprender el modelo de memoria CUDA
Explorando características adicionales de API CUDA
Acceder a la memoria global de manera eficiente en CUDA: Optimización de la memoria global
Optimización de transferencias de datos en CUDA usando flujos CUDA
Usando la memoria compartida en CUDA
Comprender y usar operaciones e instrucciones atómicas en CUDA
Estudio de caso: procesamiento básico de imágenes digitales con CUDA
Trabajando con Programación Multi-GPU
Perfiles avanzados de hardware y muestreo en NVIDIA / CUDA
Uso de la API de paralelismo dinámico de CUDA para el lanzamiento dinámico del kernel
Resumen y conclusión
Requerimientos
- C Programación
- GCC de Linux
Los cursos de formación abiertos requieren más de 5 participantes.
Curso de Programación NVIDIA GPU - Extended - Booking
Curso de Programación NVIDIA GPU - Extended - Enquiry
Programación NVIDIA GPU - Extended - Consultas
Consultas
Testimonios (1)
Entrenadores, energía y humor.
Tadeusz Kaluba - Nokia Solutions and Networks Sp. z o.o.
Curso - NVIDIA GPU Programming - Extended
Traducción Automática
Próximos cursos
Cursos Relacionados
AMD GPU Programming
28 HorasEsta capacitación en vivo dirigida por un instructor en Peru (en línea o en el sitio) está dirigida a desarrolladores de nivel principiante a intermedio que deseen usar ROCm y HIP para programar AMD GPU y explotar su paralelismo.
Al final de esta capacitación, los participantes serán capaces de:
- Configure un entorno de desarrollo que incluya la plataforma ROCm, un código AMD GPU y Visual Studio.
- Cree un programa ROCm básico que realice la suma de vectores en GPU y recupere los resultados de la memoria GPU.
- Utilice la API ROCm para consultar la información del dispositivo, asignar y desasignar la memoria del dispositivo, copiar datos entre el host y el dispositivo, iniciar kernels y sincronizar subprocesos.
- Utilice el lenguaje HIP para escribir kernels que se ejecuten en el GPU y manipulen los datos.
- Utilice las funciones, variables y bibliotecas integradas de HIP para realizar tareas y operaciones comunes.
- Utilice los espacios de memoria ROCm y HIP, como global, compartido, constante y local, para optimizar las transferencias de datos y los accesos a la memoria.
- Utilice los modelos de ejecución ROCm y HIP para controlar los subprocesos, los bloques y las cuadrículas que definen el paralelismo.
- Depure y pruebe programas ROCm y HIP utilizando herramientas como ROCm Debugger y ROCm Profiler.
- Optimice los programas ROCm y HIP mediante técnicas como la fusión, el almacenamiento en caché, la captura previa y la creación de perfiles.
Administration of CUDA
35 HorasEsta capacitación en vivo dirigida por un instructor en Peru (en línea o en el sitio) está dirigida a administradores de sistemas de nivel principiante y profesionales de TI que deseen instalar, configurar, administrar y solucionar problemas de entornos CUDA.
Al final de esta capacitación, los participantes serán capaces de:
- Comprender la arquitectura, los componentes y las capacidades de CUDA.
- Instalar y configurar entornos CUDA.
- Gestione y optimice los recursos de CUDA.
- Depurar y solucionar problemas comunes de CUDA.
GPU Programming with CUDA and Python
14 HorasEsta formación impartida por un instructor en Peru (en línea o presencial) está dirigida a desarrolladores de nivel intermedio que deseen utilizar CUDA para construir aplicaciones Python que se ejecuten en paralelo en tarjetas NVIDIA GPU.
Al final de esta capacitación, los participantes serán capaces de:
- Utilizar el compilador Numba para acelerar aplicaciones Python que se ejecutan en GPUs de NVIDIA.
- Crear, compilar y lanzar kernels CUDA personalizados.
- Gestionar la memoria de GPU.
- Convertir una aplicación basada en CPU en una aplicación acelerada por GPU.
Introduction to GPU Programming
21 HorasEsta capacitación en vivo dirigida por un instructor en Peru (en línea o en el sitio) está dirigida a desarrolladores de nivel principiante a intermedio que deseen aprender los conceptos básicos de la programación GPU y los principales marcos y herramientas para desarrollar aplicaciones GPU.
- Al final de esta capacitación, los participantes serán capaces de:
Comprender la diferencia entre la CPU y la computación GPU y los beneficios y desafíos de la programación GPU. - Elija el marco y la herramienta adecuados para su aplicación GPU.
- Cree un programa básico GPU que realice la suma de vectores utilizando uno o más de los marcos y herramientas.
- Utilice las API, los lenguajes y las bibliotecas respectivos para consultar la información del dispositivo, asignar y desasignar la memoria del dispositivo, copiar datos entre el host y el dispositivo, iniciar kernels y sincronizar subprocesos.
- Utilice los espacios de memoria respectivos, como global, local, constante y privado, para optimizar las transferencias de datos y los accesos a la memoria.
- Utilice los modelos de ejecución respectivos, como elementos de trabajo, grupos de trabajo, subprocesos, bloques y cuadrículas, para controlar el paralelismo.
- Depurar y probar GPU programas utilizando herramientas como CodeXL, CUDA-GDB, CUDA-MEMCHECK y NVIDIA Nsight.
- Optimice GPU los programas mediante técnicas como la fusión, el almacenamiento en caché, la captura previa y la generación de perfiles.
GPU Programming with CUDA
28 HorasEsta capacitación en vivo dirigida por un instructor en Peru (en línea o presencial) está dirigida a desarrolladores de nivel principiante a intermedio que desean usar CUDA para programar NVIDIA GPU y explotar su paralelismo.
Al final de esta formación, los participantes serán capaces de:
- Configure un entorno de desarrollo que incluya CUDA Toolkit, un código NVIDIA GPU y Visual Studio.
- Cree un programa CUDA básico que realice la adición de vectores en el GPU y recupere los resultados de la memoria GPU.
- Utilice la API de CUDA para consultar información del dispositivo, asignar y desasignar memoria del dispositivo, copiar datos entre el host y el dispositivo, iniciar kernels y sincronizar subprocesos.
- Utilice el lenguaje CUDA C/C++ para escribir kernels que se ejecuten en el GPU y manipulen los datos.
- Utilice las funciones, variables y bibliotecas integradas de CUDA para realizar tareas y operaciones comunes.
- Utilice los espacios de memoria CUDA, como global, compartido, constante y local, para optimizar las transferencias de datos y los accesos a la memoria.
- Utilice el modelo de ejecución de CUDA para controlar los subprocesos, bloques y cuadrículas que definen el paralelismo.
- Depure y pruebe programas CUDA con herramientas como CUDA-GDB, CUDA-MEMCHECK y NVIDIA Nsight.
- Optimice los programas CUDA mediante técnicas como la fusión, el almacenamiento en caché, la captura previa y la generación de perfiles.
El 97% de los clientes satisfacen.
GPU Programming with OpenACC
28 HorasEsta capacitación en vivo dirigida por un instructor en Peru (en línea o presencial) está dirigida a desarrolladores de nivel principiante a intermedio que desean usar OpenACC para programar dispositivos heterogéneos y explotar su paralelismo.
Al final de esta formación, los participantes serán capaces de:
- Configure un entorno de desarrollo OpenACC.
- Escribir y ejecutar un programa básico de OpenACC.
- Anote el código con directivas y cláusulas OpenACC.
- Utilice la API y las bibliotecas de OpenACC.
- Perfile, depure y optimice los programas OpenACC.
GPU Programming with OpenCL
28 HorasEsta capacitación en vivo dirigida por un instructor en Peru (en línea o en el sitio) está dirigida a desarrolladores de nivel principiante a intermedio que deseen usar OpenCL para programar dispositivos heterogéneos y explotar su paralelismo.
Al final de esta capacitación, los participantes serán capaces de:
- Configure un entorno de desarrollo que incluya OpenCL SDK, un dispositivo que admita OpenCL y Visual Studio código.
- Cree un programa básico OpenCL que realice la suma de vectores en el dispositivo y recupere los resultados de la memoria del dispositivo.
- Utilice la API OpenCL para consultar información del dispositivo, crear contextos, colas de comandos, búferes, kernels y eventos.
- Utilice el lenguaje C OpenCL para escribir kernels que se ejecuten en el dispositivo y manipulen datos.
- Utilice OpenCL funciones, extensiones y bibliotecas integradas para realizar tareas y operaciones comunes.
- Utilice OpenCL modelos de memoria de host y dispositivo para optimizar las transferencias de datos y los accesos a la memoria.
- Utilice el modelo de ejecución OpenCL para controlar los elementos de trabajo, los grupos de trabajo y los intervalos ND.
- Depurar y probar OpenCL programas utilizando herramientas como CodeXL, Intel VTune y NVIDIA Nsight.
- Optimice OpenCL programas utilizando técnicas como la vectorización, el desenrollado de bucles, la memoria local y la creación de perfiles.
GPU Programming - OpenCL vs CUDA vs ROCm
28 HorasEsta capacitación en vivo dirigida por un instructor en Peru (en línea o en el sitio) está dirigida a desarrolladores de nivel principiante a intermedio que desean usar diferentes marcos para GPU programación y comparar sus características, rendimiento y compatibilidad.
Al final de esta formación, los participantes serán capaces de:
- Configure un entorno de desarrollo que incluya OpenCL SDK, CUDA Toolkit, ROCm Platform, un dispositivo que admita OpenCL, CUDA o ROCm y Visual Studio Code.
- Cree un programa básico GPU que realice la adición de vectores utilizando OpenCL, CUDA y ROCm, y compare la sintaxis, la estructura y la ejecución de cada marco.
- Utilice las API respectivas para consultar información del dispositivo, asignar y desasignar la memoria del dispositivo, copiar datos entre el host y el dispositivo, iniciar kernels y sincronizar subprocesos.
- Utilice los lenguajes respectivos para escribir kernels que se ejecuten en el dispositivo y manipulen los datos.
- Utilice las funciones, variables y bibliotecas integradas respectivas para realizar tareas y operaciones comunes.
- Utilice los espacios de memoria respectivos, como global, local, constante y privado, para optimizar las transferencias de datos y los accesos a la memoria.
- Utilice los modelos de ejecución respectivos para controlar los subprocesos, bloques y cuadrículas que definen el paralelismo.
- Depura y prueba programas GPU con herramientas como CodeXL, CUDA-GDB, CUDA-MEMCHECK y NVIDIA Nsight.
- Optimice GPU programas mediante técnicas como la fusión, el almacenamiento en caché, la captura previa y la generación de perfiles.
ROCm for Windows
21 HorasEsta capacitación en vivo dirigida por un instructor en Peru (en línea o en el sitio) está dirigida a desarrolladores de nivel principiante a intermedio que deseen instalar y usar ROCm en Windows para programar AMD GPU y explotar su paralelismo.
Al final de esta capacitación, los participantes serán capaces de:
- Configure un entorno de desarrollo que incluya la plataforma ROCm, un código AMD GPU y Visual Studio en Windows.
- Cree un programa ROCm básico que realice la suma de vectores en GPU y recupere los resultados de la memoria GPU.
- Utilice la API ROCm para consultar la información del dispositivo, asignar y desasignar la memoria del dispositivo, copiar datos entre el host y el dispositivo, iniciar kernels y sincronizar subprocesos.
- Utilice el lenguaje HIP para escribir kernels que se ejecuten en el GPU y manipulen los datos.
- Utilice las funciones, variables y bibliotecas integradas de HIP para realizar tareas y operaciones comunes.
- Utilice los espacios de memoria ROCm y HIP, como global, compartido, constante y local, para optimizar las transferencias de datos y los accesos a la memoria.
- Utilice los modelos de ejecución ROCm y HIP para controlar los subprocesos, los bloques y las cuadrículas que definen el paralelismo.
- Depure y pruebe programas ROCm y HIP utilizando herramientas como ROCm Debugger y ROCm Profiler.
- Optimice los programas ROCm y HIP mediante técnicas como la fusión, el almacenamiento en caché, la captura previa y la creación de perfiles.