Inicio‎ > ‎

Contenidos de la materia


Programa

    1. Introducción

    Historia de HPC y la programación en GPU. Evolución y tendencias. Arquitectura de una GPU. El paradigma GPGPU.  Pipelines gráficos dinámicos y Shaders. CUDA y OpenCL.

    2. Programación en las placas gráficas

    Componentes de CUDA y OpenCL. Kernels. Work-items. Tipos de Memoria: Memoria de textura, shared & global memmory. Operaciones y estructuras básicas sobre GPU.

    3. Modelo de Procesamiento en paralelo

    Arquitecturas SIMD y SIMT. Diferencias con CPU. Acceso concurrente. Semáforos. Atomics. Balance entre computación y comunicación. Trade-offs entre número de hilos, cantidad de registros y uso de memoria compartida. Ocupación de la GPU.  Movimientos de memoria CPU-GPU de alta performance.

     4. Algoritmos en Paralelo


Búsquedas en paralelo 1D y 2D. Sorting. Histogramas. Mínimos. Máximos. Procesamiento de imágenes.

    5. Optimización de la performance


Detección de problemas usuales en la programación en GPU.  Mediciones de tiempos y comparación con algoritmos CPU tradicionales. Medición de potencia de cálculo (GFlops) y ancho de banda de memoria (GBps).Mejoras. Scheduling de procesamiento. Análisis performance en casos reales. Multiplicación de matrices. Búsquedas de texto. KNN.

        6. Aplicaciones GPGPU

  •      GPU Rendering
  •      Simulación
  •      Autómatas celulares

    Bibliografía

    CUDA Toolkit Reference Manual, Programming Guide y CUDA C Best Performance Practices.NVIDIA Inc, 2010

    Programming Massively Parallel Processors: A Hands-on Approach David B. Kirk, Wen-mei W. Hwu, Ed.Morgan Kaufman, 2010

    Fundamentals of Computer Graphics,Peter Shirley, Michael Ashikhmin, Steve Marschner, A K Peters/CRC Press, 2009

    Journal IEEE Computer Graphics and Applications, IEEE Computer Society, Publicación regular.           

    OpenGL Shading Language Randi J. Rost, Bill Licea-Kane, Dan Ginsburg, John M. Kessenich, Barthold Lichtenbelt, Hugh Malan, Mike Weiblen, Ed.Addison-Wesley Professional, 2009

    Comments