Page 31 - Hirarki Memory
P. 31

L o c a l i t y








                                                   Lakukan permutasi pada loop


                                                       sehingga fungsi dapat  melacak array

                                                       3D a[] dengan pola stride-1


                                                       reference  (dan menghasilkan locality

                                                       spasial yang baik).










                                                          int sumarray3d(int a[M][N][N])
 int sumarraycols(int a[M][N])                            {

                                                                  int i, j, k, sum = 0;

 0;

                                                                  for (i = 0; i < M; i++)
 for (j = 0; j < N; j++)                                                   for (j = 0; j < N; j++)

 0; i < M; i++)                                                                    for (k = 0; k < N; k++)

 a[i][j];                                                                                   sum += a[k][i][j];

                                                                  return sum
                                                          }
   26   27   28   29   30   31   32   33   34   35   36