Competencias del título |
Código
|
Competencias / Resultados del título
|
A2 |
CE2 - Analizar y mejorar el rendimiento de una arquitectura o un software dado |
A4 |
CE4 - Profundizar en el conocimiento de herramientas de programación y diferentes lenguajes en el campo de la computación de altas prestaciones |
A5 |
CE5 - Analizar, diseñar e implementar algoritmos y aplicaciones paralelas eficientes |
A7 |
CE7 - Conocer las arquitecturas emergentes en el campo de la supercomputación |
B1 |
CB6 - Poseer y comprender conocimientos que aporten una base u oportunidad de ser originales en el desarrollo y/o aplicación de ideas, a menudo en un contexto de investigación |
B2 |
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 |
B6 |
CG1 - Ser capaz de buscar y seleccionar la información útil necesaria para resolver problemas complejos, manejando con soltura las fuentes bibliográficas del campo |
B7 |
CG2 - Elaborar adecuadamente y con cierta originalidad composiciones escritas o argumentos motivados, redactar planes, proyectos de trabajo, artículos científicos y formular hipótesis razonables. |
C1 |
CT1 - Utilizar las herramientas básicas de las tecnologías de la información y las comunicaciones (TIC) necesarias para el ejercicio de su profesión y para el aprendizaje a lo largo de su vida |
Resultados de aprendizaje |
Resultados de aprendizaje |
Competencias / Resultados del título |
Analizar y mejorar el rendimiento de una arquitectura o un software dado |
AP2
|
BP1 BP2
|
CP1
|
Profundizar en el conocimiento de herramientas de programación y diferentes lenguajes en el campo de la computación de altas prestaciones |
AP4
|
BP6
|
CP1
|
Analizar, diseñar e implementar algoritmos y aplicaciones paralelas eficientes |
AP5
|
BP2
|
|
Conocer las arquitecturas emergentes en el campo de la supercomputación |
AP7
|
BP7
|
|
Contenidos |
Tema |
Subtema |
Estructura de sistemas heterogéneos CPU-GPU |
- |
Introducción a la programación en CUDA |
- |
Técnicas de optimización |
- |
Programación usando Streams |
- |
Programación de sistemas heterogéneos CPU-GPU usando OpenCL |
- |
Sistemas heterogéneos con FPGAs |
- |
Planificación |
Metodologías / pruebas |
Competencias / Resultados |
Horas lectivas (presenciales y virtuales) |
Horas trabajo autónomo |
Horas totales |
Prácticas de laboratorio |
A2 A4 B2 |
19 |
19 |
38 |
Trabajos tutelados |
A4 A5 B1 B2 B7 C1 |
4 |
80 |
84 |
Prueba objetiva |
A7 B7 |
1 |
0 |
1 |
Sesión magistral |
B6 |
23 |
0 |
23 |
|
Atención personalizada |
|
4 |
0 |
4 |
|
(*)Los datos que aparecen en la tabla de planificación són de carácter orientativo, considerando la heterogeneidad de los alumnos |
Metodologías |
Metodologías |
Descripción |
Prácticas de laboratorio |
En el aula de informática, se realizará aprendizaje basado en problemas y estudios de casos prácticos. Se hará una introducción a la programación de sistemas heteroxéneos procesador lógica sobre arquitectura Zynq-7000 con el entorno de desarrollo Vivado de Xilinx. Se programarán las GPUs con CUDA sobre lo cluster del CESGA o del GAC-UDC; y, se compararán con otros métodos de programación como el OpenCL. Competencias trabajadas: A2, A4, B2 |
Trabajos tutelados |
consulta de bibliografía, estudio autónomo, desarrollo de actividades programas, preparación de presentaciones y trabajos. Competencias trabajadas: A4, A5, B1, B2, B7, C1 |
Prueba objetiva |
Examen sobre los contenidos de la materia que combinará preguntas de teoría con la resolución de problemas. Competencias trabajadas: A7, B7 |
Sesión magistral |
Al estudiante se le indicará con anterioridade el material necesario que debe leer para seguir correctamente la explicación del profesor. En clase el profesor aclarará los aspectos más relevantes del tema, de forma interactiva con el estudiante. Competencias trabajadas: B6 |
Atención personalizada |
Metodologías
|
Prácticas de laboratorio |
Trabajos tutelados |
|
Descripción |
Prácticas de laboratorio: Atender y resolver dudas del alumnado en relación a las prácticas propuestas o realizadas en el laboratorio.
Trabajos tutelados: Atender y resolver dudas del alumnado en relación a los trabajos tutelados propuestos. |
|
Evaluación |
Metodologías
|
Competencias / Resultados |
Descripción
|
Calificación
|
Prácticas de laboratorio |
A2 A4 B2 |
En las sesiones de laboratorio se proponen el desarrollo dunas prácticas. Al final dalguhas sesiones se valora el correcto funcionamiento de la práctica, la estructuración del código y la comprensión de los conceptos trabajados mediante una prueba escrita. |
50 |
Trabajos tutelados |
A4 A5 B1 B2 B7 C1 |
El estudiante teñe que resolver un trabajo donde presentará una memoria y se valora el correcto funcionamiento del trabajo en el laboratorio. |
30 |
Prueba objetiva |
A7 B7 |
Corresponde a conocimientos impartidos en las sesiones magistrales. |
20 |
|
Observaciones evaluación |
En la segunda oportunidad los criterios y actividad de evaluación son los mismos que en la primera oportunidad. Cualificación de suspenso en la convocatoria en que se cometa la falta y respeto de la materia en que se cometiera: el/la estudiante será calificado con “suspenso” (nota numérica 0) en la convocatoria correspondiente del curso académico, tanto si la comisión de la falta se produce en la primera oportunidad como en la segunda. Para esto, se procederá a modificar su cualificación en el acta de la primera oportunidad, si fuera necesario. Los estudiantes con reconocimiento de dedicación a tiempo parcial y dispensa académica de exención de asistencia teniente exención de asistencia seguiría los mismos criterios que la modalidad no presencial.
|
Fuentes de información |
Básica
|
Ryan Kastner, Janarbek Matai, and Stephen Neuendorffer (2018). Parallel Programming for FPGAs. http://hlsbook.ucsd.edu
David Kirk and Wen-mei Hwu (2016). Programming Massively Parallel Processors. Morgran Kauffmann |
|
Complementária
|
Jason Sanders (2010). CUDA by Example: An Introduction to General-Purpose GPU Programming. Addison Wesley
B. R. Gaster, L. Howes, D. R. Kaeli, P. Mistry, D. Schaa (2013). Heterogeneous Computing with OpenCL. Morgan Kaufmann
D. R. Kaeli, P. Mistry, Dana Schaa, and D. P. Zhang (2015). Heterogeneous Computing with OpenCL 2.0.. Morgan Kaufmann Publishers Inc.
L. H. Crokett, R. Elliot and M. Ederwitz (2014). The Zynq Book: Embedded Processing with the ARM Cortex-A9 on the Xilinx Zynq-7000. All Programmable SoC. Strathclyde Academic Media |
|
Recomendaciones |
Asignaturas que se recomienda haber cursado previamente |
|
Asignaturas que se recomienda cursar simultáneamente |
Arquitectura de Altas Prestaciones/614473101 | Programación Paralela/614473102 |
|
Asignaturas que continúan el temario |
Programación Paralela Avanzada/614473107 |
|
Otros comentarios |
Según se recoge en las distintas normativas de aplicación para la docencia universitaria se deberá incorporar la perspectiva de género en esta materia: - Se usará lenguaje no sexista, se utilizará bibliografía de autores/as de ambos sexos, se propiciará la intervención en clase de alumnos y alumnas...) -Se trabajará para identificar y modificar perjuicios y actitud sexistas y se influirá en el entorno para modificarlos y fomentar valores de respeto e igualdad. -Se deberán detectar situaciones de discriminación por razón de género y se propondrán acciones y medidas para corregirlas.
Aquellos alumnos que presenten trabajos o realicen pruebas de evaluación de forma no presencial, se les podrá solicitar también la firma digital de los mismos y/o una declaración jurada sobre la autoría de los mismos. |
|