Aquesta versió de la guia docent és provisional fins que no finalitzi el període d’edició de les guies del nou curs.

Logo UAB

Computació Avançada d'Altes Prestacions

Codi: 44730 Crèdits: 6
2024/2025
Titulació Tipus Curs
4318303 Recerca i Innovació en Ciència i Enginyeria Basades en Computadors OT 0

Professor/a de contacte

Nom:
Juan Carlos Moure Lopez
Correu electrònic:
juancarlos.moure@uab.cat

Idiomes dels grups

Podeu consultar aquesta informació al final del document.


Prerequisits

Coneixements de programació (preferiblement en llenguatge C)


Objectius

L'objectiu fonamental de l'assignatura és que l'estudiantat adquireixi les capacitats d'anàlisi, ús i avaluació dels ordinadors, per al desenvolupament d'aplicacions avançades.

Els conceptes bàsics que es descriuran a les sessions teòriques són: processament paral·lel en ordinadors, memòries jeràrquiques, avaluació del rendiment, i els llenguatges i models de programació paral·lels d'aquests sistemes. Els objectius més específics són els següents:

1.    Entendre les claus per obtenir bon rendiment de computadors multi-nucli i multi-processador, i d'acceleradors de còmput (GPUs)

2.    Identificar les oportunitats de paral·lelització a un algorisme o aplicació, a diferents nivells (instruccions, iteracions d'un bucle, crides a funcions...), i expressar-ho formalment

3.    Dissenyar les estructures de dades d'una aplicació i els algorismes que hi accedeixen per tal d'afavorir el bon rendiment de la jerarquia de memòria

4.    Analitzar, dissenyar i implantar algorismes paral·lels amb patrons de còmput abstractes (reducció, transformació...) sota paradigmes de programació basats en variables compartides i sincronització, i amb llenguatges paral·lels actuals.

5.    Verificar la funcionalitat i avaluar el rendiment d'aplicacions paral·leles, identificant els colls d'ampolla respecte al rendiment

6.    A partir de l'anàlisi de rendiment, seleccionar el computador adequat a una aplicació i/o realitzar optimitzacions del codi que millorin encara més el seu rendiment


Resultats d'aprenentatge

  1. CA04 (Competència) Capacitat per a aplicar tècniques de computació d'altes prestacions a problemes complexos d'àmbits diversos de la ciència o l'enginyeria.
  2. CA05 (Competència) Capacitat per a generar preguntes i hipòtesis davant de nous reptes de recerca i demostrar originalitat en la manera d'abordar i resoldre els problemes plantejats mitjançant tècniques de computació d'altes prestacions.
  3. KA06 (Coneixement) Descriure els patrons algorísmics més adequats per a diferents entorns de computació d'altes prestacions.
  4. KA07 (Coneixement) Descriure els problemes de rendiment més comuns que poden exhibir les aplicacions informàtiques en funció de l'arquitectura del sistema en què s'executin.
  5. KA08 (Coneixement) Identificar a partir de criteris de cost-prestacions les piles tecnològiques més adequades per a desenvolupar aplicacions d'altes prestacions que tractin problemes en àmbits de ciència i enginyeria.
  6. SA08 (Habilitat) Ser capaç d'identificar els problemes de rendiment d'aplicacions complexes seleccionant i aplicant les tècniques d'elaboració de perfils i les eines adequades.
  7. SA09 (Habilitat) Ser capaç d'optimitzar aplicacions adaptades a diferents arquitectures: sistemes multinucli, sistemes distribuïts, acceleradores gràfiques (GPU ) i sistemes híbrids.
  8. SA10 (Habilitat) Ser capaç de dissenyar aplicacions innovadores en els àmbits de la ciència i l'enginyeria aplicant models teòrics i usant tècniques i eines pròpies de la computació d'altes prestacions.

Continguts

1. Paral·lelisme d'Instruccions: Dependències de dades entre instruccions en un bucle i reordenació dinàmica de l'execució

2. Paral·lelisme de Dades: Anàlisi del paral·lelisme de dades d'un algorisme i execució SIMD (vectorització)

3. Paral.lelisme de tasques: Execució multi-fil i multi-nucli; Jerarquia de memòria compartida i coherència de dades; Sincronització entre threads

4. Algorismes Paral·lels: Model de paral·lelisme amb variables compartides i sincronització. Patrons de còmput paral·lel: reducció, transformació, master/worker, divide & conquer pipeline

5. Avaluació del Rendiment d'Aplicacions: Anàlisi de complexitat, paral·lelisme i localitat; Mètriques de rendiment (elapsed time, IPC, ample de banda, intensitat aritmètica); Treball total i camí crític de l'execució paral·lela


Activitats formatives i Metodologia

Títol Hores ECTS Resultats d'aprenentatge
Tipus: Dirigides      
Assistència a classe de teoria i exercicis teòrics 26 1,04 CA04, CA05, KA06, KA07, SA08, CA04
Pràctiques en Laboratori 16 0,64 CA04, KA07, KA08, SA08, SA09, SA10, CA04
Tipus: Supervisades      
Treball d'investigació 15 0,6 CA04, CA05, KA06, KA07, KA08, CA04
Tipus: Autònomes      
Estudi autònom, redacció d'informe i desenvolupament de presentació 41 1,64 CA04, CA05, CA04
Estudi i Resolució de Problemes 50 2 CA05, KA06, KA07, SA10, CA05

Classes de Teoria: s'exposaran els coneixements propis de l'assignatura. Es descriuran els conceptes bàsics i s'il·lustraran amb exemples pràctics. Es ressaltaran els problemes d'aprenentatge més importants i es mostrarà com completar i aprofundir en els continguts. Es discutiran i resoldran problemes pràctics i el professor detectarà els problemes de comprensió i raonament més comuns i els resoldrà per a tots els estudiants. Es promou la capacitat d'anàlisi i síntesi, el raonament crític i la capacitat de resolució de problemes. 

Cas pràctic d'estudi autònom: durant el curs, l'alumnat haurà de dissenyar, planificar, realitzar, presentar i defensar de forma oral un treball pràctic, indicant els objectius, el desenvolupament, els resultats obtinguts amb esquemes, figures i gràfiques entenedores, les incidències més notables i, finalment, les conclusions més rellevants. S'espera una actitud proactiva i dinàmica, la cerca autònoma dels coneixements que siguin necessaris, i ambició amb els objectius del treball.

Nota: es reservaran 15 minuts d'una classe, dins del calendari establert pel centre/titulació, per a la complementació per part de l'alumnat de les enquestes d'avaluació de l'actuació del professorat i d'avaluació de l'assignatura/mòdul.


Avaluació

Activitats d'avaluació continuada

Títol Pes Hores ECTS Resultats d'aprenentatge
Examen Individual 20 1,5 0,06 CA04, CA05, KA06, KA07
Exercicis de Laboratori: Programació i Avaluació de Rendiment 50 0 0 CA04, CA05, KA06, KA07, KA08, SA08, SA09, SA10
Informe escrit i defensa oral del treball autònom 30 0,5 0,02 CA04, CA05

Les dates d'avaluació continuada i lliurament de treballs es publicaran a la plataforma Moodle de la UAB (Campus Virtual) i poden estar subjectes a canvis de programació per motius d'adaptació a possibles incidències. Sempre s'informarà a la plataforma Moodle sobre aquests canvis, ja que s'entén que és la plataforma habitual d'intercanvi d'informació entre professor i estudiants.

Activitats d'avaluació
Activitat A: examen escrit de teoria i problemes; realització individual i sense apunts; 20% de la nota final; no hi ha nota mínima; recuperable; a final de curs
Activitat B: exercicis de laboratori; realització en grup; 50% de la nota final; nota mínima de 5 sobre 10; no és recuperable; durant tot el curs
Activitat C: informe escrit i defensa oral d'un treball autónom; realització individual; 30% de la nota final; no hi ha nota mínima; recuperable; a final de curs

Procés de Recuperació
l'estudiant es pot presentar a la recuperació sempre que hagi fet les activitats A, B i C

Irregularitats per part dels estudiants, còpia i plagi
Sense perjudici d'altres mesures disciplinàries que s'estimin oportunes, esqualificaran amb un zero les irregularitats comeses per un estudiant que puguin conduir a una variació de la qualificació d'un acte d'avaluació. Per tant, la còpia, el plagi, l'engany, deixar copiar, l’ús no autoritzat de la IA (p. ex, Copilot, ChatGPT o equivalents), etc. en qualsevol de les activitats d'avaluació implicarà suspendre-la amb un zero. Les activitats d'avaluació qualificades d'aquesta forma i per aquest procediment no seran recuperables. Si és necessari superar qualsevol d'aquestes activitats d'avaluació per aprovar l'assignatura, aquesta assignatura quedarà suspesa directament, sense oportunitat de recuperar-la en el mateix curs. En cas de no superar l'assignatura degut aquel'estudiant ha comès irregularitats en un acte d'avaluació, la nota numèrica de l'expedient serà el valor menor entre 3.0 i la mitjana ponderada de les notes (i per tant no serà possible l'aprovat per compensació).


