Guía docente de Programación Gráfica de Altas Prestaciones (M52/56/2/8)
Máster
Módulo
Rama
Centro Responsable del título
Semestre
Créditos
Tipo
Tipo de enseñanza
Profesorado
- José Miguel Mantas Ruiz
- Andre Brodtkorb
Tutorías
José Miguel Mantas Ruiz
Email- Tutorías 1º semestre
- Lunes 11:30 a 13:30 (Etsiit 3ª P Despacho 20)
- Miércoles 16:30 a 18:30 (Etsiit 3ª P Despacho 20)
- Jueves 11:30 a 13:30 (Etsiit 3ª P Despacho 20)
- Tutorías 2º semestre
- Martes 10:30 a 13:30 (Etsiit 3ª P Despacho 20)
- Jueves 10:30 a 13:30 (Etsiit 3ª P Despacho 20)
Andre Brodtkorb
EmailBreve descripción de contenidos (Según memoria de verificación del Máster)
- Introducción a las arquitecturas de altas prestaciones para informática gráfica. Multiprocesadores y Unidades de procesamiento gráfico (GPUs).
- Diseño de algoritmos paralelos. Descomposición y asignación de tareas. Ejemplos.
- Programación de GPUs. Introducción al cauce gráfico y los elementos de procesamiento en la GPU. Cálculos de propósito general en GPUs (GPGPU). Entornos para cómputo de propósito general usando GPUs.
---------------------------------------------------------------------------------------------------------------
- Introduction to the high performance architectures for computer graphics. Multiprocessors and Graphics Processing Units (GPUs).
- Parallel Algorithm design. Decomposition and task mapping. Case studies.
- GPU programming. Introduction to the graphics pipeline and processing elements in the GPU. General-purpose computing on GPU (GPGPU). Environments for General-purpose computing on GPU.
Prerrequisitos y/o Recomendaciones
- Es conveniente, aunque no imprescindible, tener conocimientos básicos de generación de gráficos por ordenador y programación concurrente.
Competencias
Competencias Básicas
- CB6. Poseer y comprender conocimientos que aporten una base u oportunidad de ser originales en desarrollo y/o aplicación de ideas, a menudo en un contexto de investigación.
- CB7. Que los estudiantes sepan aplicar los conocimientos adquiridos y su capacidad de resolución de problemas en entornos nuevos o poco conocidos dentro de contextos más amplios (o multidisciplinares) relacionados con su área de estudio.
- CB8. Que los estudiantes sean capaces de integrar conocimientos y enfrentarse a la complejidad de formular juicios a partir de una información que, siendo incompleta o limitada, incluya reflexiones sobre las responsabilidades sociales y éticas vinculadas a la aplicación de sus conocimientos y juicios.
- CB9. Que los estudiantes sepan comunicar sus conclusiones y los conocimientos y razones últimas que las sustentan a públicos especializados y no especializados de un modo claro y sin ambigüedades.
- CB10. Que los estudiantes posean las habilidades de aprendizaje que les permitan continuar estudiando de un modo que habrá de ser en gran medida autodirigido o autónomo.
Competencias Generales
- CG01. Habilidades cognitivas: conocer los principales problemas o retos tecnológicos planteados en el ámbito de las líneas de investigación del programa de posgrado, conocer los principios de las técnicas o metodologías de solución para dichos problemas propuestas por la comunidad científica, conocer las debilidades y fortalezas de dichas soluciones, así como conocer las aplicaciones que este conocimiento tiene en la sociedad actual.
- CG02. Destreza para iniciar un trabajo de investigación científica o desarrollo tecnológico original e innovador, en el marco de los problemas descritos en el punto anterior.
- CG03. Ser capaz de emplear el conocimiento científico existente en la resolución de problemas o mejora de procesos a nivel individual o en el contexto de empresas u organismos públicos.
- CG04. Capacidades sistémicas para obtener la capacidad de asimilación y adaptación a la evolución futura del estado del arte en el ámbito de las disciplinas científicas del Máster.
- CG05. Destrezas tecnológicas: capacidad de usar, evaluar, crear, modificar o extender la herramientas informáticas útiles en la resolución de problemas relacionados con las líneas de investigación
- CG06. Capacidades metodológicas: conocer las principales fuentes bibliográficas que describen los avances científicos en las líneas de investigación del programa de posgrado.
- CG07. Destrezas lingüísticas: conocer y utilizar la terminología científica especializada, tanto en español como en inglés, relacionada con las líneas de investigación del departamento.
- CG08. Competencias personales: capacidad de análisis y síntesis en la resolución efectiva de problemas, así como capacidad de toma de decisiones, organización y planificación. Capacidad de comunicación escrita y oral.
- CG09. Competencias interpersonales: capacidad de trabajo en equipo, incluyendo la toma de decisiones en colectivos o grupos. Habilidades en las relaciones interpersonales. Habilidades para presentar trabajos y mantener debates en grupo.
- CG10. Destrezas de redacción: ser capaz de expresar los resultados y el desarrollo de las investigaciones en textos o informes científico-técnicos, conocer los mecanismos de revisión entre pares propios de la ciencia para estos documentos, así como los mecanismos para su difusión en forma de artículos en revistas, libros, sitios web o en aportaciones a congresos.
Competencias Específicas
- CE01. Ser capaz de llevar a cabo un trabajo de investigación en campos científicos relacionados con el desarrollo del software, teniendo en cuenta los recursos disponibles y sus implicaciones éticas y sociales
- CE05. Identificar y valorar propiedades software de usabilidad, accesibilidad, seguridad, confiabilidad, rendimiento, y ética informática, entre otras, y analizar cómo afectan a la calidad de un sistema software.
- CE07. Diseñar y desarrollar sistemas software desde una perspectiva centrada en el usuario.
- CE08. Diseñar modelos de sistemas software que permitan aplicar mecanismos evolutivos de reflexión, parametrización, refactorización, reutilización y simulación de procesos, entre otros.
- CE13. Aprender, conocer y saber utilizar los fundamentos y métodos matemáticos necesarios para abordar y resolver aplicaciones gráficas, de animación, de visualización, y/o de realidad virtual, entre otras.
- CE14. Comprender, diseñar, implementar y evaluar algoritmos gráficos, tanto 2D como 3D, para la representación, digitalización, visualización, animación e interacción de modelos con su entorno y su aplicación en interfaces de usuario gráficas.
- CE15. Conocer y comprender los fundamentos, técnicas y herramientas básicas para la programación eficiente de algoritmos gráficos y en particular en arquitecturas de altas prestaciones como las unidades de procesamiento de gráficos (GPU).
Competencias Transversales
- CT01. Mostrar interés por la calidad y la excelencia en la realización de diferentes tareas.
- CT02. Comprender y defender la importancia que la diversidad de culturas y costumbres tienen en la investigación o práctica profesional.
- CT03. Tener un compromiso ético y social en la aplicación de los conocimientos adquiridos.
- CT04. Ser capaz de trabajar en equipos interdisciplinarios para alcanzar objetivos comunes desde campos expertos diferenciados.
- CT05. Incorporar los principios del Diseño Universal en el desempeño de su profesión.
Resultados de aprendizaje (Objetivos)
El alumno sabrá/comprenderá:
- los fundamentos, técnicas y herramientas básicas para la programación eficiente de algoritmos gráficos en arquitecturas de altas prestaciones.
- las tecnologías actuales para la aceleración de algoritmos usando hardware gráfico programable.
El alumno será capaz de:
- usar las técnicas y herramientas básicas para la programación de algoritmos gráficos en arquitecturas de altas prestaciones.
- usar las tecnologías actuales para la aceleración de algoritmos usando unidades de procesamiento gráfico (GPUs).
Programa de contenidos Teóricos y Prácticos
Teórico
1. Introducción a las arquitecturas de altas prestaciones para informática gráfica
- Multiprocesadores
- Unidades de procesamiento gráfico (GPUs)
2.Programación de GPUs
- Introducción a la programación en GPU. CUDA y OpenCL.
- Programación en CUDA C: Modelo de arquitectura y modelo de ejecución, modelo de programación. La interfaz de programación CUDA C.
- Implementación de Algoritmos en CUDA C y OpenCL. Ejemplos.
3. Diseño de algoritmos paralelos para plataformas dotadas de GPUs
----------------------------------------------------------------------------------------------------------
1. Introduction to high performance architectures for computer graphics
- Multiprocessors
- Graphics Processing Units (GPUs)
2. GPU Programming
- Introduction to GPU programming. CUDA and OpenCL.
- Programming in CUDA C: Hardware, execution and programming model. CUDA C programming interface.
- Implementation of algorithms in CUDA C and OpenCL. Case studies.
3. Parallel algorithm design for platforms equipped with GPUs
Práctico
- Práctica 1. Programación de algoritmos paralelos para sistemas basados en GPU usando CUDA C.
- Práctica 2. Simulación numérica de leyes de conservación usando PyOpenCL.
----------------------------------------------------------------------------------------------------------
- Practical Assignment 1. Programming parallel algorithms for GPU-based systems using CUDA C
- Practical Assignment 2. Numerical simulation of conservation laws using PyOpenCL.
Bibliografía
Bibliografía fundamental
-
GPU Parallel Program Develoment Using CUDA. Tolga Soyata. CRC Press, 2018.
-
Professional CUDA C Programming. John Cheng, Max Grossman, Ty McKercher. John Wiley & Sons, 2014.
-
Programming Massively Parallel Processors, Second Edition: A Hands-on Approach. David B. Kirk, Wen-mei W. Hwu. Morgan Kaufmann. 2012.
-
OpenCL Programming Guide. A. Munshi, B. Gaster, T. G. Mattson, J. Fung, D. Ginsburg. Addison-Wesley Professional. 2011.
-
Introduction to Parallel Computing. Kumar, V., Grama, A., Gupta, A., Karypis G. Benjamin/Cummings Publishing Company, 2003.
-
Introducción a la Programación Paralela. F. Almeida, D. Gimenez, J. M. Mantas, A.M. Vidal. Paraninfo Cengage Learning, 2008.
Bibliografía complementaria
-
CUDA Handbook: A Comprehensive Guide to GPU Programming. Nicholas Wilt . Addison-Wesley, 2013.
-
Multicore and GPU Programming. An Integrated Approach. G. Barlas. Morgan Kaufmann. 2015.
Enlaces recomendados
Como apoyo a la docencia se usará la Plataforma de Recursos de Apoyo a la Docencia PRADO de la Universidad de Granada.
Metodología docente
- MD07 Análisis de fuentes y documentos
- MD09 Realización de trabajos individuales
- MD11 Desarrollo de foros on-line de debate, de trabajo, de información, de consultas.
- MD12 Material audiovisual editado por el profesor (Presentaciones con audio, capturas de pantalla con video, grabación de clases, páginas web)
- MD14 Cuestionarios de autoevaluación on-line
Evaluación (instrumentos de evaluación, criterios de evaluación y porcentaje sobre la calificación final.)
Evaluación Ordinaria
El artículo 18 de la Normativa de Evaluación y Calificación de los Estudiantes de la Universidad de Granada establece que la convocatoria ordinaria estará basada preferentemente en la evaluación continua del estudiante, excepto para quienes se les haya reconocido el derecho a la evaluación única final.
Se realizará una evaluación continua del trabajo del estudiante, valorando tanto los conocimientos adquiridos como las competencias alcanzadas.
Modalidad semipresencial
Para la evaluación en modalidad semipresencial se tendrá en cuenta:
1. Participación activa en el aula y en foros de debate o de recogida de información. Se propondrán distintos temas de debate para que se puedan discutir en el aula o a través de la plataforma docente. Se considerará igualmente en este elemento de evaluación la asistencia y participación activa en el aula durante las horas presenciales de impartición del curso (interés del estudiante, respuesta a las preguntas planteadas por el profesor durante la sesión, etc).
2. Resolución de ejercicios o entrega de trabajos, informes, a través de la plataforma docente. Se propondrán distintas actividades tanto teóricas como prácticas durante la impartición del curso cuya entrega se realizará a través de la plataforma docente PRADO.
3. Cuestionarios on-line. Se completarán diferentes cuestionarios durante la impartición del curso para asentar los conocimientos adquiridos.
Se tratará de realizar actividades adaptadas a la temática de los trabajos fin de máster que están realizando los estudiantes.
Se pedirá la entrega en tiempo y forma de las actividades propuestas a través de la plataforma PRADO.
La evaluación final se calculará considerando los siguientes porcentajes:
Sistema de evaluación |
Porcentaje |
Cuestionarios on-line |
30% |
Participación activa en el aula y en foros de debate o de recogida de información |
20% |
Resolución de ejercicios o entrega de trabajos, informes, a través de la plataforma docente |
50% |
Modalidad virtual
Para la evaluación en modalidad virtual se tendrá en cuenta:
1. Participación en foros de debate o de recogida de información. Se propondrán distintos temas de debate para que se puedan discutir en el aula o a través de la plataforma docente.
2. Resolución de ejercicios o entrega de trabajos, informes, a través de la plataforma docente. Se propondrán distintas actividades tanto teóricas como prácticas durante la impartición del curso cuya entrega se realizará a través de la plataforma docente PRADO.
3. Cuestionarios on-line. Se completarán diferentes cuestionarios durante la impartición del curso para asentar los conocimientos adquiridos.
Se tratará de realizar actividades adaptadas a la temática de los trabajos fin de máster que están realizando los estudiantes.
Se pedirá la entrega en tiempo y forma de las actividades propuestas a través de la plataforma PRADO.
La evaluación final se calculará considerando los siguientes porcentajes:
Sistema de evaluación |
Porcentaje |
Cuestionarios on-line |
30% |
Participación en foros de debate o de recogida de información |
20% |
Resolución de ejercicios o entrega de trabajos, informes, a través de la plataforma docente a través de Internet |
50% |
Aunque los criterios de evaluación en las dos modalidades son similares, las actividades a realizar para cada modalidad pueden diferir, al contar con herramientas distintas tanto para la adquisición de los conocimientos como para la evaluación.
A continuación se especifican las actividades formativas previstas así como su temporalización dependiendo de la modalidad de estudio:
Mod. Semipresencial | Mod. Virtual | |||
---|---|---|---|---|
Actividades | Horas lectivas | Horas presenc. | Presencialidad | Horas virtuales |
Clases teóricas | 9 | 9 |
33.3 |
10 |
Clases prácticas | 9 | 9 | 33.3 | 8 |
Trabajos Tutorizados | 6 | 6 | 33.3 | 6 |
Tutorías | 3 | 3 | 33.3 | 3 |
Evaluación | 3 | 3 | 33.3 | 3 |
Trabajo Autónomo | 45 | 45 | 45 | |
Total | 75 | 75 | 75 |
Se llevarán a cabo sesiones orales para el control, evaluación y seguimiento de todos los alumnos. Por una parte, se realizará una defensa oral de algunas entregas así como contestar a algunos cuestionarios planteados.
Se realizará el seguimiento de las incidencias y dificultades que tengan los estudiantes en la modalidad presencial y virtual a través de la herramienta PRADO.
Evaluación Extraordinaria
El artículo 19 de la Normativa de Evaluación y Calificación de los Estudiantes de la Universidad de Granada establece que los estudiantes que no hayan superado la asignatura en la convocatoria ordinaria dispondrán de una convocatoria extraordinaria. A ella podrán concurrir todos los estudiantes, con independencia de haber
seguido o no un proceso de evaluación continua. De esta forma, el estudiante que no haya realizado la evaluación continua tendrá la posibilidad de obtener el 100% de la calificación mediante la realización de una prueba y/o trabajo.
Evaluación única final
El artículo 8 de la Normativa de Evaluación y Calificación de los Estudiantes de la Universidad de Granada establece que podrán acogerse a la evaluación única final, el estudiante que no pueda cumplir con el método de evaluación continua por causas justificadas.
Para acogerse a la evaluación única final, el estudiante, en las dos primeras semanas de impartición de la asignatura o en las dos semanas siguientes a su matriculación si ésta se ha producido con posterioridad al inicio de las clases o por causa sobrevenidas. Lo solicitará, a través del procedimiento electrónico, a la Coordinación del Máster, quien dará traslado al profesorado correspondiente, alegando y acreditando las razones que le asisten para no poder seguir el sistema de evaluación continua.
La evaluación en tal caso consistirá en la realización de una prueba, un trabajo, y/o las actividades propuestas en la evaluación continua.
Información adicional
Siguiendo las indicaciones recogidas en la nueva Normativa de Evaluación y de Calificación de la Universidad de Granada, cuya entrada en vigor está vigente desde noviembre de 2016, destacamos lo recogido en el artículo 15 sobre la originalidad de los trabajos presentados por los alumnos.
1. La Universidad de Granada fomentará el respeto a la propiedad intelectual y transmitirá a los estudiantes que el plagio es una práctica contraria a los principios que rigen la formación universitaria. Para ello procederá a reconocer la autoría de los trabajos y su protección de acuerdo con la propiedad intelectual según establezca la legislación vigente.
2. El plagio, entendido como la presentación de un trabajo u obra hecho por otra persona como propio o la copia de textos sin citar su procedencia y dándolos como de elaboración propia, conllevará automáticamente la calificación numérica de cero en la asignatura en la que se hubiera detectado, independientemente del resto de las calificaciones que el estudiante hubiera obtenido. Esta consecuencia debe entenderse sin perjuicio de las responsabilidades disciplinarias en las que pudieran incurrir los estudiantes que plagien.
3. Los trabajos y materiales entregados por parte de los estudiantes tendrán que ir firmados con una declaración explicita en la que se asume la originalidad del trabajo, entendida en el sentido de que no ha utilizado fuentes sin citarlas debidamente.