Curso de
GPU NVIDIA Programming
Este curso cubre cómo programar GPU para computación paralela. Algunas de las aplicaciones incluyen aplicaciones de aprendizaje profundo, análisis e ingeniería.
Programa del Curso
Día 1 - Introducción y conceptos básicos
-
¿Por qué la computación paralela? Necesidad de computación paralela
Procesadores multinúcleo - Arquitectura y diseño
Introducción a los hilos, conceptos básicos de hilos y conceptos básicos de programación paralela
OpenMP: un estándar para paralelos basados en directivas Programming
Práctica / Demostración de varios programas en máquinas multinúcleo
Día 2 - GPU Programming
-
GPU's para computación paralela
Modelo de GPU Programming
Práctica / Demostración de varios programas en GPU
SDK, kit de herramientas e instalación de environemnt para GPU
Trabajar con varias bibliotecas
Demostración de GPU y herramientas con programas de muestra y OpenACC
Requerimientos
C Programming, Linux GCC
Los cursos de formación abiertos requieren más de 5 participantes.
Curso de
GPU NVIDIA Programming
- BookingCurso de
GPU NVIDIA Programming
- EnquiryGPU NVIDIA Programming
- ConsultasTestimonios (2)
Muy interactivo con varios ejemplos, con una buena progresión en complejidad entre el inicio y el final de la formación.
Jenny - Andheo
Curso - GPU Programming with CUDA and Python
Traducción Automática
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
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 capacitación en vivo dirigida por un instructor en Peru (en línea o presencial) está dirigida a desarrolladores que desean usar CUDA para crear Python aplicaciones que se ejecutan en paralelo en GPU NVIDIA.
Al final de esta capacitación, los participantes serán capaces de:
- Utilice el compilador Numba para acelerar Python las aplicaciones que se ejecutan en las GPU NVIDIA.
- Cree, compile y lance kernels CUDA personalizados.
- Administre la memoria de la GPU. Convierta una aplicación
- basada en CPU en una aplicación acelerada por GPU.
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.
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 en el sitio) está dirigida a desarrolladores de nivel principiante a intermedio que deseen usar CUDA para programar NVIDIA GPU y explotar su paralelismo.
Al final de esta capacitación, los participantes serán capaces de:
- Configure un entorno de desarrollo que incluya el kit de herramientas CUDA, un código NVIDIA GPU y Visual Studio.
- Cree un programa CUDA básico que realice la suma de vectores en el GPU y recupere los resultados de la memoria GPU.
- Utilice la API de CUDA 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 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 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 CUDA para controlar los subprocesos, los bloques y las 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.
GPU Programming with OpenACC
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 OpenACC 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 OpenACC SDK, un dispositivo compatible con OpenACC y Visual Studio Código.
- Cree un programa OpenACC básico que realice la suma de vectores en el dispositivo y recupere los resultados de la memoria del dispositivo.
- Utilice las directivas y cláusulas de OpenACC para anotar el código y especificar las regiones paralelas, el movimiento de datos y las opciones de optimización.
- Utilice la API de OpenACC para consultar la información del dispositivo, establecer el número de dispositivo, controlar los errores y sincronizar eventos.
- Utilice las bibliotecas OpenACC y las funciones de interoperabilidad para integrar OpenACC con otros modelos de programación, como CUDA, OpenMP y MPI.
- Utilice las herramientas de OpenACC para perfilar y depurar programas de OpenACC e identificar cuellos de botella y oportunidades de rendimiento.
- Optimice los programas OpenACC utilizando técnicas como la localidad de datos, la fusión de bucles, la fusión de kernel y el ajuste automático.
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 deseen usar diferentes marcos para GPU programación y comparar sus características, rendimiento y compatibilidad.
Al final de esta capacitación, los participantes serán capaces de:
- Configure un entorno de desarrollo que incluya OpenCL SDK, kit de herramientas CUDA, plataforma ROCm, un dispositivo compatible con OpenCL, CUDA o ROCm y Visual Studio código.
- Cree un programa básico GPU que realice la suma de vectores usando OpenCL, CUDA y ROCm, y compare la sintaxis, la estructura y la ejecución de cada marco.
- Utilice las API respectivas 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 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, los bloques y las cuadrículas que definen 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 NVIDIA Programming - Extendida
21 horasEste curso de capacitación en vivo dirigido por un instructor en Peru cubre cómo programar GPU para computación paralela, cómo usar varias plataformas, cómo trabajar con la plataforma CUDA y sus características, y cómo realizar varias 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.
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.
Hardware-Accelerated Video Analytics
14 horasEsta capacitación en vivo dirigida por un instructor en Peru (en línea o en el sitio) está dirigida a desarrolladores que desean crear modelos de detección y seguimiento de objetos acelerados por hardware para analizar datos de transmisión de video.
Al final de esta capacitación, los participantes serán capaces de:
- Instale y configure el entorno de desarrollo, el software y las bibliotecas necesarias para comenzar a desarrollar.
- Cree, entrene e implemente modelos de aprendizaje profundo para analizar transmisiones de video en vivo.
- Identifique, rastree, segmente y prediga diferentes objetos dentro de los fotogramas de video.
- Optimice los modelos de detección y seguimiento de objetos.
- Implemente una aplicación de análisis de vídeo inteligente (IVA).