HPC Magazine Février 2014 - Maîtriser OpenACC 2.0 (partie 2)

Listing 9 - Exemple typique d’utilisation de la clause tile sur un nid de boucle 2D.


#pragma acc loop gang worker tile(8,16) num_workers(64) 
for (i=0 ; i<1024; i++) 
  for (j=0 ; j<512; j++)
    {
      X[i][j] = 
        c11*Y[i-1][j-1] + c12*Y[i-1][j-1] + c13*Y[i-1][j-1] +
        c21*Y[i][j-1] + c22*Y[i][j] + c23*Y[i][j-1] +
        c31*Y[i+1][j-1] + c32*Y[i-1][j-1]  + c33*Y[i+1][j-1] ;
    }