38 for (i = 0; i < ni; i++)
39 for (j = 0; j < nk; j++)
41 for (i = 0; i < nk; i++)
42 for (j = 0; j < nj; j++)
44 for (i = 0; i < nj; i++)
45 for (j = 0; j < nl; j++)
47 for (i = 0; i < ni; i++)
48 for (j = 0; j < nl; j++)
63 for (i = 0; i < ni; i++)
64 for (j = 0; j < nl; j++) {
76 void kernel_2mm(
int ni,
int nj,
int nk,
int nl,
89 for (i = 0; i <
_PB_NI; i++)
90 for (j = 0; j <
_PB_NJ; j++)
94 tmp[i][j] += alpha *
A[i][k] *
B[k][j];
96 for (i = 0; i <
_PB_NI; i++)
97 for (j = 0; j <
_PB_NL; j++)
101 D[i][j] += tmp[i][k] *
C[k][j];
108 int main(
int argc,
char** argv)
136 kernel_2mm (ni, nj, nk, nl,
#define POLYBENCH_ARRAY(x)
#define POLYBENCH_DUMP_BEGIN(s)
#define POLYBENCH_FREE_ARRAY(x)
#define POLYBENCH_2D(var, dim1, dim2, ddim1, ddim2)
static void print_array(int ni, int nl, DATA_TYPE POLYBENCH_2D(D, NI, NL, ni, nl))
static const uint32_t k[]
int main(int argc, char **argv)
#define POLYBENCH_DUMP_START
#define POLYBENCH_2D_ARRAY_DECL(var, type, dim1, dim2, ddim1, ddim2)
__attribute__((noinline))
Convert the given fixedpt number to a decimal string.
#define DATA_PRINTF_MODIFIER
#define polybench_prevent_dce(func)
#define POLYBENCH_DUMP_TARGET
#define POLYBENCH_DUMP_END(s)
static void init_array(int ni, int nj, int nk, int nl, DATA_TYPE *alpha, DATA_TYPE *beta, DATA_TYPE POLYBENCH_2D(A, NI, NK, ni, nk), DATA_TYPE POLYBENCH_2D(B, NK, NJ, nk, nj), DATA_TYPE POLYBENCH_2D(C, NJ, NL, nj, nl), DATA_TYPE POLYBENCH_2D(D, NI, NL, ni, nl))
This version is stamped on May 10, 2016.
#define POLYBENCH_DUMP_FINISH
#define polybench_stop_instruments
#define polybench_print_instruments
#define polybench_start_instruments