Curso de autocapacitación, 14-Otoño:
Programación multi-hilo sobre GPUs.


Instructor M. en C. Hilda María Chablé Martínez.


Más información e inscripciones Departamento de Electrónica, edificio H cúbiculo 269.


Curso
  • Inter trimestre: 14 Otoño
  • Sesiones: del 21 al 25 de julio 2014.
  • Salón de clase: F307
  • Horario: 10:00 a 14:00 hrs. 




Objetivos
  • Comprender la arquitectura de las unidades de procesamiento gráfico (GPU). 
  • Emplear las herramientas de diseño para el desarrollo de aplicaciones sobre GPUs.
  • Analizar aplicaciones de propósito general que pueda aprovechar los recursos de los GPUs.


Contenido Sintético

1. Introducción al cómputo paralelo
2. Introducción a CUDA
3. Hilos
4. Jerarquía de memoria de un GPU
5. GPU y MATLAB


Bibliografía

  • Programming Massively Parallel Processors "A Hands‐on Approach". David B. Kirk, Wen‐mei W. Hwu. Morgan Kaufmann. 2010
  • CUDA by Example "An Introduction to General‐Purpose GPU Programming". Jason Sanders, Edward Kandrot . NVIDIA. 2011
  • CUDA “Application Design and Development”. Rob Farber,  Ed.  Morgan Kaufmann. 2011
  • CUDA Programming “A Developers’s Guide to Parallel Computing with GPUs”. Shanek Cook. Morgan Kaufmann. 2012.


Herramientas de diseño
  • Lenguaje C/C++
  • CUDA
  • Visual Studio para windogs.


Mensajes

Publicado

                                                              







Calendario

Sesión Dia Notas
Códigos
1
210714
Introducción al cómputo paralelo
1

GPUs y computadoras paralelas.
1

Arquitectura de un GPU
1

Lenguaje y Modelos de Programación Paralela
2
220714 Introducción a CUDA.

2

Paralelismo de datos

2

Práctica 1. Estructura de un programa en CUDA

2

Operaciones de manejo  de memoria y transferencia de datos

2

Funciones kernel e hilos

2

Uso de blockIdx y threadIdx

2

Prática 2. Suma de vectores

3
230714 Cooperación de Hilos en CUDA

3

Organización de hilos en CUDA

3

Memoria Compartida

3

Sincronización.

3

Práctica 3: multiplicación de matrices

4
240714 Jerarquía de Memoria

4

Memoria constante

4

Métricas de desempeño con Eventos

4

Memoria de textura

4

Práctica 4: Desempeño de memoria

5
250714 Cómputo GPU en Matlab

5

Operaciones de Matlab en GPU´s.

5

CUDA en aplicaciones Matlab.

5

Prática 5: conjunto Maldelbrot (Práctica 4)