Resum: |
L'objectiu fonamental de l'assignatura és que els alumnes adquireixin les capacitats d'anàlisi, utilització i avaluació d'arquitectures avançades de computadors, per al desenvolupament d'aplicacions i serveis informàtics. Els conceptes bàsics que es descriuran a les sessions teòriques són: el processador multi-nucli, el sistema multi-processador de memòria compartida, els mecanismes d'interconexió, l'avaluació de rendiment i prestacions, i els models de programació d'aquests sistemes multi-core i multi-processador. Com a subobjectius s'identifiquen els següents: 1. Entendre les tècniques hardware per millorar el rendiment del computador multi-nucli i multi-processador 2. Entendre el paradigma de programació paral·lela basat en variables compartides i sincronització, i fer servir els llenguatges OpenMP i CUDA per implementar programes paral·lels senzills 3. Identificar les dependències potencials entre iteracions d'un bucle i les oportunitats de paral·lelització 4. Verificar la funcionalitat i avaluar el rendiment d'aplicacions paral·leles 5. Identificar colls d'ampolla al rendiment d'una aplicació paral·lela: serialització del còmput degut a dependències, contenció a la jerarquia de memòria, increment del còmput degut a la gestió del paral·lelisme, . . . 6. Fer servir l'anàlisi del rendiment per a seleccionar el computador adequat a una aplicació i/o realitzar optimitzacions del codi que millorinel seu rendiment. |