int main(int argc, char **argv) { int n = N; double(*A)[N][N]; A = (double(*)[N][N])polybench_alloc_data((N) * (N), sizeof(double)); double(*x1)[N]; x1 = (double(*)[N])polybench_alloc_data(N, sizeof(double)); double(*x2)[N]; x2 = (double(*)[N])polybench_alloc_data(N, sizeof(double)); double(*y_1)[N]; y_1 = (double(*)[N])polybench_alloc_data(N, sizeof(double)); double(*y_2)[N]; y_2 = (double(*)[N])polybench_alloc_data(N, sizeof(double)); init_array(n, *x1, *x2, *y_1, *y_2, *A); polybench_timer_start(); kernel_mvt(n, *x1, *x2, *y_1, *y_2, *A); polybench_timer_stop(); polybench_timer_print(); if (argc > 42 && !strcmp(argv[0], "")) print_array(n, *x1, *x2); free((void *)A); free((void *)x1); free((void *)x2); free((void *)y_1); free((void *)y_2); return 0; }
int main(int argc, char** argv) { /* Retrieve problem size. */ int q = Q; int d = D; /* Variable declaration/allocation. */ POLYBENCH_2D_ARRAY_DECL(M, DATA_TYPE, Q, D, q, d); POLYBENCH_2D_ARRAY_DECL(MatchQ, DATA_TYPE, Q, D, q, d); POLYBENCH_1D_ARRAY_DECL(QS, DATA_TYPE, Q, q); POLYBENCH_1D_ARRAY_DECL(DB, DATA_TYPE, D, d); /* Initialize array(s). */ init_array (q, d, POLYBENCH_ARRAY(QS), POLYBENCH_ARRAY(DB), POLYBENCH_ARRAY(MatchQ)); /* Start timer. */ polybench_start_instruments; /* DATA_TYPE POLYBENCH_1D(QS,Q,q), DATA_TYPE POLYBENCH_1D(DB,D,d), DATA_TYPE POLYBENCH_2D(MatchQ,Q,D,q,d), DATA_TYPE POLYBENCH_2D(M,Q,D,q,d)) */ /* Run kernel. */ kernel_mvt (q, d, POLYBENCH_ARRAY(QS), POLYBENCH_ARRAY(DB), POLYBENCH_ARRAY(MatchQ), POLYBENCH_ARRAY(M)); /* Stop and print timer. */ polybench_stop_instruments; polybench_print_instruments; /* Prevent dead-code elimination. All live-out data must be printed by the function call in argument. */ polybench_prevent_dce(print_array(q, d, POLYBENCH_ARRAY(QS), POLYBENCH_ARRAY(DB), POLYBENCH_ARRAY(MatchQ))); /* Be clean. */ POLYBENCH_FREE_ARRAY(M); POLYBENCH_FREE_ARRAY(QS); POLYBENCH_FREE_ARRAY(DB); POLYBENCH_FREE_ARRAY(MatchQ); return 0; }
int main(int argc, char** argv) { /* Retrieve problem size. */ int n = N; /* Variable declaration/allocation. */ POLYBENCH_2D_ARRAY_DECL(A, DATA_TYPE, N, N, n, n); POLYBENCH_1D_ARRAY_DECL(x1, DATA_TYPE, N, n); POLYBENCH_1D_ARRAY_DECL(x2, DATA_TYPE, N, n); POLYBENCH_1D_ARRAY_DECL(y_1, DATA_TYPE, N, n); POLYBENCH_1D_ARRAY_DECL(y_2, DATA_TYPE, N, n); /* Initialize array(s). */ init_array (n, POLYBENCH_ARRAY(x1), POLYBENCH_ARRAY(x2), POLYBENCH_ARRAY(y_1), POLYBENCH_ARRAY(y_2), POLYBENCH_ARRAY(A)); /* Start timer. */ polybench_start_instruments; /* Run kernel. */ kernel_mvt (n, POLYBENCH_ARRAY(x1), POLYBENCH_ARRAY(x2), POLYBENCH_ARRAY(y_1), POLYBENCH_ARRAY(y_2), POLYBENCH_ARRAY(A)); /* Stop and print timer. */ polybench_stop_instruments; polybench_print_instruments; /* Prevent dead-code elimination. All live-out data must be printed by the function call in argument. */ polybench_prevent_dce(print_array(n, POLYBENCH_ARRAY(x1), POLYBENCH_ARRAY(x2))); /* Be clean. */ POLYBENCH_FREE_ARRAY(A); POLYBENCH_FREE_ARRAY(x1); POLYBENCH_FREE_ARRAY(x2); POLYBENCH_FREE_ARRAY(y_1); POLYBENCH_FREE_ARRAY(y_2); return 0; }