Com fer que un programa aprofiti tots els nuclis de l'ordinador. Mesurar el paral·lelisme, descompondre la feina en tasques i en dades amb OpenMP, i entendre el hardware que hi ha a sota: caches, coherència i NUMA.
Per què els ordinadors d'avui tenen molts nuclis i què vol dir fer-los treballar alhora. Veuràs els models d'execució, els elements que hi intervenen i els dos grans problemes: les dependències i la concurrència.
Com es quantifica el paral·lelisme d'un programa i què el limita. Construiràs grafs de dependències, aplicaràs la llei d'Amdahl i veuràs l'efecte dels overheads, la granularitat i el cost de moure dades.
Com s'expressa el paral·lelisme amb OpenMP. Regions paral·leles, tasques, dependències, privacitat de variables i les estratègies per descompondre bucles i algorismes recursius.
El hardware que hi ha sota el paral·lelisme. Coherència de cache en sistemes de memòria compartida (snooping i directoris), la política first touch i la sincronització de baix nivell.