Bibliografia

Parallel Programming: Techniques and Applications using Networked Workstations and Parallel Computers. Barry Wilkinson. Prentice Hall, 1999.
Designing and Building Parallel Programs: Concepts and Tools for Parallel Software Engineering. Ian Foster. Addison Wesley, 1995.
Introduction to Parallel Computing. A. Grama et alter. Addison Wesley, Second Edition, 2003.
Computer Architecture: A Quantitative Approach. 5th Edition (https://bibcercador.uab.cat/permalink/34CSUC_UAB/15r2rl8/cdi_askewsholts_vlebooks_9780123838735) John Hennessy, David Patterson, Morgan Kaufmann (Elsevier) 2018 (Cap. 4 i 5)
Structured Parallel Programming: Patterns for efficient computation M. McCool, J. Reinders, A. Robison, Elsevier, 2012
Parallel Programming for Multicore and Cluster Systems T. Rauber, G. Rünger, Springer (Elsevier), 2010
Programming Massively Parallel Processors: A Hands-on Approach D. Kirk, & W.M. Hwu, Morgan Kaufmann (Elsevier), 2010


Programari

C language. OpenMP and OpenACC extensions.


Llista d'idiomes

Nom Grup Idioma Semestre Torn
(PLABm) Pràctiques de laboratori (màster) 1 Anglès primer quadrimestre tarda
(TEm) Teoria (màster) 1 Anglès primer quadrimestre tarda