Competencias do título |
Código
|
Competencias / Resultados do título
|
A2 |
CE2 - Analizar e mellorar o rendimento dunha arquitectura ou un software dado |
A4 |
CE4 - Afondar no coñecemento de ferramentas de programación e diferentes linguaxes no campo da computación de altas prestacións |
A5 |
CE5 - Analizar, deseñar e implementar algoritmos e aplicacións paralelas eficientes |
A7 |
CE7 - Coñecer as arquitecturas emerxentes no campo da supercomputación |
B1 |
CB6 - Posuir e comprender coñecementos que aporten unha base ou oportunidade de ser orixinais no desenrolo e/ou aplicación de ideas, a miudo nun contexto de investigación |
B2 |
CB7 - Que os estudantes saiban aplicar os coñecementos adquiridos e súa capacidade de resolución de problemas en contornas novas ou pouco coñecidas dentro de contextos máis amplos (ou multidisciplinares) relacionados coa súa área de estudo |
B6 |
CG1 - Ser capaz de buscar e seleccionar a información útil necesaria para resolver problemas complexos, manexando con soltura as fontes bibliográficas do campo |
B7 |
CG2 - Elaborar adecuadamente e con certa orixinalidade composicións escritas ou argumentos motivados, redactar plans, proxectos de traballo, artigos científicos e formular hipótesis razoables. |
C1 |
CT1 -Utilizar as ferramentas básicas das tecnoloxías da información e as comunicacións (TIC) necesarias para o exercicio da súa profesión e para a aprendizaxe ao longo da súa vida. |
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. Cualificación de suspenso na convocatoria en que se cometa a falta e respecto da materia en que se cometese: o/a estudante será cualificado con “suspenso” (nota numérica 0) na convocatoria correspondente do curso académico, tanto se a comisión da falta se produce na primeira oportunidade como na segunda. Para isto, procederase a modificar a súa cualificación na acta de primeira oportunidade, se fose necesario. Os estudantes con recoñecemento de dedicación a tempo parcial e dispensa académica de exención de asistencia tenente exención de asistencia seguiría os mesmos criterios que a modalidade non presencial.
|
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. |
|