Datos Identificativos 2024/25
Asignatura (*) Programación de Arquitecturas Heteroxéneas Código 614473103
Titulación
Descriptores Ciclo Período Curso Tipo Créditos
Mestrado Oficial 1º cuadrimestre
Primeiro Obrigatoria 6
Idioma
Castelán
Modalidade docente Híbrida
Prerrequisitos
Departamento Departamento profesorado máster
Enxeñaría de Computadores
Coordinación
Amor Lopez, Margarita
Correo electrónico
margarita.amor@udc.es
Profesorado
Amor Lopez, Margarita
González Domínguez, Jorge
Correo electrónico
margarita.amor@udc.es
jorge.gonzalezd@udc.es
Web
Descrición xeral Os e as estudantes adquirirán a formación básica para analizar as arquitecturas heteroxéneas con aceleradores tales como unha GPU, como
alternativa aos sistemas multi-núcleo en procesadores de propósito xeral, e quedarán capacitados/as para contrastar as súas prestacións e
rendemento. Adicionalmente, desenvolverán software eficiente para estas novas plataformas a través das linguaxes que xurdiron nos últimos anos
para aplicacións de propósito xeral. Así, iniciarase aos e as estudantes a algunhas das aproximacións máis estendidas para a programación de
sistemas heteroxéneos. Para finalizar, familiarizaremos aos e as estudante coas técnicas de optimización orientadas ás xeracións máis avanzadas dos
sistemas heteroxéneos.

Competencias / Resultados do título
Código Competencias / Resultados do título

Resultados de aprendizaxe
Resultados de aprendizaxe Competencias / Resultados do título
Analizar e mellorar o rendemento dunha arquitectura ou un software dado AP2
BP1
BP2
CP1
Profundar no coñecemento de ferramentas de programación e diferentes linguaxes no campo da computación de altas prestacións AP4
BP6
CP1
Analizar, deseñar e implementar algoritmos e aplicacións paralelas eficientes AP5
BP2
Coñecer as tecnoloxías e ferramentas dispoñíbeis para a computación en sistemas distribuídos sobre unha rede AP7
BP7

Contidos
Temas Subtemas
Estrutura de sistemas heteroxéneos CPU- GPU -
Introdución á programación en CUDA -
Técnicas de optimización -
Programación usando Streams -
Programación de sistemas heteroxéneos CPU- GPU usando OpenCL -
Sistemas heteroxéneos con FPGAs -

Planificación
Metodoloxías / probas Competencias / Resultados Horas lectivas (presenciais e virtuais) Horas traballo autónomo Horas totais
Prácticas de laboratorio A2 A4 B2 19 19 38
Traballos tutelados A4 A5 B1 B2 B7 C1 4 80 84
Proba obxectiva A7 B7 1 0 1
Sesión maxistral B6 23 0 23
 
Atención personalizada 4 0 4
 
*Os datos que aparecen na táboa de planificación son de carácter orientativo, considerando a heteroxeneidade do alumnado

Metodoloxías
Metodoloxías Descrición
Prácticas de laboratorio Na aula de informática, realizarase aprendizaxe baseada en problemas e estudos de casos prácticos. Farase unha introdución á programación de sistemas heteroxéneos procesador+lóxica sobre arquitectura Zynq-7000 coa contorna de desenvolvemento Vivado de Xilinx. Programaranse as GPUs con CUDA sobre o cluster do CESGA ou do GAC-UDC; e, compararanse con outros métodos de programación como o OpenCL. Competencias trabajadas: A2, A4, B2
Traballos tutelados consulta de bibliografía, estudo autónomo, desenvolvemento de actividades programas, preparación de presentacións e traballos. Competencias traballadas: A4, A5, B1, B2, B7, C1
Proba obxectiva Exame sobre os contidos da materia que combinará preguntas de teoría coa resolución de problemas. Competencias traballadas: A7, B7
Sesión maxistral Ao estudante indicaráselle con anterioridade o material necesario que debe ler para seguir correctamente a explicación do profesor. En clase o profesor aclarará os aspectos máis relevantes do tema, de forma interactiva co estudante. Competencias traballadas: B6

Atención personalizada
Metodoloxías
Prácticas de laboratorio
Traballos tutelados
Descrición
Prácticas de laboratorio: Atender e resolver dúbidas do alumnado en relación ás prácticas propostas ou realizadas no laboratorio.

Traballos tutelados: Atender e resolver dúbidas do alumnado en relación aos traballos tutelados propostos.

Avaliación
Metodoloxías Competencias / Resultados Descrición Cualificación
Prácticas de laboratorio A2 A4 B2 Na aula de informática, realizarase aprendizaxe baseada en problemas e estudos de casos prácticos. Farase unha introdución á aceleración de aplicacións en lóxica programable mediante síntesis de alto nivel . Programaranse as GPUs con CUDA sobre o cluster do CESGA ou do GAC-UDC; e, compararanse con outros métodos de programación como o OpenCL. 50
Traballos tutelados A4 A5 B1 B2 B7 C1 O estudante teñe que resolver un traballo onde presentará unha memoria e valórase o correcto funcionamento do traballo no laboratorio, se corresponde 30
Proba obxectiva A7 B7 Corresponde a coñecementos impartidos nas sesións maxistrales. 20
 
Observacións avaliación

Na segunda oportunidade os criterios e actividade de avaliación son os mesmos que na primeira oportunidade.

Todos os aspectos relacionados con “dispensa académica”“dedicación ao estudo”“permanencia” e “fraude académica” rexeranse de acordo coa normativa académica vixente da UDC.


Fontes de información
Bibliografía 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

Bibliografía complementaria 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


Recomendacións
Materias que se recomenda ter cursado previamente

Materias que se recomenda cursar simultaneamente
Arquitectura de Altas Prestacións/614473101
Programación Paralela/614473102

Materias que continúan o temario
Programación Paralela Avanzada/614473107

Observacións
Segundo se recolle nas distintas normativas de aplicación para a docencia universitaria deberase incorporar a perspectiva de xénero nesta materia: 

- Usarase linguaxe non sexista, utilizarase bibliografía de autores/as de ambos sexos, propiciarase a intervención en clase de alumnos e alumnas...)
-Traballarase para identificar e modificar prexuízos e actitudes sexistas e influirase na contorna para modificalos e fomentar valores de respecto e igualdade.
-Deberanse detectar situacións de discriminación por razón de xénero e proporanse accións e medidas para corrixilas.

A aqueles alumnos que presenten traballos ou realicen probas de avaliación de forma non presencial, poderáselles solicitar tamén a firma dixital dos mesmos e/ou unha declaración xurada sobre a autoría dos mesmos.



(*)A Guía docente é o documento onde se visualiza a proposta académica da UDC. Este documento é público e non se pode modificar, salvo casos excepcionais baixo a revisión do órgano competente dacordo coa normativa vixente que establece o proceso de elaboración de guías