Research Article
Adaptation of MPDATA Heterogeneous Stencil Computation to Intel Xeon Phi Coprocessor
Algorithm 1
Part of MPDATA implementation.
| //stage 1 | | for i-dim | | for j-dim | | for k-dim | | f1[i][j][k] = xIn[i][j][k] * max(0.0, u1[i][j][k]) | | - xIn[i-1][j][k] * (-min(0.0, u1[i][j][k])); | | //stage 2 | | for i-dim | | for j-dim | | for k-dim | | f2[i][j][k] = xIn[i][j][k] * max(0.0, u2[i][j][k]) | | - xIn[i][j-1][k] * (-min(0.0, u2[i][j][k])); | | //stage 3 | | for i-dim | | for j-dim | | for k-dim | | f3[i][j][k] = xIn[i][j][k] * max(0.0, u3[i][j][k]) | | - xIn[i][j][k-1] * (-min(0.0, u3[i][j][k])); | | //stage 4 | | for i-dim | | for j-dim | | for k-dim | | xOut[i][j][k] = xIn[i][j][k] - (f1[i+1][j][k] | | - f1[i][j][k] + f2[i][j+1][k] - f2[i][j][k] | | + f3[i][j][k+1] - f3[i][j][k])/h[i][j][k]; | | /*⋯*/ |
|