Datos Identificativos 2014/15
Asignatura (*) Computación Científica en Arquitecturas Emerxentes Código 614473003
Titulación
Mestrado Universitario en Computación de Altas Prestacións
Descriptores Ciclo Período Curso Tipo Créditos
Mestrado Oficial 2º cuadrimestre
Primeiro Optativa 3
Idioma
Castelán
Prerrequisitos
Departamento Electrónica e Sistemas
Coordinación
Amor Lopez, Margarita
Correo electrónico
margarita.amor@udc.es
Profesorado
Amor Lopez, Margarita
Correo electrónico
margarita.amor@udc.es
Web
Descrición xeral Neste curso proponse unha introdución ás diversas arquitecturas emerxentes que
están xurdindo como resposta a unha demanda de computación intensiva á que non
responde as arquitecturas convencionais (procesadores mononúcleo e procesadores
multinúcleos homogéneos). Na primeira parte da asignatura xustifícase o crecente
interese na explotación de arquitecturas emerxentes como plataformas alternativas
para a computación científica. En concreto centrarémonos/centrarémosnos en dous das arquitecturas
con maior impacto para computación de propósito xeral, as GPUs (Graphics
Processing Unit) e as FPGAs (Field-Programmable Gate Array). Na segunda parte
do temario, estudarase a arquitectura das GPUs. Ademais, presentaranse as
principais linguaxes de programación das GPUs enfocados á mantenta xeral.
Tamén se presentarán os problemas da programación desta arquitectura e as
técnicas de optimización para solucionalos. Na última parte do temario abordarase
o estudo das FPGAs, tanto a súa estrutura como a súa programación.

Competencias do título
Código Competencias da titulación
A2 Definir, avaliar e seleccionar a arquitectura e o software máis axeitado para a resolución dun problema.
A4 Profundizar no coñecemento das ferramentas de programación e particularmente en entornos Unix e linguaxes C e Fortran.
A5 Coñecer as arquitecturas emerxentes no campo da supercomputación.
A6 Analizar, deseñar e implementar algoritmos e aplicacións paralelas eficientes.
A12 Coñecer as tendencias en supercomputación así como a súa utilización práctica nos sectores industrial, académico e público.
B1 Aplicar os coñecementos adquiridos e a súa capacidade de resolución de problemas en contornos novos ou pouco coñecidos dentro de contextos máis amplos (ou multidisciplinares) relacionados coa súa área de estudo.
B3 Comunicar conclusións (e os coñecementos e razóns últimas que as sustentan) a públicos especializados e non especializados dun modo claro e sen ambigüidades.
B5 Coñecer e experimentar o método científico de investigación.
B6 Capacidade de análise e síntese.
B8 Motivación pola calidade e mellora contínua.
B9 Usar as novas tecnoloxías.
B10 Buscar e seleccionar a información útil necesaria para resolver problemas complexos, manexando con soltura as fontes bibliográficas do campo.
B13 Expor, defender e discutir propostas.
C1 Expresarse correctamente, tanto de forma oral coma escrita, nas linguas oficiais da comunidade autónoma.
C2 Dominar a expresión e a comprensión de forma oral e escrita dun idioma estranxeiro.
C3 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.
C4 Desenvolverse para o exercicio dunha cidadanía aberta, culta, crítica, comprometida, democrática e solidaria, capaz de analizar a realidade, diagnosticar problemas, formular e implantar solucións baseadas no coñecemento e orientadas ao ben común.
C6 Valorar criticamente o coñecemento, a tecnoloxía e a información dispoñible para resolver os problemas cos que deben enfrontarse.
C7 Asumir como profesional e cidadán a importancia da aprendizaxe ao longo da vida.

Resultados de aprendizaxe
Competencias de materia (Resultados de aprendizaxe) Competencias da titulación
Definir, avaliar e seleccionar a arquitectura e o software máis axeitado para a resolución dun problema científico AI2
AI5
AI6
BI5
BI6
BI9
BI10
CM3
CM7
Evaluar a eficiencia de diferentes implementaciones AI2
AI6
BI6
CM6
Coñecemento das tecnoloxías, que capaciten para a aprendizaxe e desenvolvemento de novas propostas, así como a capacidade para enfrontarse a outras arquitecturas emerxentes AI4
AI12
BI1
BI5
CM4
Capacidade para resolver problemas con iniciativa, toma de decisións, autonomía e creatividade. Capacidade para saber comunicar e transmitir os coñecementos BI3
BI8
BI13
CM1
CM2

Contidos
Temas Subtemas
PARTE I.
1.Introducción
1. La crisis del hardware
2. Arquitecturas emergentes:
2.1 Multinúcleos heterogéneos.
2.2 FPGAs
2.3 GPU (Graphics Processing Unit)
PARTE II.

