Programación de GPU AMD
ROCm es una plataforma de código abierto para programación de GPU que soporta tarjetas gráficas de AMD y ofrece compatibilidad con CUDA y OpenCL. ROCm expone al programador los detalles del hardware y otorga control total sobre el proceso de paralelización. Sin embargo, esto también requiere un buen conocimiento de la arquitectura del dispositivo, el modelo de memoria, el modelo de ejecución y las técnicas de optimización.
HIP es una API de tiempo de ejecución en C++ y un lenguaje de kernels que permite escribir código portable capaz de ejecutarse tanto en GPU de AMD como de NVIDIA. HIP proporciona una capa de abstracción ligera sobre las APIs nativas de GPU, como ROCm y CUDA, y permite aprovechar las bibliotecas y herramientas existentes para GPU.
Esta capacitación impartida por un instructor, en vivo (en línea o en sitio), está dirigida a desarrolladores de nivel principiante a intermedio que deseen utilizar ROCm y HIP para programar GPU de AMD y aprovechar su paralelismo.
Al finalizar esta capacitación, los participantes serán capaces de:
- Configurar un entorno de desarrollo que incluya la plataforma ROCm, una GPU de AMD y Visual Studio Code.
- Crear un programa básico en ROCm que realice la suma de vectores en la GPU y recupere los resultados desde la memoria de la GPU.
- Utilizar la API de ROCm para consultar información del dispositivo, asignar y liberar memoria del dispositivo, copiar datos entre el host y el dispositivo, lanzar kernels y sincronizar hilos.
- Usar el lenguaje HIP para escribir kernels que se ejecuten en la GPU y manipulen datos.
- Aprovechar las funciones, variables y bibliotecas integradas de HIP para realizar tareas y operaciones comunes.
- Emplear los espacios de memoria de ROCm e HIP, como global, compartida, constante y local, para optimizar las transferencias de datos y los accesos a la memoria.
- Aplicar los modelos de ejecución de ROCm e HIP para controlar los hilos, bloques y cuadrículas que definen el paralelismo.
- Depurar y probar programas de ROCm e HIP utilizando herramientas como el Depurador de ROCm y el Perfilador de ROCm.
- Optimizar programas de ROCm e HIP mediante técnicas como la coalescencia, el almacenamiento en caché, la prefetching y el perfilado.
Formato del curso
- Clase interactiva con discusión.
- Numerosos ejercicios y práctica.
- Implementación práctica en un entorno de laboratorio en vivo.
Opciones de personalización del curso
- Para solicitar una capacitación personalizada para este curso, por favor contáctenos para organizarlo.
Temario del curso
Introducción
- ¿Qué es ROCm?
- ¿Qué es HIP?
- ROCm vs CUDA vs OpenCL
- Visión general de las características y arquitectura de ROCm e HIP
- Configuración del entorno de desarrollo
Primeros pasos
- Crear un nuevo proyecto ROCm usando Visual Studio Code
- Explorar la estructura y los archivos del proyecto
- Compilar y ejecutar el programa
- Mostrar la salida usando printf y fprintf
API de ROCm
- Comprender el papel de la API de ROCm en el programa del host
- Usar la API de ROCm para consultar información y capacidades del dispositivo
- Usar la API de ROCm para asignar y liberar memoria del dispositivo
- Usar la API de ROCm para copiar datos entre el host y el dispositivo
- Usar la API de ROCm para lanzar kernels y sincronizar hilos
- Usar la API de ROCm para manejar errores y excepciones
Lenguaje HIP
- Comprender el papel del lenguaje HIP en el programa del dispositivo
- Usar el lenguaje HIP para escribir kernels que se ejecuten en la GPU y manipulen datos
- Usar tipos de datos, calificadores, operadores y expresiones de HIP
- Aprovechar las funciones, variables y bibliotecas integradas de HIP para realizar tareas y operaciones comunes
Modelo de memoria de ROCm e HIP
- Comprender la diferencia entre los modelos de memoria del host y del dispositivo
- Usar los espacios de memoria de ROCm e HIP, como global, compartida, constante y local
- Usar objetos de memoria de ROCm e HIP, como punteros, arreglos, texturas y superficies
- Usar los modos de acceso a la memoria de ROCm e HIP, como solo lectura, solo escritura, lectura-escritura, etc.
- Usar el modelo de consistencia de memoria y los mecanismos de sincronización de ROCm e HIP
Modelo de ejecución de ROCm e HIP
- Comprender la diferencia entre los modelos de ejecución del host y del dispositivo
- Usar hilos, bloques y cuadrículas de ROCm e HIP para definir el paralelismo
- Usar funciones de hilo de ROCm e HIP, como hipThreadIdx_x, hipBlockIdx_x, hipBlockDim_x, etc.
- Usar funciones de bloque de ROCm e HIP, como __syncthreads, __threadfence_block, etc.
- Usar funciones de cuadrícula de ROCm e HIP, como hipGridDim_x, hipGridSync, grupos cooperativos, etc.
Depuración
- Comprender los errores y bugs comunes en programas de ROCm e HIP
- Usar el depurador de Visual Studio Code para inspeccionar variables, puntos de interrupción, pila de llamadas, etc.
- Usar el Depurador de ROCm para depurar programas de ROCm e HIP en dispositivos de AMD
- Usar el Perfilador de ROCm para analizar programas de ROCm e HIP en dispositivos de AMD
Optimización
- Comprender los factores que afectan el rendimiento de programas de ROCm e HIP
- Usar técnicas de coalescencia de ROCm e HIP para mejorar el rendimiento de memoria
- Usar técnicas de almacenamiento en caché y prefetching de ROCm e HIP para reducir la latencia de memoria
- Usar técnicas de memoria compartida y memoria local de ROCm e HIP para optimizar los accesos a la memoria y el ancho de banda
- Usar herramientas de perfilado y análisis de ROCm e HIP para medir y mejorar el tiempo de ejecución y la utilización de recursos
Resumen y siguientes pasos
Requerimientos
- Conocimiento del lenguaje C/C++ y de los conceptos de programación paralela
- Conocimientos básicos de arquitectura de computadoras y jerarquía de memoria
- Experiencia con herramientas de línea de comandos y editores de código
Público objetivo
- Desarrolladores que deseen aprender a usar ROCm e HIP para programar GPU de AMD y aprovechar su paralelismo
- Desarrolladores que deseen escribir código de alto rendimiento y escalable que pueda ejecutarse en diferentes dispositivos de AMD
- Programadores interesados en explorar los aspectos de bajo nivel de la programación de GPU y optimizar el rendimiento de su código
Los cursos públicos requieren más de 5 participantes.
Programación de GPU AMD - Reserva
Programación de GPU AMD - Consulta
Programación de GPU AMD - Solicitud de consultoría
Próximos cursos
Cursos Relacionados
Desarrollo de aplicaciones de IA con Huawei Ascend y CANN
21 HorasHuawei Ascend es una familia de procesadores de IA diseñados para inferencia y entrenamiento de alto rendimiento.
Esta capacitación presencial o en línea, impartida por un instructor, está dirigida a ingenieros de IA y científicos de datos de nivel intermedio que deseen desarrollar y optimizar modelos de redes neuronales utilizando la plataforma Ascend de Huawei y el kit de herramientas CANN.
Al finalizar esta capacitación, los participantes estarán en capacidad de:
- Configurar y establecer el entorno de desarrollo de CANN.
- Desarrollar aplicaciones de IA utilizando los flujos de trabajo de MindSpore y CloudMatrix.
- Optimizar el rendimiento en las NPUs de Ascend mediante operadores personalizados y técnicas de tiling.
- Desplegar modelos en entornos de borde o en la nube.
Formato del curso
- Sesiones interactivas de clase y discusión.
- Uso práctico de Huawei Ascend y del kit de herramientas CANN en aplicaciones de ejemplo.
- Ejercicios guiados centrados en la construcción, entrenamiento y despliegue de modelos.
Opciones de personalización del curso
- Para solicitar una capacitación personalizada para este curso basada en su infraestructura o conjuntos de datos, por favor contáctenos para coordinar los detalles.
Despliegue de modelos de IA con CANN y procesadores de IA Ascend
14 HorasCANN (Compute Architecture for Neural Networks) es la pila de computación de IA de Huawei para desplegar y optimizar modelos de IA en procesadores de IA Ascend.
Esta capacitación presencial o en línea, impartida por un instructor, está dirigida a desarrolladores e ingenieros de IA de nivel intermedio que deseen desplegar de manera eficiente modelos de IA entrenados en hardware Huawei Ascend utilizando el kit de herramientas CANN y otras herramientas como MindSpore, TensorFlow o PyTorch.
Al finalizar esta capacitación, los participantes serán capaces de:
- Comprender la arquitectura de CANN y su papel en el flujo de trabajo de despliegue de IA.
- Convertir y adaptar modelos desde frameworks populares a formatos compatibles con Ascend.
- Utilizar herramientas como ATC, conversión de modelos OM y MindSpore para inferencia en el borde y en la nube.
- Diagnosticar problemas de despliegue y optimizar el rendimiento en hardware Ascend.
Formato del curso
- Conferencia interactiva y demostraciones.
- Prácticas de laboratorio con herramientas CANN y simuladores o dispositivos Ascend.
- Escenarios de despliegue basados en modelos de IA del mundo real.
Opciones de personalización del curso
- Para solicitar una capacitación personalizada para este curso, contáctenos para coordinarla.
Inferencia e implementación de IA con CloudMatrix
21 HorasCloudMatrix es la plataforma unificada de desarrollo e implementación de IA de Huawei, diseñada para soportar pipelines de inferencia escalables y aptos para entornos de producción.
Esta capacitación presencial o en línea, impartida por un instructor, está dirigida a profesionales de IA con niveles principiantes a intermedios que deseen implementar y monitorear modelos de IA utilizando la plataforma CloudMatrix, con integración de CANN y MindSpore.
Al finalizar esta capacitación, los participantes podrán:
- Utilizar CloudMatrix para el empaquetado, implementación y servicio de modelos.
- Convertir y optimizar modelos para chips de la serie Ascend.
- Configurar pipelines para tareas de inferencia en tiempo real y por lotes.
- Monitorear implementaciones y ajustar el rendimiento en entornos productivos.
Formato del curso
- Charla interactiva y discusión.
- Uso práctico de CloudMatrix con escenarios reales de implementación.
- Ejercicios guiados enfocados en conversión, optimización y escalado.
Opciones de personalización del curso
- Para solicitar una capacitación personalizada para este curso basada en su infraestructura de IA o entorno en la nube, contáctenos para coordinarlo.
Programación GPU en Aceleradores de IA de Biren
21 HorasLos aceleradores de IA de Biren son GPUs de alto rendimiento diseñadas para cargas de trabajo de inteligencia artificial y computación de alto rendimiento (HPC), con soporte para entrenamiento e inferencia a gran escala.
Esta formación impartida por un instructor, en vivo (en línea o presencial), está dirigida a desarrolladores de nivel intermedio a avanzado que deseen programar y optimizar aplicaciones utilizando la pila propietaria de GPU de Biren, con comparaciones prácticas frente a entornos basados en CUDA.
Al finalizar esta formación, los participantes serán capaces de:
- Comprender la arquitectura de GPU de Biren y su jerarquía de memoria.
- Configurar el entorno de desarrollo y utilizar el modelo de programación de Biren.
- Traducir y optimizar código estilo CUDA para plataformas de Biren.
- Aplicar técnicas de ajuste de rendimiento y depuración.
Formato del curso
- Clases magistrales interactivas y discusión.
- Uso práctico del SDK de Biren en cargas de trabajo de GPU de ejemplo.
- Ejercicios guiados enfocados en la migración y el ajuste de rendimiento.
Opciones de personalización del curso
- Para solicitar una formación personalizada para este curso basada en su pila de aplicaciones o necesidades de integración, por favor contáctenos para coordinarlo.
Desarrollo de Cambricon MLU con BANGPy y Neuware
21 HorasLos MLU de Cambricon (Unidades de Aprendizaje Automático) son chips especializados de inteligencia artificial optimizados para inferencia y entrenamiento en escenarios de borde y centros de datos.
Este entrenamiento en vivo, impartido por instructores (en línea o presencial), está dirigido a desarrolladores de nivel intermedio que deseen crear e implementar modelos de IA utilizando el framework BANGPy y el SDK Neuware en hardware Cambricon MLU.
Al finalizar este entrenamiento, los participantes serán capaces de:
- Configurar y preparar los entornos de desarrollo de BANGPy y Neuware.
- Desarrollar y optimizar modelos basados en Python y C++ para Cambricon MLU.
- Implementar modelos en dispositivos de borde y centros de datos que ejecuten el runtime de Neuware.
- Integrar flujos de trabajo de ML con características de aceleración específicas de MLU.
Formato del curso
- Clase interactiva y discusión.
- Uso práctico de BANGPy y Neuware para el desarrollo e implementación.
- Ejercicios guiados centrados en optimización, integración y pruebas.
Opciones de personalización del curso
- Para solicitar una capacitación personalizada basada en su modelo de dispositivo Cambricon o caso de uso, por favor contáctenos para coordinarlo.
Introducción a CANN para desarrolladores de frameworks de IA
7 HorasCANN (Compute Architecture for Neural Networks) es el kit de herramientas de computación en inteligencia artificial de Huawei, utilizado para compilar, optimizar y desplegar modelos de IA en procesadores Ascend de IA.
Esta capacitación impartida por un instructor, en vivo (en línea o presencial), está dirigida a desarrolladores de IA de nivel principiante que desean comprender cómo se integra CANN en el ciclo de vida de los modelos, desde el entrenamiento hasta el despliegue, y cómo interactúa con frameworks como MindSpore, TensorFlow y PyTorch.
Al finalizar esta capacitación, los participantes serán capaces de:
- Comprender el propósito y la arquitectura del kit de herramientas CANN.
- Configurar un entorno de desarrollo con CANN y MindSpore.
- Convertir y desplegar un modelo básico de IA en hardware Ascend.
- Adquirir conocimientos fundamentales para futuros proyectos de optimización o integración con CANN.
Formato del curso
- Clases interactivas y discusiones.
- Laboratorios prácticos con despliegue de modelos simples.
- Recorrido paso a paso de la cadena de herramientas CANN y sus puntos de integración.
Opciones de personalización del curso
- Para solicitar una capacitación personalizada para este curso, contáctenos para coordinar los detalles.
CANN para el despliegue de IA en el borde
14 HorasEl kit de herramientas Ascend CANN de Huawei habilita inferencia de IA potente en dispositivos de borde como el Ascend 310. CANN ofrece herramientas esenciales para compilar, optimizar y desplegar modelos en entornos con restricciones de procesamiento y memoria.
Esta formación impartida por un instructor, en vivo (en línea o en sitio), está dirigida a desarrolladores e integradores de IA de nivel intermedio que deseen desplegar y optimizar modelos en dispositivos de borde de Ascend utilizando la cadena de herramientas CANN.
Al finalizar esta formación, los participantes podrán:
- Preparar y convertir modelos de IA para el Ascend 310 usando las herramientas de CANN.
- Construir pipelines de inferencia ligeros utilizando MindSpore Lite y AscendCL.
- Optimizar el rendimiento de los modelos para entornos con recursos limitados de procesamiento y memoria.
- Desplegar y monitorear aplicaciones de IA en casos de uso reales en el borde.
Formato del curso
- Clases magistrales interactivas y demostraciones en vivo.
- Prácticas de laboratorio con modelos y escenarios específicos para el borde.
- Ejemplos de despliegue en vivo en hardware de borde virtual o físico.
Opciones de personalización del curso
- Para solicitar una formación personalizada para este curso, contáctenos para coordinar los detalles.
Comprensión de la pila de computación en IA de Huawei: de CANN a MindSpore
14 HorasLa pila de IA de Huawei —desde el SDK de bajo nivel CANN hasta el framework de alto nivel MindSpore— ofrece un entorno de desarrollo e implementación de IA estrechamente integrado, optimizado para el hardware Ascend.
Esta capacitación en vivo, impartida por un instructor (en línea o en sitio), está dirigida a profesionales técnicos de nivel principiante a intermedio que deseen comprender cómo los componentes de CANN y MindSpore trabajan en conjunto para apoyar la gestión del ciclo de vida de la IA y las decisiones de infraestructura.
Al finalizar esta capacitación, los participantes serán capaces de:
- Comprender la arquitectura por capas de la pila de computación en IA de Huawei.
- Identificar cómo CANN respalda la optimización de modelos y la implementación a nivel de hardware.
- Evaluar el framework y la cadena de herramientas de MindSpore en relación con alternativas del sector.
- Posicionar la pila de IA de Huawei en entornos empresariales o en la nube/on-premises.
Formato del curso
- Sesiones interactivas de exposición y discusión.
- Demostraciones en vivo del sistema y recorridos basados en casos prácticos.
- Laboratorios guiados opcionales sobre el flujo de modelos desde MindSpore hasta CANN.
Opciones de personalización del curso
- Para solicitar una capacitación personalizada para este curso, contáctenos para coordinar los detalles.
Optimizando el rendimiento de redes neuronales con CANN SDK
14 HorasCANN SDK (Compute Architecture for Neural Networks) es la base de computación de IA de Huawei, que permite a los desarrolladores ajustar y optimizar el rendimiento de las redes neuronales desplegadas en los procesadores de IA Ascend.
Este entrenamiento presencial o en línea, impartido por un instructor, está dirigido a desarrolladores de IA y ingenieros de sistemas de nivel avanzado que deseen optimizar el rendimiento de inferencia utilizando el conjunto avanzado de herramientas de CANN, incluido Graph Engine, TIK y el desarrollo de operadores personalizados.
Al finalizar este entrenamiento, los participantes estarán en capacidad de:
- Comprender la arquitectura de ejecución en tiempo real de CANN y su ciclo de vida de rendimiento.
- Utilizar herramientas de análisis de rendimiento y Graph Engine para el análisis y la optimización del rendimiento.
- Crear y optimizar operadores personalizados mediante TIK y TVM.
- Resolver cuellos de botella de memoria y mejorar el rendimiento (throughput) del modelo.
Formato del curso
- Clase interactiva y discusión.
- Laboratorios prácticos con análisis de rendimiento en tiempo real y ajuste de operadores.
- Ejercicios de optimización utilizando ejemplos de despliegue en casos extremos.
Opciones de personalización del curso
- Para solicitar una capacitación personalizada para este curso, contáctenos para coordinarlo.
SDK CANN para Pipelines de Visión Artificial y PNL
14 HorasEl SDK CANN (Arquitectura de Computación para Redes Neuronales) ofrece potentes herramientas de implementación y optimización para aplicaciones de IA en tiempo real en los campos de la visión artificial y el procesamiento del lenguaje natural (PNL), especialmente en hardware Ascend de Huawei.
Esta capacitación en vivo, impartida por instructores (en línea o en sitio), está dirigida a profesionales de IA de nivel intermedio que deseen construir, implementar y optimizar modelos de visión y lenguaje utilizando el SDK CANN para casos de uso en entornos productivos.
Al finalizar esta capacitación, los participantes serán capaces de:
- Implementar y optimizar modelos de visión artificial y PNL mediante CANN y AscendCL.
- Utilizar las herramientas de CANN para convertir modelos e integrarlos en pipelines en vivo.
- Optimizar el rendimiento de inferencia para tareas como detección, clasificación y análisis de sentimientos.
- Desarrollar pipelines en tiempo real de visión artificial y PNL para escenarios de implementación en el borde o en la nube.
Formato del Curso
- Clase magistral interactiva y demostraciones.
- Prácticas de laboratorio con implementación de modelos y perfilado de rendimiento.
- Diseño de pipelines en vivo utilizando casos reales de visión artificial y PNL.
Opciones de Personalización del Curso
- Para solicitar una capacitación personalizada para este curso, contáctenos para coordinar los detalles.
Creación de operadores personalizados de IA con CANN TIK y TVM
14 HorasCANN TIK (Tensor Instruction Kernel) y Apache TVM permiten la optimización avanzada y la personalización de operadores de modelos de IA para hardware Huawei Ascend.
Esta formación presencial, impartida por instructores (en línea o in situ), está dirigida a desarrolladores de sistemas de nivel avanzado que deseen crear, desplegar y ajustar operadores personalizados para modelos de IA utilizando el modelo de programación TIK de CANN y la integración con el compilador TVM.
Al finalizar esta formación, los participantes podrán:
- Escribir y probar operadores personalizados de IA utilizando el DSL de TIK para procesadores Ascend.
- Integrar operaciones personalizadas en el entorno de ejecución y el gráfico de ejecución de CANN.
- Utilizar TVM para la planificación de operadores, el ajuste automático y las pruebas de referencia.
- Depurar y optimizar el rendimiento a nivel de instrucción para patrones de cálculo personalizados.
Formato del curso
- Clase interactiva y demostración.
- Codificación práctica de operadores utilizando flujos de trabajo de TIK y TVM.
- Pruebas y ajuste en hardware Ascend o simuladores.
Opciones de personalización del curso
- Para solicitar una formación personalizada para este curso, contáctenos para coordinar la organización.
Migración de aplicaciones CUDA a arquitecturas de GPU chinas
21 HorasLas arquitecturas de GPU chinas, como Huawei Ascend, Biren y las unidades de procesamiento neuronal (MLU) de Cambricon, ofrecen alternativas a CUDA diseñadas específicamente para los mercados locales de IA y computación de alto rendimiento (HPC).
Esta capacitación, impartida por un instructor y disponible en línea o in situ, está dirigida a programadores de GPU de nivel avanzado y especialistas en infraestructura que deseen migrar y optimizar aplicaciones CUDA existentes para su despliegue en plataformas de hardware chinas.
Al finalizar esta capacitación, los participantes podrán:
- Evaluar la compatibilidad de cargas de trabajo CUDA existentes con alternativas de chips chinos.
- Portar bases de código CUDA a los entornos Huawei CANN, Biren SDK y Cambricon BANGPy.
- Comparar el rendimiento e identificar puntos de optimización entre diferentes plataformas.
- Abordar desafíos prácticos en el soporte y despliegue multiarquitectura.
Formato del curso
- Clase interactiva con discusión.
- Laboratorios prácticos de traducción de código y comparación de rendimiento.
- Ejercicios guiados enfocados en estrategias de adaptación para múltiples GPU.
Opciones de personalización del curso
- Para solicitar una capacitación personalizada para este curso basada en su plataforma o proyecto CUDA, contáctenos para coordinarlo.
Optimización del rendimiento en Ascend, Biren y Cambricon
21 HorasAscend, Biren y Cambricon son plataformas líderes de hardware de IA en China, cada una con herramientas únicas de aceleración y análisis para cargas de trabajo de IA a escala productiva.
Esta capacitación presencial o en línea, dirigida por un instructor, está diseñada para ingenieros de infraestructura y de rendimiento de IA de nivel avanzado que deseen optimizar los flujos de trabajo de inferencia y entrenamiento de modelos en múltiples plataformas de chips chinos de IA.
Al finalizar esta capacitación, los participantes podrán:
- Ejecutar pruebas de referencia de modelos en las plataformas Ascend, Biren y Cambricon.
- Identificar cuellos de botella del sistema e ineficiencias en el uso de memoria y cómputo.
- Aplicar optimizaciones a nivel de gráfico, núcleo y operador.
- Ajustar las pipelines de despliegue para mejorar el rendimiento y reducir la latencia.
Formato del curso
- Clases interactivas y discusiones.
- Uso práctico de herramientas de análisis y optimización en cada plataforma.
- Ejercicios guiados enfocados en escenarios reales de ajuste.
Opciones de personalización del curso
- Para solicitar una capacitación personalizada basada en su entorno de rendimiento o tipo de modelo, contáctenos para coordinar los detalles.