Las aplicaciones actuales de computación de alto rendimiento (HPC) y deep learning se benefician de, e incluso requieren, la potencia de computación de la GPU en un clúster. Escribir aplicaciones de CUDA® que puedan utilizar de forma correcta y eficiente las GPU en un clúster requiere de un conjunto distinto de habilidades. En este taller, aprenderás las herramientas y técnicas necesarias para escribir aplicaciones de CUDA C++ que puedes escalar de manera eficiente a clústeres de las GPU de NVIDIA. 

Para ello, trabajarás en el código de varias aplicaciones de CUDA C++ en un entorno de cloud interactivo respaldado por varias GPU de NVIDIA. Conocerás varios métodos de programación con múltiples GPU, incluida la Interfaz de Paso de Mensajes (MPI) consciente de CUDA, antes de continuar con el enfoque principal de este curso, NVSHMEM™.

NVSHMEM es una interfaz de programación paralela basada en OpenSHMEM que proporciona una comunicación eficiente y escalable para los clústeres de las GPU de NVIDIA. NVSHMEM crea un espacio de direcciones globales para los datos que abarca la memoria de varias GPU y se puede acceder a él con operaciones detalladas iniciadas por la GPU, operaciones iniciadas por la CPU y operaciones en flujos de CUDA. Las transferencias de datos asincrónicas iniciadas por la GPU de NVSHMEM eliminan los gastos generales de sincronización entre la CPU y la GPU. También permiten kernels de larga ejecución que incluyen tanto comunicación como computación, lo que reduce los gastos generales que pueden limitar el rendimiento de una aplicación cuando se realiza un escalado sólido. NVSHMEM se ha utilizado en sistemas como la supercomputadora Summit ubicada en la Instalación de Computación de Liderazgo Oak Ridge (OLCF), la supercomputadora Sierra del Laboratorio Nacional Lawrence Livermore y la NVIDIA DGX™ A100.

 

Objetivos de Aprendizaje
 

Al participar en este workshop, lograrás lo siguiente:
  • Aprenderás varios métodos para escribir aplicaciones de CUDA C++ para múltiples GPU
  • Usarás una variedad de patrones de comunicación de múltiples GPU y comprenderás sus compensaciones
  • Escribirás código CUDA portátil y escalable con el paradigma de datos múltiples de programa único (SPMD) utilizando MPI y NVSHMEM conscientes de CUDA
  • Mejorarás el código SPMD de múltiples GPU con el modelo de memoria simétrica de NVSHMEM y su capacidad para realizar transferencias de datos iniciadas por GPU
  • Practicarás con paradigmas comunes de codificación de múltiples GPU como la descomposición de dominios y los intercambios de halo

Descargar la hoja de datos del workshop (PDF 79.5 KB)

Esquema del Workshop

Introducción
(15 minutos)
Paradigmas de la Programación con Múltiples GPU
(120 minutos)

Conoce las múltiples técnicas para programar aplicaciones de CUDA C++ para múltiples GPU utilizando una aproximación Montecarlo del programa pi CUDA C++.

  • Usa CUDA para utilizar múltiples GPU.
  • Aprende a habilitar y a utilizar la comunicación directa de memoria punto a punto.
  • Escribe una versión SPMD con MPI consciente de CUDA.
Descanso (60 minutos)
Introducción a NVSHMEM
(120 minutos)

Aprende a escribir código con NVSHMEM y comprende su modelo de memoria simétrica.

  • Utiliza NVSHMEM para escribir código SPMD para múltiples GPU.
  • Utiliza la memoria simétrica para permitir que todas las GPU accedan a los datos de otras GPU.
  • Realiza transferencias de memoria iniciadas por GPU.
Descanso (15 minutos)
Intercambios de Halo con NVSHMEM
(120 minutos)

Practica motivos de codificación comunes como los intercambios de halo y la descomposición de dominios utilizando NVSHMEM, y trabaja en la evaluación.

  • Escribe una implementación de NVSHMEM de un solucionador jacobi de ecuaciones de Laplace.
  • Refactoriza un único solucionador de ecuaciones de onda 1D de GPU con NVSHMEM.
  • Completa la evaluación y obtén tu certificado.
Revisión Final
(15 minutos)
  • Conoce las compensaciones de aplicaciones en los clústeres de GPU.
  • Repasa los conceptos clave y realiza preguntas.
  • Realiza la encuesta del workshop.
Próximos pasos
(15 minutos)

Continúe su aprendizaje con estas capacitaciones del DLI:

 

Detalles del Workshop

Duración: 8 horas

Precio: $500 para workshops públicos, comunícate con nosotros para obtener información sobre los workshops empresariales.

Requisitos:

  • Experiencia intermedia en la escritura de aplicaciones de CUDA C/C++
Materiales sugeridos para satisfacer los requisitos:
Herramientas, bibliotecas y frameworks: CUDA, MPI, NVSHMEM
 
Tipo de Evaluación:
 
  • Evaluación de codificación basada en habilidades: Los estudiantes deben refactorizar un solucionador de funciones de onda 1D de una sola GPU para estar listos para el clúster de GPU con NVSHMEM.

Certificado: Después de aprobar la evaluación, los participantes recibirán un certificado del DLI de NVIDIA para validar tu competencia en el campo de estudio y contribuir al crecimiento de tu carrera profesional.

Requisitos de Hardware: Una laptop o desktop capaz de ejecutar la última versión de Chrome o Firefox. A cada participante se le otorgará acceso dedicado a una servidor en cloud acelerado por GPU y completamente configurado.

Idiomas: Inglés

PRÓXIMOS WORKSHOPS PÚBLICOS

Próximos Workshops Públicos

América del Norte/América Latina

Jueves, 18 de noviembre de 2021
9:00 a. m. a 5:00 p. m. (hora de Ciudad de Mexico)

Si tu organización está interesada en impulsar y mejorar sus capacidades de desarrollo con respecto a la IA, la ciencia de datos acelerada o la computación acelerada, puedes solicitar una capacitación a cargo de un instructor del DLI de NVIDIA.

PREGUNTAS?