Identifying Data 2015/16
Subject (*) Computación Científica en Arquitecturas Emerxentes Code 614473003
Study programme
Mestrado Universitario en Computación de Altas Prestacións
Descriptors Cycle Period Year Type Credits
Official Master's Degree 2nd four-month period
First Optativa 3
Language
Spanish
Teaching method Face-to-face
Prerequisites
Department Electrónica e Sistemas
Coordinador
Amor Lopez, Margarita
E-mail
margarita.amor@udc.es
Lecturers
Amor Lopez, Margarita
E-mail
margarita.amor@udc.es
Web
General description 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.

Study programme competencies
Code Study programme competences / results
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.
B2 Que os estudantes saiban aplicar os coñecementos adquiridos e a sua capacidade de resolución de problemas en contornas novas ou pouco coñecidas dentro de contextos máis amplos (ou multidisciplinares) relacionados coa sua área de estudo
B4 Que os estudantes saiban comunicar as súas 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üedades
B6 Coñecer e experimentar o método científico de investigación.
B7 Capacidade de análise e síntese.
B9 Motivación pola calidade e mellora contínua.
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.

Learning aims
Learning outcomes Study programme competences / results
Definir, avaliar e seleccionar a arquitectura e o software máis axeitado para a resolución dun problema científico AR2
AR5
AR6
BR6
BR7
BR10
CC3
CC7
Evaluar a eficiencia de diferentes implementaciones AR2
AR6
BR7
CC6
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 AR4
AR12
BR2
BR6
CC4
Capacidade para resolver problemas con iniciativa, toma de decisións, autonomía e creatividade. Capacidade para saber comunicar e transmitir os coñecementos BR4
BR9
BR13
CC1
CC2

Contents
Topic Sub-topic
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.

Planning
Methodologies / tests Competencies / Results Teaching hours (in-person & virtual) Student’s personal work hours Total hours
Supervised projects A2 A6 B2 B4 B6 B7 B9 C1 C2 C3 C4 C7 1 22 23
Laboratory practice A4 A5 A12 B13 B10 C6 15 15 30
 
Personalized attention 2 0 2
 
(*)The information in the planning table is for guidance only and does not take into account the heterogeneity of the students.

Methodologies
Methodologies Description
Supervised projects 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).
Laboratory practice 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).

Personalized attention
Methodologies
Laboratory practice
Supervised projects
Description
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.

Assessment
Methodologies Competencies / Results Description Qualification
Laboratory practice A4 A5 A12 B13 B10 C6 É obligatoria a realización das prácticas de laboratorio estipuladas nos boletines 40
Supervised projects 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
 
Assessment comments

 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.


Sources of information
Basic 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

Complementary 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


Recommendations
Subjects that it is recommended to have taken before

Subjects that are recommended to be taken simultaneously
Técnicas de Optimización e Paralelización/614473005

Subjects that continue the syllabus
Arquitectura e Tecnoloxía de Computadores/614473001
Programación Paralela/614473004

Other comments


(*)The teaching guide is the document in which the URV publishes the information about all its courses. It is a public document and cannot be modified. Only in exceptional cases can it be revised by the competent agent or duly revised so that it is in line with current legislation.