Institución | Facultad de Cs. Físicas y Matemáticas | |
---|---|---|
Disponible desde | Primavera 2017 | |
Cursos Asociados | Otras realizaciones de este Curso | |
Objetivos | El propósito de este curso es que las y los alumnos aprendan a: detectar qué problemas son paralelizables en la GPU, cómo diseñar y programar una solución paralela, conocer y aplicar técnicas de optimización, y evaluar el desempeño de sus soluciones paralelas. El ámbito de problemas a resolver son tanto problemas que surgen de la computación gráfica, computación en general y de aplicaciones científicas e ingenieriles. En resumen, al final de este curso, las y los alumnos serán capaces de: * Entender las arquitecturas de las GPUs * Detectar si un problema puede ser paralelizable en la GPU * Diseñar soluciones paralelas * Programar soluciones paralelas (para aplicaciones gráficas y de propósito general) * Implementar soluciones para resolver problemas que clásicamente han sido resueltos en supercomputadores * Evaluar el desempeño de soluciones paralelas * Enfrentar y resolver problemas científicamente interesantes * Conocer aplicaciones paralelizables en GPU en distintos ámbitos * Conocer los desafíos existenteos en computación en GPU. |
|
Descripción | Las tarjetas de procesamiento gráfico, conocidas como GPU, fueron desarrolladas originalmente para acelerar el proceso de rendering gráfico, motivadas principalmente por los videojuegos. Sin embargo, hoy en día, GPUs son intensamente usadas por aplicaciones de propósito general que requieren alto poder de cáculo. Las GPUS se han transformando en una alternativa eficiente, y más económica que los clusters de CPUs, para los algoritmos en que el procesamiento de grandes bloques de información se puede hacer en paralelo. El propósito de este curso es que las y los alumnos aprendan a: detectar qué problemas son paralelizables en la GPU, cómo diseñar y programar una solución paralela, conocer y aplicar técnicas de optimización, y evaluar el desempeño de sus soluciones paralelas. El ámbito de problemas a resolver son tanto problemas que surgen de la computación gráfica, computación en general y de aplicaciones científicas e ingenieriles. |
|
Metodología | El curso consiste en clases de cátedra tradicionales y en clases usando la metodología de aprendizaje basado en problemas. Las y los alumnos deberán desarrollar 3 tareas, una en cada uno de los siguientes modelos de programación: Cuda, OpenCl y shaders (GLSL). Cada alumno debe desarrollar un proyecto computacional identificando un problema desafiante, que tenga una solución eficiente al programarlo en la GPU. El problema a resolver en el proyecto puede ser propuesto por el estudiante. El curso tambien requiere leer artículos científicos/capítulos de libro en inglés. |
|
Evaluación | El curso posee tres controles de lectura (cuyo promedio es el control C1), dos evaluaciones grupales (2 o tres personas) y una presentación oral de algún tema de interés relacionado al curso, cuyo promedio es el control C2, 3 tareas de programación (NT) y proyecto computacional (NPC). La nota final (NF) se calcula como sigue: NC = (C1+C2)/2. El examen (NE) consistirá en una presentación oral del proyecto abordado en donde al alumno presentará el problema, la solución y una discusión crítica de lo realizado. NP= 60%NC + 40%NE NF = 40% NP + 20% NPC + 40%NT NP, NPC yMT deben >= 4.0 independientemente. |
|
Programa del Curso | 2017_2_CC7515.pdf | |
Compartir |