Crèdits
6
Tipus
Complementària d'especialitat (Computació d'Altes Prestacions)
Requisits
Aquesta assignatura no té requisits
, però té capacitats prèvies
Departament
AC
Professorat
Responsable
- Jesus Jose Labarta Mancho (jesus.labarta@ac.upc.edu)
Hores setmanals
Teoria
2
Problemes
0
Laboratori
1
Aprenentatge dirigit
0
Aprenentatge autònom
7
Competències
Computació d'altes prestacions
Genèriques
Bàsiques
Continguts
-
Conceptes bàsics en programació paral·lela i anàlisi de rendiment.
Coneixement previ necessari per a seguir el curs de programació paral·lela avançada. Problemes en la programació d'arquitectures multinucli. Introducció general de les principals tècniques i característiques bàsiques de les actuals eines en anàlisi de rendiment. -
Programació avançada de memòria compartida i distribuïda: OpenMP i MPI.
Resum de les característiques bàsiques en OpenMP i MPI. Característiques avançades en OpenMP, MPI i programació híbrida. -
Programació avançada en fluxe dades i paradigmes innovadors en arquitectures basades en acceleradors.
Paradigmes de flux de dades (OmpSs). Explotació del paral·lelisme en temps d'execució i ocultació de l'arquitectura. Programació paral·lela avançada utilitzant acceleradors: CUDA, OpenCL, OpenACC, ... -
Adquisició de dades i anàlisi de rendiment.
Traceig d'aplicacions seqüencials i paral·leles. Processament de traces i anàlisi de rendiment. -
Models i predicció de rendiment.
Models de rendiment paral·lel basats en traces. Paràmetres de l'arquitectura: CPU, memòria, interconnexió. -
Anàlisi i optimització d'aplicacions reals.
Anàlisi de dues aplicacions grans (seqüencials i/o paral·leles) i optimització utilitzant paradigmes de programació híbrida (flux de dades, memòria compartida i distribuïda i acceleradors).
Metodologia docent
Per a la part dedicada a models de programació, classe teòriques per a entendre els conceptes darrere els models de programació paral·lela per a les arquitectures de supercomputació actuals. A això li seguirà una introducció general de les principals tècniques usades i les característiques bàsiques de les eines més importants. Les classes de laboratori començaran amb una introducció de les característiques avançades dels models de programació més utilitzats i l'ús d'eines en alguns exemples senzills. Després, l'estudiant s'enfrontarà a alguns codis relativament grans que hauran de ser analitzats amb les diferents eines i optimitzats utilitzant models de programació híbrids.Mètode d'avaluació
Qualsevol acte de frau acadèmic, plagi, ús o tinença a l'abast de mitjans no autoritzats en qualsevol activitat d'avaluació comportarà la qualificació de zero (0) en la prova o lliurament afectat. A més, d'acord amb la normativa de la Universitat, la possible derivació dels fets per a l'obertura d'un expedient disciplinari implicarà que l'assignatura quedi en l'estat provisional de "pendent d'avaluació" fins a la resolució de l'expedient. La gestió d'aquestes incidències es desplega d'acord amb el Marc d'actuació per a la integritat acadèmica en l'avaluació de la UPC.
L'avaluació del curs es basarà en una sèrie de treballs pràctics. Al menys dues aplicacions principals hauran de ser avaluades per cada estudiant. Al menys una de les aplicacions estarà en una àrea en la que l'estudiant no ha estat exposat. Es requerirà un informe detallat d'anàlisi dels problemes de rendiment de cada aplicació, incloent una quantificació detallada de la seva importància i suggeriments de maneres potencials de superar-los.