[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

temario curso GPUs



Hola,

Para aquellos que les interese el curso o para que les interese aun mas, este sera el temario que cubrira el Dr. Masset.

En cuanto a los horarios, el Miercoles y Jueves se terminara a las 5:15pm para que puedan asistir al coloquio y seminario.

Plan del curso
"Programacion de GPUs"

I. Presentacion general de los GPUs.............................................
   Arquitectura : multiprocesadores, nucleos, distintos
   tipos de memoria.
   Definicion del vocabulario especifico a CUDA.
   Advertencias sobre el computo en GPUs.

   Practica 1: que GPU tengo en mi maquina ?

II. Preparando el GPU : ..................................................................
    Reservacion y liberacion de video RAM.
    Comunicacion con el CPU.
    Medicion de anchos de banda.
    Uso de la "page lock" memory.

    Practica 2 : medicion de anchos de banda

III. Primera funcion en CUDA......................................................
     redaccion de un kernel CUDA
     Grids, Blocks y threads
     invocacion de un kernel

     Practica 3 : adicion de dos matrices

IV. El secreto de la velocidad : la memoria cache..................
     Lectura ordenada de la memoria global vs. lectura desordenada
     sincronizacion de los threads

     Practica 4 : convolucion de una matriz
     Pruebas de tiempo de ejecucion

V. Optimizacion de un kernel CUDA.........................................
     Bank conflict
     Warp divergence
     Uso del profiler CUDA

VI. Librerias de CUDA................................................................
      Necesidad de librerias de bajo nivel : ejemplo de las
      reducciones. Presentacion de Mark Harris.
      Libreria cudpp. Otras librerias (cufft, cublas)

      Practica 6 : suma de los elementos de una matriz

VII. Interoperabilidad CUDA / OpenGL...................................
       Presentacion simple de unos mandos que permiten
       dibujar en pantalla el contenido de un arreglo.

       Practica 7 : iteracion de convolucion de una matriz,
                            con display en pantalla.

VIII. Debugging y desarrollo.........................................
      Tips de experiencia personal de desarrollo
       de un codigo CUDA
       Modo emulacion, cuda-gdb

IX. Hacia OpenCL.....................................................................
       Que es OpenCL ?
       Analogias OpenCL / CUDA
       Diferencias OpenCL / CUDA

       Practica : convertir la practica 3 (adicion de dos matrices)
       en OpenCL




Saludos,
Ulises