•Analyse :
•=> problème de cache
thrashing.
•- les adresses de stockage de
données dans le cache sont calculées par modulo à partir des adresses mémoire;
•- taille du cache en 2^p,
dimensions des tableaux en 2^q;
•- écrasement des données dans
les caches car modulos identiques;
•
•Solution :
•=> modifier les premières
dimensions des tableaux pour décaler les adresses de stockage dans les caches.
•
integer, parameter :: ldx = 129
•
integer, parameter :: ldy = 129
•
integer, parameter :: ldz = 128
•
integer, parameter :: nx = 128
•
integer, parameter :: ny = 128
•
integer, parameter :: nz = 128
•
•
real(rp), dimension(ldx, ldy, ldz) :: data