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, l'avaluació de rendiment i prestacions, i els models i llenguatges de programació d'aquests sistemes paral·lels. Els objectius més específics son 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, com OpenMP, Cilk i CUDA/Thrust. 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 el seu rendiment 1 Arquitectures Avançades 2013 - 2014. |