En esta asignatura los estudiantes estudiarán en profundidad el funcionamiento de una tarjeta gráfica actual. Haciendo especial hincapié en sus puntos fuertes y en sus limitaciones arquitectónicas.También se estudiará la creciente relación de estos dispositivos con la Supercomputación y los nuevos aceleradores que están apareciendo en el mercado.
Profesorado
Responsable
Agustín Fernández Jiménez (
)
Otros
Daniel Jimenez Gonzalez (
)
Eduard Ayguadé Parra (
)
Horas semanales
Teoría
2
Problemas
0
Laboratorio
2
Aprendizaje dirigido
0
Aprendizaje autónomo
6
Competencias
Competencias Técnicas
Competencias técnicas comunes
CT1 - Demostrar conocimiento y comprensión de hechos esenciales, conceptos, principios y teorías relativas a la informática y a sus disciplinas de referencia.
CT1.1B
- Interpretar, seleccionar y valorar conceptos, teorías, usos y desarrollos tecnológicos relacionados con la informática y su aplicación a partir de los fundamentos matemáticos, estadísticos y físicos necesarios. CEFB2. Capacidad para comprender y dominar los fundamentos físicos y tecnológicos de la informática: electromagnetismo, ondas, teoría de circuitos, electrónica y fotónica y su aplicación para la resolución de problemas propios de la ingeniería.
CT6 - Demostrar conocimiento y comprensión del funcionamiento interno de un computador y del funcionamiento de las comunicaciones entre ordenadores.
CT6.2
- Demostrar conocimiento, comprensión y capacidad de evaluar la estructura y la arquitectura de los computadores, así como los componentes básicos que los conforman.
CT6.3
- Demostrar conocimiento de las características, funcionalidades y estructura de los Sistemas Operativos que permita su uso adecuado, administración y diseño, así como la implementación de aplicaciones basadas en sus servicios.
CT7 - Evaluar y seleccionar plataformas de producción hardware y software para la ejecución de aplicaciones y de servicios informáticos.
CT7.1
- Demostrar conocimiento de las métricas de calidad y saber utilizarlas.
CT7.2
- Evaluar sistemas hardware/software en función de un criterio de calidad determinado.
Competencias Transversales
Comunicación eficaz oral y escrita
G4 [Avaluable] - Comunicar de forma oral y escrita con otras personas conocimientos, procedimientos, resultados e ideas. Participar en debates sobre temas propios de la actividad del ingeniero técnico en informática.
G4.2
- Utilizar estrategias para preparar y llevar a cabo las presentaciones orales y redactar textos y documentos con un contenido coherente, una estructura y un estilo adecuados y un buen nivel ortográfico y gramatical. Hacer una presentación oral ante un auditorio restringido. Escoger adecuadamente los contenidos, el estilo, la temporización y el formato de la presentación. Capacidad de comunicación efectiva con el usuario en un lenguaje no técnico así como de comprender sus necesidades.
Competencias Técnicas de cada especialidad
Especialidad ingeniería de computadores
CEC2 - Analizar y evaluar arquitecturas de computadores incluyendo plataformas paralelas y distribuidas, y desarrollar y optimizar software para dichas plataformas.
CEC2.1
- Analizar, evaluar, seleccionar y configurar plataformas hardware para el desarrollo y la ejecución de aplicaciones y servicios informáticos.
CEC2.2
- Programar considerando la arquitectura hardware, tanto en ensamblador como en alto nivel.
CEC3 - Desarrollar y analizar hardware y software para sistemas empotrados y/o de muy bajo consumo.
CEC3.1
- Analizar, evaluar y seleccionar las plataformas hardware y software más adecuadas para el soporte de aplicaciones empotradas y de tiempo real.
Especialidad de computación
CCO2 - Desarrollar de forma efectiva y eficiente los algoritmos y el software apropiados para resolver problemas complejos de computación.
CCO2.6
- Diseñar e implementar aplicaciones gráficas, de realidad virtual, de realidad aumentada y videojuegos.
CCO3 - Desarrollar las soluciones informáticas que, considerando el entorno de ejecución y la arquitectura del computador sobre el cual se ejecutan, consigan el mejor rendimiento.
CCO3.1
- Implementar código crítico siguiendo criterios de tiempo de ejecución, eficiencia y seguridad.
CCO3.2
- Programar considerando la arquitectura hardware, tanto en ensamblador como en alto nivel.
Objetivos
Conocer en profundidad el funcionamiento de una tarjeta gráfica
Competencias relacionadas:
CT7.2,
CEC2.2,
CEC3.1,
CCO3.2,
Conocer las limitaciones de una tarjeta gráfica en la ejecución de aplicaciones de propósito general.
Competencias relacionadas:
CEC2.1,
CT7.1,
CT7.2,
Conocer las técnicas básicas para implementar aplicaciones de propósito general en una tarjeta gráfica.
Competencias relacionadas:
G4.3,
CT6.3,
G4.2,
CEC2.2,
CCO3.1,
CCO3.2,
G7.3,
CT1.1B,
Conocer las posibilidades que ofrece una tarjeta gráfica para implementar aplicaciones gráficas no interactivas.
Competencias relacionadas:
G4.3,
CCO2.6,
CT6.3,
G4.2,
CEC2.2,
CCO3.1,
CCO3.2,
G6.2,
G7.3,
Dados unos requerimientos de rendimiento, evaluar cual es la mejor alternativa hardware para alcanzarlos.
Competencias relacionadas:
CEC2.1,
CT6.3,
CT7.1,
CT7.2,
CT6.2,
CEC3.1,
CT1.1B,
Contenidos
Tema 1: Introducción
- Historia de las Tarjetas Gáficas
- El pipeline gráfico
TEMA 2: Componentes fundamentales de una tarjeta gráfica
- Shaders
- Rasterización
- Texturas
- Antialiasing
- Z-Buffer
TEMA 3: Ejemplos Comerciales
- Evolución Histórica del hardware gráfico
- Ejemplos Clásicos
- Ejemplos Actuales
TEMA 4: Computación de Altas Prestaciones
- CPUs vs GPUs
- Supercomputación y GPUs
- Paradigmas de computación/paralelismo
- Sistemas MultiGPU
- Aceleradores
TEMA 5: Aspectos Software
- GPGPU
- CUDA
- OpenGL
- DirectX
- Shader Assembly and Shading Languages
Es un examen no presencial. Alrededor de la semana 13 se entregará el examen en horario de clase. Los estudiantes tienen 2 semanas para realizar el examen. Cada pregunta de examen tiene un espacio limitado para responder. Las respuestas han de ser concisas, claras y correctas. Objetivos:12345 Semana:
13 Tipo:
examen de teoría
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
30h
CUDA
Se presentarán las herramientas básicas que ofrece CUDA para la programación de tarjetas gráficas. Objetivos:3 Contenidos:
Se presentarán diversos ejemplos de tarjetas gráficas comerciales, con el objetivo de entender el diseño actual de las mismas. Objetivos:125 Contenidos:
Describir las técnicas clásicas de GPGPU y cómo sus limitaciones han influido en el diseño de las nuevas arquitecturas y lenguajes de programación. Objetivos:23 Contenidos:
Durante el curso, y dependiendo de la disponibilidad, se impartirán charlas de temas afines. Objetivos:12345
Teoría
4h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
4h
Metodología docente
Hay dos tipos de clases: clases de teoría y de laboratorio.
Durante las primeras semanas no se realizarán clases de laboratorio.
Las clases de teoría serán expositivas por parte del profesor, incluyendo conceptos teóricos, ejemplos prácticos y resolución de ejercicios formativos.
Las clases de laboratorio serán de dos tipos: las primeras clases serán dirigidas, orientadas a conocer las herramientas y los lenguajes de programación utilizados; las siguientes clases estarán orientadas a la realización de un pequeño proyecto.
Además, dependiendo de las disponibilidades de cada curso, se harán conferencias a cargo de expertos.
Método de evaluación
50% Examen NO presencial
50% Laboratorio
El Examen NO presencial se realizará a final de curso. El enunciado se entregará en clase y se devolverá resuelto pasados unos 10 días. Es una prueba individual que deberá realizarse a mano en las hojas de examen repartidas por el profesor.
La nota de laboratorio se obtiene a partir de las notas de seguimento de las sesiones de prácticas que elabora cada profesor y de la evaluación del proyecto. Para evaluar el proyecto los estudiantes deberán entregar una memoria escrita.