Créditos
6
Tipos
Optativa
Requisitos
Esta asignatura no tiene requisitos
, pero tiene capacidades previas
Departamento
AC
Profesorado
Responsable
- Agustín Fernández Jiménez ( agustin@ac.upc.edu )
Otros
- Daniel Jimenez Gonzalez ( djimenez@ac.upc.edu )
- Eduard Ayguadé Parra ( eduard@ac.upc.edu )
Horas semanales
Teoría
2
Problemas
0
Laboratorio
2
Aprendizaje dirigido
0
Aprendizaje autónomo
6
Competencias
Competencias técnicas comunes
- 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.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.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.
Comunicación eficaz oral y escrita
- 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.
Especialidad ingeniería de computadores
- 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.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.6 - Diseñar e implementar aplicaciones gráficas, de realidad virtual, de realidad aumentada y videojuegos.
- 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, CEC3.1, CCO3.2, CEC2.2, -
Conocer las limitaciones de una tarjeta gráfica en la ejecución de aplicaciones de propósito general.
Competencias relacionadas: CT7.1, CT7.2, CEC2.1, -
Conocer las técnicas básicas para implementar aplicaciones de propósito general en una tarjeta gráfica.
Competencias relacionadas: CT6.3, G4.3, CCO3.1, G7.3, CT1.1B, G4.2, CCO3.2, CEC2.2, -
Conocer las posibilidades que ofrece una tarjeta gráfica para implementar aplicaciones gráficas no interactivas.
Competencias relacionadas: G4.2, CT6.3, CCO2.6, G4.3, G6.2, CCO3.1, CCO3.2, G7.3, CEC2.2, -
Dados unos requerimientos de rendimiento, evaluar cual es la mejor alternativa hardware para alcanzarlos.
Competencias relacionadas: CT1.1B, CT6.2, CT6.3, CT7.1, CT7.2, CEC2.1, CEC3.1,
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 -
TEMA 6: Aspectos Tecnológicos
- Refrigeración
- Overclocking
- Benchmarking
- Buses
- Conectores
Actividades
Actividad Acto evaluativo
Examen Final
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: 1 2 3 4 5
Semana: 13
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
0h
CUDA
Se presentarán las herramientas básicas que ofrece CUDA para la programación de tarjetas gráficas.Objetivos: 3
Contenidos:
Teoría
6h
Problemas
0h
Laboratorio
14h
Aprendizaje dirigido
0h
Aprendizaje autónomo
14h
Teoría
4h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
2h
Historia
Visión histórica de la evolución de las tarjetas gráficas, desde el primer PC hasta hoy.Objetivos: 1
Contenidos:
Teoría
2h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
0h
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 presencial50% 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.
Bibliografía
Básico
-
Estructura y diseño de computadores: la interfaz software/hardware
- Patterson, D.A.; Hennessy, J.L,
Reverté,
2011.
ISBN: 9788429126204
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991003859419706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Programming massively parallel processors : a hands-on approach
- Hwu, Wen-mei W.; Kirk, D.B.; El Hajj, I,
Morgan Kaufmann,
2023.
ISBN: 9780323912310
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991005136979006711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Procesadores gráficos para PC
- Ujaldón Martínez, M,
Ciencia 3,
2005.
ISBN: 8495391090
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991003042859706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Heterogeneous computing with OpenCL
- Gaster B.R.; Howes, L.; Kaeli, D.R.; Mistry, P.; Schaa, D,
Elsevier/Morgan Kaufmann,
2013.
ISBN: 9780124058941
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004025809706711&context=L&vid=34CSUC_UPC:VU1&lang=ca
Capacidades previas
Conocimientos básicos sobre arquitectura de computadores.Conocimientos básicos sobre gráficos.