Máster Universitario en Informática Gráfica, VideoJuegos y Realidad Virtual

Procesadores Gráficos y Aplicaciones en Tiempo Real-II

Procesadores Gráficos y Aplicaciones en Tiempo Real-II

RESUMEN:

  • Asignatura: Optativa
  • Nº de créditos: 3
  • Cuatrimestre: Segundo
  • Conocimientos recomendados: haber cursado Gráficos 3D, Realidad Virtual e Interacción, PGATR-I así como tener nociones de lenguaje C, OpenGL y matemáticas básicas (álgebra lineal…).

PRESENTACIÓN:

Los procesadores gráficos modernos, que podemos encontrar en las tarjetas gráficas para PC y en las consolas, tienen arquitecturas muy sofisticadas que explotan las ideas de paralelismo de una forma innovadora y poco convencional. Con múltiples procesadores especializados y un extraordinario ancho de banda son capaces de mantener velocidades de cálculo sostenidas al menos un orden de magnitud por encima de las CPUs más avanzadas. Las prestaciones y funcionalidad de las GPUs crecen a un ritmo superior al marcado por el incremento de la densidad de integración de la ley de Moore.

Aunque su aplicación principal es la representación tridimensional de escenas en tiempo real y este incremento les ayuda a dar vida a entornos cada vez más realistas y complejos, sus capacidades los hacen muy atractivos en otros campos como potentes coprocesadores de bajo coste (cálculo científico, imagen médica, visión artificial…).

Para poder obtener el mejor rendimiento en nuestras aplicaciones (gráficas) es necesario conocer en cierto detalle la arquitectura de las plataformas en las que se vayan a ejecutar. Los profesionales más valorados (en parte por su escasez) son aquellos que saben conjugar la facilidad de análisis y desarrollo con el buen uso de los recursos, ya que esta suele ser la llave para un producto de éxito.

En esta asignatura se estudiará la arquitectura de los chips gráficos y el resto de elementos de la tarjeta gráfica, su evolución como cauce clásico y las nuevas tendencias en la arquitectura unificada. La Universidad cuenta con con la distinción CUDA Teaching Center. que reconoce el esfuerzo del profesorado del Máster por impartir en sus programas docentes materia íntimamente ligada con la tecnología de NVIDIA. El planteamiento es eminentemente práctico, por lo que las clases teóricas, en las que se explicarán los fundamentos hardware que sirven de pilares a esta tecnología, se complementan con multitud de ejercicios y prácticas en el laboratorio, en los que se ilustrará cómo se programan estos chips para sacar partido de toda su capacidad potencial.

Además, los alumnos tendrán la oportunidad de poner en práctica sus conocimientos y adquirir un primer contacto en el campo de la investigación mediante la realización de un proyecto aplicado con un fuerte carácter en arquitectura.

 

Resultados de aprendizaje:

  • Capacidad para comprender y asimilar cambios en este tipo de arquitecturas
  • Capacidad para desarrollar shaders de cómputo.
  • Conocer nuevas técnicas de computational graphics

Ser capaz de desarrollar trabajos de investigación relacionados con procesadores gráficos.

TEMARIO:

Breve descripción de los contenidos:

  • Compute shaders y novedades en las APIs gráficas.
  • Biblioteca gráfica de bajo nivel para la creación de gráficos 3D y efectos. Computational Graphics: OpenCL, granjas de render, consumo, arquitecturas para móviles.

PRÁCTICAS:

 

NORMATIVA:

Procesadores Gráficos y Aplicaciones en Tiempo Real forma parte de un grupo de 3 asignaturas del segundo semestre que siguen una dinámica conjunta en cuanto a la distribución de contenidos didácticos y pruebas de evaluación. Junto con Animación y Simulación Avanzada y Rendering Avanzado se da la opción de cursar una de ellas de forma completa (parte obligatoria + parte opcional), y en las otras dos sólo se exigen los contenidos y pruebas de la parte obligatoria.

En general, la asignatura que se elija como completa, además de contenidos más avanzados y prácticas extras, requiere la realización de un proyecto de investigación parcialmente guiado en el contexto de la asignatura elegida. Este trabajo puede adecuarse a los intereses del alumno de modo que suponga un primer paso en el Proyecto de Fin de Máster.

  • Clases teóricas
    • Las clases presenciales no son obligatorias, si bien se recomienda la asistencia, ya que los temas tratados en la asignatura son avanzados y sólo una pequeña fracción de lo explicado en clase se recoge en las transparencias.
    • Es posible asistir a las clases teóricas de la asignatura en calidad de oyente aunque se haya convalidado o no se curse la asignatura siempre que se esté matriculado del Máster.
    • Aquellas charlas y conferencias que se consideren de gran interés podrán ser objeto de preguntas en el examen teórico y fuente de ideas para los proyectos. Se habilitarán los recursos necesarios para su visualización.
  • Laboratorios
    • El criterio más importante es la funcionalidad:  una práctica o proyecto modesto será evaluada mucho más favorablemente que un “proyecto” ambicioso que sólo da core-dumps. Los siguientes criterios que se tendrán en cuenta son:
      • La manera de resolver el problema con el programa
      • Estructuras de datos y diseño de los algoritmos
      • Claridad y documentación en el código
      • Eficiencia y elegancia en la implementación.
    • Se procura alentar el diálogo y el trabajo en equipo, pero por favor trabajad de forma independiente (a menos que el trabajo sea en grupos).

CÓDIGO DE HONOR:

El código que se entregue en las prácticas debe contener únicamente: código escrito sólo por ti y tus compañeros de grupo, código escrito por tí en prácticas previas o con el permiso de los estudiantes involucrados en los grupos a los que hayas pertenecido previamente, y el código de las librerías permitidas para cada una de las prácticas. En el caso del proyecto de investigación de la asignatura se pueden utilizar librerías externas con el consentimiento previo de los profesores.

Os animamos a que hableis más allá de vuestro grupo de trabajo sobre temas de diseño, depuración, matemáticas… relacionados con los proyectos (salvo en el caso en el que haya cuestiones especificas en la especificación del proyecto que los hagan susceptibles de evaluación directa). El conjunto del trabajo realizado en esta asignatura refleja vuestra madurez y se espera un comportamiento profesional. Podéis preguntar respecto a cuál es la conducta adecuada en un caso específico. Si accidentalmente habéis transgredido el código de honor es importante que lo discutáis inmediatamente con alguno de los profesores para evitar un malentendido.