14 int *m = (
int *)malloc(
sizeof(
int) *
N *
N);
15 for (
i = 0;
i <
N; ++
i) {
16 for (
j = 0;
j <
N; ++
j) {
21 for (
i = 0;
i <
N; ++
i)
23 for (
j = 0;
j <
N; ++
j)
31 #pragma omp parallel shared(m)
34 #pragma omp for ordered(2)
35 for (row = 1; row <
N; ++row) {
36 for (col = 1; col <
N; ++col) {
37 #pragma omp ordered depend(sink : row - 1, col) depend(sink : row, col - 1)
38 m[row *
N + col] = m[(row - 1) *
N + col] + m[row *
N + (col - 1)] -
39 m[(row - 1) *
N + (col - 1)];
40 #pragma omp ordered depend(source)
46 int retval = (m[(
N - 1) *
N +
N - 1] == 2 * (
N - 1));
51int main(
int argc,
char **argv) {
#define omp_set_num_threads
int omp_get_max_threads()