In queste lezioni abbiamo visto come usare bene la cache sia importante anche in ambito parallelo e abbiamo introdotto lo standard OpenMP. Nella immagine che segue vedete il flag di compilazione da impostare in Visual Studio per permettere l'uso di OpenMP.
Il programma mostrato durante Martedì 13 mostrava un pessimo load balancing. Il grafico che segue mostra l'occupazione del processore durante l'esecuzione.
Aggiungendo uno uno schedule dynamic al ciclo for del programma di esempio si ottiene un grafico di carico molto più equilibrato. Da notare anche la minor durata del processo. 18.8sec contro 24.8 nelle prove fatte in aula.
Il file con il programma dimostrativo si trova qui:

omp_intro.cpp |