Cargando Eventos

Detalles del curso

Introducción a la Programación de GPUs 2025

  • Fecha: semana del 17 al 23 de marzo – sesión online: 20 de marzo de 16:00 h a 18:00 h.
  • Nivel: Intermedio. 
  • Dirigido a: El curso ha sido diseñador de forma específica para llegar a empresas que necesitan aumentar su capacidad de computación, ya sea por el uso de algoritmos muy complejos o por la necesidad de gestionar una gran cantidad de datos. Ejemplos de aplicaciones: aprendizaje automático, aprendizaje profundo, ciencia e ingeniería, biomedicina, simulación computacional, infografía, etc.

Objetivos

La práctica pretende cubrir los siguientes objetivos:

  • Introducir a los estudiantes al acceso remoto de GPUs, instaladas en supercomputadores: acceso, entorno, compilación, movimiento de ficheros.
  • Proporcionar a los estudiantes conocimientos básicos sobre la arquitectura de la GPU, que les permitan entender el modelo de programación CUDA, muy distinto al modelo de programación clásico en CPUs.
  • Introducir al alumno en la programación de GPUs usando el lenguaje de programación CUDA, tanto en el Código del host, como en el código que se ejecutará en la GPU. 5.

Contenidos

  • Introducción a las GPUS.Motivación del uso de GPUs. Definición de Sistema Heterogéneo o Evolución y características principales de las GPUs. Comparación de la arquitectura y rendimiento de GPU vs. CPU
  • Modelo de Ejecución.Características principales de la GPU. Modelo Host-Device. Estructura de un programa CUDA. Simultaneous Multi-Threading (SMT).
  • Arquitectura de la GPU. Descripción general de la arquitectura. Arquitectura de un Stream Multiprocessor. Jerarquía de memoria de la GPU.
  • Programación en CUDA. Conceptos básicos de CUDA. Funciones de información del sistema. Funciones de movimiento de datos Host-GPU. Lanzamiento del kernels.
  • Explotando el Paralelismo en CUDA. Threads, bloques y Malla. Relación entre bloques y threads. Identificación de threads. o Warps.

Requisitos

Los participantes deben tener acceso a un ordenador con sistema operativo Linux o Mac (no una tableta, Chromebook, etc.) con acceso a Internet. Todo el trabajo se realizará en remoto, por lo que una Buena conexión a Internet es muy aconsejable. Adicionalmente para un buen Seguimiento del curso será necesario tener unos conocimientos básicos a nivel usuario, de trabajo con el shell de Linux, así como de programación en los lenguajes C ó C++.

Metodología

Curso que se imparte de forma completamente online. El enfoque del curso es teórico-práctico, orientado a introducirse en la programación de GPUs de Nvidia, usando el lenguaje de programación CUDA:

  • Teoría. Duración 1 hora. Se imparte de forma asíncrona, proporcionando a los alumnos una serie de vídeos que pueden estudiar en cualquier momento, siempre antes de realizar la segunda parte.
  • Práctica. Duración 2 horas. Se imparte de forma sincrónica, por lo que los alumnos deberán conectarse a una hora determinada. Consistirá en una serie de ejercicios prácticos para aplicar algunos de los conceptos explicados en la teoría en un superordenador concreto.
  • Trabajo personal. Duración 4 horas. Se propondrán una serie de prácticas para que el alumno las desarrolle por su cuenta, con el apoyo de un profesor a través de un chat específico del curso.

Certificación

  • Se expedirá un certificado de aprovechamiento a los estudiantes que completen con éxito el curso. Para ello será necesario entregar las tareas de trabajo personal, en el plazo establecido para ello. El certificado confirmará que el estudiante ha cumplido satisfactoriamente los requisitos propuestos para el curso..