Documente Academic
Documente Profesional
Documente Cultură
1.1 Exercițiul 1
Indicații
1.2 Exercițiul 2
1
1 Lucrarea 4
Indicații
Matricile sunt ținute în memorie sub forma de șir. Pentru o matrice
nxm, se va aloca un șir de n*m elemente, unde primele m elemente
aparțin primei linii ș.a.m.d.
Când o zona de memorie este cerută, în memoria cache se va încărca
un bloc de date, care conține și zona de memorie cerută, acesta este
locacitatea memoriei cache.
Pentru a ne folosii de această proprietate, trebuie să schimbam mo-
dul de parcurgere a matricilor. Parcurgerea de dorit este parcurgerea
linie cu linie.
1.3 Exercițiul 3
Continuați exercițiul precedent adăugând și loop unrolling. Compa-
rații timpii de rulare între diverse dimensiuni de desfacere a buclei.
Adăugați argumentarea ca și comentariu în prima linie din corpul
funcției.
Indicații
Executarea instrucțiunilor de branching generează un hazard în pi-
peline, ceea ce duce la o reducere a performantelor. Pentru aceasta
exista loop unrolling, bucla for are un pas mai mare de 1 și în corpul
buclei se repetă de mai multe ori sarcinile din interior.
2
Acronime
GCC GNU Compiler Collection. 6