Datos Identificativos 2015/16
Asignatura (*) Computación Científica en Arquitecturas Emerxentes Código 614473003
Titulación
Descriptores Ciclo Período Curso Tipo Créditos
Mestrado Oficial 2º cuadrimestre
Primeiro Optativa 3
Idioma
Castelán
Modalidade docente Presencial
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 / Resultados do título

Resultados de aprendizaxe
Resultados de aprendizaxe Competencias / Resultados do título
Definir, avaliar e seleccionar a arquitectura e o software máis axeitado para a resolución dun problema científico AI2
AI5
AI6
BI6
BI7
BI10
CM3
CM7
Evaluar a eficiencia de diferentes implementaciones AI2
AI6
BI7
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
BI2
BI6
CM4
Capacidade para resolver problemas con iniciativa, toma de decisións, autonomía e creatividade. Capacidade para saber comunicar e transmitir os coñecementos BI4
BI9
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 Competencias / Resultados Horas lectivas (presenciais e virtuais) Horas traballo autónomo Horas totais
Traballos tutelados A2 A6 B2 B4 B6 B7 B9 C1 C2 C3 C4 C7 1 22 23
Prácticas de laboratorio A4 A5 A12 B10 B13 C6 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
Traballos tutelados Actividade que permite aos alumnos estudar en maior profundidade unha aplicación específica directamente relacionada dos coñecementos asociados ás competencias A2, A6. Ademais, ten que utilizar os seu coñecemento para resolver novos problemas nunha arquitectura concreta, se ejercita as competencias C3, B2, B6 e B7. Como material complementario ofertarse varios libros e manuais escritos en inglés o cal formetará a adquisición da competencia C2.

O alumno realizará unha análise sobre os problemas da primeira implementación, valorando implementaciones máis eficientes (compentencias B9, C4 e C7).

Unha vez desenvolvido terá que entregar un informe sobre o mesmo (competencias B4 e C1).
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 (competencias A4, A5, B10)

As prácticas faranse utilizando tarxetas gráficas utilizando linguaxes de programación de última xeración (competencia A12 e C6). Os alumnos traballarán individualmente na súa realización e defenderá as súas propostas (Competencia B13).

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 os alumnos no desenvolvemento do traballo que lles foi asignado.

Avaliación
Metodoloxías Competencias / Resultados Descrición Cualificación
Prácticas de laboratorio A4 A5 A12 B10 B13 C6 É obligatoria a realización das prácticas de laboratorio estipuladas nos boletines 40
Traballos tutelados A2 A6 B2 B4 B6 B7 B9 C1 C2 C3 C4 C7 Realización de traballos propostos polo profesor para profundar nalgún aspecto da materia 60
 
Observacións avaliación

 A avaliación realizarase da mesma forma en todas as oportunidades:  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 a presentación das 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 realización de prácticas ou non presentación de traballos).

Manterase o aprobado da parte da materia realizada e superada nas oportunidades anteriores: 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

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

Materias que continúan o temario
Arquitectura e Tecnoloxía de Computadores/614473001
Programación Paralela/614473004

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