Crèdits
6
Tipus
Obligatòria
Requisits
Aquesta assignatura no té requisits
, però té capacitats prèvies
Departament
AC
Web
-
Mail
-
Professorat
Responsable
- Eduard Ayguadé Parra ( eduard@ac.upc.edu )
Altres
- Josep Lluís Berral García ( berral@ac.upc.edu )
Hores setmanals
Teoria
2
Problemes
0
Laboratori
2
Aprenentatge dirigit
0
Aprenentatge autònom
6
Competències
Transversals
Específiques
Genèriques
Objectius
-
Conèixer els models bàsics d'execució i les mètriques de rendiment
Competències relacionades: CE05,
Subcompetences- Eines per la caracterització de rendiment
-
Conèixer l'arquitectura dels processadors escalars i les tècniques per explotar el ILP (paral·lelisme a nivell d'instrucció) i el DLP (paral·lelisme a nivell de dades)
Competències relacionades: CG3, CE05,
Subcompetences- Optimització de l'execucio escalar: vectorització
-
Conèixer les arquitectures de memòria compartida, suport hardware a la coherència de memòria i sincronització
Competències relacionades: CG3, CE05,
Subcompetences- Programació paral·lela de memòria compartida: OpenMP
-
Conèixer les arquitectures de memòria disttribuïda I el suport hardware per l'intercanvi de dades
Competències relacionades: CG3, CE05, CE07,
Subcompetences- Programació paral·lela amb pas de missatges: MPI
-
Conèixer les arquitectures basades en acceleradors i l'accés a la jerarquia de memòria del processador escalar
Competències relacionades: CG3, CE05, -
Conèixer i aplicar les tècniques bàsiques de la programació paral·lela, per a sistemes multiprocessador de memòria compartida i distribuïda
Competències relacionades: CT6, CE11, -
Capacitats per discutir i contrastar la resolució de problemes i exercicis pràctics, tant en treball de grup com de forma autònoma
Competències relacionades: CT3, CT6, -
Entendre la relació de l'assignatura amb el camp de la IA
Competències relacionades: CG2, CG5, CG9,
Continguts
-
Models d'execució i mètriques de rendiment
Presentació dels models d'execució sèrie, multiprogramat, concurrent i paral·lel, juntament amb les mètriques bàsiques que caracteritzen el seu rendiment. -
Arquitectura del processador escalar i optimització de codi
En aquest tema es presenta l'arquitectura bàsica del processador escalar i les tècniques per incrementar el paral·lelisme a nivell d'instruccions (ILP: disseny segmentat i superescalar) i a nivell de dades (DLP: unitats vectorials). Optimització de l'accés a la jerarquia de memòria i vectorització. -
Arquitectura i programació de multiprocessadors de memòria compartida
En aquest tema es presenten les arquitectures multiprocessador de memòria compartida UMA (uniform memory access time) i NUMA (non-uniform memory access time), incloent els mecanismes de coherència basats en bus i directori i el suport a la sincronització mitjançant instruccions atòmiques. També es presenta l'arquitectura d'un node dins de l'arquitectura cluster i els components que el formen (processadors amb multiples nuclis d'execució, memoria i busos). Paral·lelització d'aplicacions usant el model de tasques en OpenMP. -
Arquitectura i programació de multiprocessadors de memória distribuïda
En aquest tema es presenten les arquitectures multiprocessador de memòria distribuïda basades en pas de missatges mitjançant una xarxa d'interconnexió escalable. Paral·lelització d'aplicacions amb el model de programació MPI. -
Acceleració per aplicacions d'intel·ligència artificial
En aquest tema es presenten les arquitectures orientades a l'acceleració dels nuclis de computació més característics en aplicacions d'intel·ligència artificial: GPU (Graphics Processing Units), TPU (Tensor Processing Units), ... i la seva integració en els nodes de memòria compartida de l'arquitectura clúster. Cas d'ús: acceleradors per d'entorns de Deep Learning.
Activitats
Activitat Acte avaluatiu
Teoria
0h
Problemes
0h
Laboratori
2h
Aprenentatge dirigit
0h
Aprenentatge autònom
2h
Teoria
0h
Problemes
0h
Laboratori
2h
Aprenentatge dirigit
0h
Aprenentatge autònom
2h
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
0h
Metodologia docent
El curs es basa en sessions de teoria i de laboratori presencials. Les sessions teòriques combinen classes magistrals i realització d'exercicis, seguint el programa exposat en aquest pla d'estudis i basades en l'ús de material propi (transparències, enunciats de problemes, ...). Durant les sessions es promou el diàleg i la discussió per tal d'anticipar i consolidar els resultats d'aprenentatge de l'assignatura.Les sessions de laboratori tracten els aspectes relacionats amb la programació i segueixen els mateixos temes del plan d'estudis. Són sessions pràctiques utilitzant una arquitectura clúster disponible al Departament d'Arquitectura de Computadors.
Mètode d'avaluació
Hi han dues proves avaluatives de la part de teoria i una de la part de laboratori:- PT: examen parcial de teoria (20%)
- FT: examen final de teoria (35%)
- FL: examen final de laboratori (30%)
Addicionalment, s'avaluaran de forma continua:
- SL: informes de seguiment del laboratori (15%) que també servirà per avaluar les competències transversals CT3 I CT6.
La Nota Final (NF) de l'assignatura s'obté a partir de
NF = (0.30 x FL + 0.15 x SL) + MAX(0.55 x FT; (0.20 x PT + 0.35 x FT))
En cas de NF < 5.0 pero superior a 3.5 havent fet les dues parts del examen final, existirà l'opció de reavaluació mitjançant un examen que recollirà tota l'assignatura (teoria i pràctiques). La nota de reavaluació reemplaçarà la nota NF, el valor de la qual no podrà ser major de 7.
Bibliografia
Bàsic
-
Computer organization and design: the hardware/software interface
- Patterson, David A and Hennessy, John L,
Morgan Kaufmann,
2017.
ISBN: 9780128017333
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004094079706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Computer architecture: a quantitative approach
- Hennessy, John L. and Patterson, David A.,
Morgan Kaufmann,
2019.
ISBN: 9780128119051
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004117509706711&context=L&vid=34CSUC_UPC:VU1&lang=ca