2. Arquitectura de la GPU
1. Introducción. Generaciones de la GPU
2. Estructura de la GPU
3. Arquitectura Tesla de Nvidia
4. Arquitectura Streaming de AMD
3. Programación de la GPU para propósito general 1. Introducción.
2. Modelo de programación
3. Lenguajes de programación para propósito general:
2.1 CUDA de Nvidia
2.2 OpenCL

4. Técnicas de optimización 1. Utilización de instrucciones intrínsecas
2. Optimización del uso de la memoria de la GPU
3. Minimización de la transferencia CPU-GPU
4. Planificación de tareas
PARTE III.

5.- FPGAs

1.- Dispositivos configurables
2.- Estructura de las FPGASs
3.- Metodología de diseño y prototipado.

Planificación
Metodoloxías / probas Horas presenciais Horas non presenciais / traballo autónomo Horas totais
Sesión maxistral 8 12 20
Traballos tutelados 1 22 23
Prácticas de laboratorio 15 15 30
 
Atención personalizada 2 0 2
 
*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
Sesión maxistral Exposición oral complementada co uso de medios audiovisuales e a introdución de fases de debate cos estudantes. Todo iso coa finalidade de transmitir coñecementos e facilitar a aprendizaxe.
Realizaranse sesións magistrales sobre gran parte dos contidos do temario, normalmente como punto de partida para o resto de actividades previstas para cada punto.
Traballos tutelados Actividade que permite aos alumnos estudar en maior profundidade unha aplicación específica directamente relacionada con algún dos contidos da materia. Unha vez desenvolvido terá que entregar un informe sobre o mesmo.
Prácticas de laboratorio Actividade que permite aos estudantes aprender e afianzar os coñecementos xa adquiridos mediante a realización de sesións prácticas en ordenadores.

As prácticas faranse utilizando tarxetas gráficas utilizando linguaxes de programación de última xeración. Os alumnos traballarán individualmente na súa realización.

Atención personalizada
Metodoloxías
Prácticas de laboratorio
Traballos tutelados
Descrición
A atención personalizada na realización dos traballos tutelados e as prácticas de laboratorio é imprescindible para dirixir a cada grupo de alumnos no desenvolvemento do traballo que lles foi asignado. Ademais, esta atención servirá para validar e evaluar o traballo que vai sendo realizado polos alumnos nas súas distintas fases de desenvolvemento ata chegar ao seu finalización.

Avaliación
Metodoloxías Descrición Cualificación
Prácticas de laboratorio É obligatoria a asistencia e a realización das prácticas de laboratorio estipuladas nos boletines 40
Traballos tutelados Realización de traballos propostos polo profesor para profundar nalgún aspecto da materia 60
 
Observacións avaliación

A asistencia a clases e prácticas e a entrega de traballos é un requisito obligatorio para superar a materia. O número de horas que o alumno pode faltar, sempre por causa xustificada, non debe ser superior ao 10% do total de horas de prácticas. O requerimiento de asistencia ás clases e prácticas xustifícase na natureza das mesmas, en que forma parte da avaliación da materia e en que o traballo realizado nelas permite ao profesor seguir o progreso do alumno.

A avaliación realizarase da mesma forma en todas as oportunidades: asistencia a clase, realización de prácticas, e entrega de traballos. Nesta materia non se realizarán exames. Para poder presentarse á avaliación será condición indispensable o asistir ás clases e realizado as prácticas durante o cuatrimestre. Pola súa banda, os traballos deberán presentarse antes da data de comezo do período de exames, en calquera das dúas oportunidades.

A condición de non presentado virá dada polo non cumprimento de calquera dos requisitos da avaliación (non asistencia ás clases, non realización de prácticas ou non presentación de traballos).

Manterase o aprobado da parte da materia realizada e superada nas oportunidades anteriores: asistencia ás clases e realización de prácticas por unha banda e presentación de traballos polo outro.

Os alumnos que cursen a asignatura a tempo parcial realizarán as mesmas probas de avaliación que os alumnos que as cursen a tempo completo. Asegurarase que os seus horarios de clase e os horarios das probas a realizar sexan compatibles co horario que teñan estipulado que deben asistir ao centro.


Fontes de información
Bibliografía básica D. B. Kirk and W.-M. Hwu (2010). Programming Massively Parallel Processors: A Hands-on Approach. Morgan Kaufmann
T. Akenine-Möller and E. Haines (2008). Real-Time Rendering. A. K. Peters
P. J. Ashenden (2002). The Designer's guide to VHDL. Morgan Kaufmann

Bibliografía complementaria W.-M. Hwu (2011). GPU Computing Gems. Morgan Kaufmann
D. C. Black, J. Donovan, B. Bunton and A. Keist (2004). SystemC: From the Ground Up. Springer


Recomendacións
Materias que se recomenda ter cursado previamente
Arquitectura e Tecnoloxía de Computadores/614473001
Programación Paralela/614473004

Materias que se recomenda cursar simultaneamente
Técnicas de Optimización e Paralelización/614473005

Materias que continúan o temario

Observacións


(*)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