cpp: void kernel_lu(int n,\nDATA_TYPE POLYBENCH_2D(A,N,N,n,n))\n{\nint i, j, k;\n\n#pragma scop\nfor (k = 0; k < _PB_N; k++)\n{\nfor (j = k + 1; j < _PB_N; j++)\nA[k][j] = A[k][j] / A[k][k];\nfor(i = k + 1; i < _PB_N; i++)\nfor (j = k + 1; j < _PB_N; j++)\nA[i][j] = A[i][j] - A[i][k] * A[k][j];\n}\n#pragma endscop\n\n}
fortran: subroutine kernel_lu(n, a)\nimplicit none\n\nDATA_TYPE, dimension(n, n) :: a\ninteger :: n\ninteger :: i, j, k\n\n!$pragma scop\ndo k = 1, _PB_N\ndo j = k + 1, _PB_N\na(j, k) = a(j, k) / a(k, k)\nend do\ndo i = k + 1, _PB_N\ndo j = k + 1, _PB_N\na(j, i) = a(j, i) - (a(k, i) * a(j, k))\nend do\nend do\nend do\n!$pragma endscop\nend subroutine