Hiérarchie mémoire
Quel est le but principal du blocage de boucles (tiling), utilisé notamment pour le produit de matrices ?
- ACalculer par petits blocs tenant dans le cache afin d’accroître la réutilisation des données
- BRéduire le nombre d’itérations afin de diminuer le nombre d’instructions de branchement exécutées en fin de boucle
- CDiviser par deux la mémoire totale utilisée sans changer l’ordre des calculs
Afficher la réponse et l'explication
Réponse : A. Calculer par petits blocs tenant dans le cache afin d’accroître la réutilisation des données
Un produit de grandes matrices calculé tel quel évince du cache les éléments chargés avant leur réutilisation, qui doivent alors être relus à plusieurs reprises depuis la mémoire principale. Le blocage de boucles découpe les matrices en petits blocs tenant dans le cache et achève les calculs à l’intérieur de chaque bloc, ce qui réutilise plusieurs fois les données chargées et réduit fortement les défauts de capacité. La réduction des branchements est l’objectif du déroulage de boucle, et la mémoire totale utilisée reste inchangée.