#include #include #include "mmult.h" typedef float T; int const DIM = 32; int const SIZE = DIM*DIM; void mmult_sw(T a[DIM][DIM], T b[DIM][DIM], T out[DIM][DIM]) { // matrix multiplication of a A*B matrix for (int ia = 0; ia < DIM; ++ia) for (int ib = 0; ib < DIM; ++ib) { float sum = 0; for (int id = 0; id < DIM; ++id) sum += a[ia][id] * b[id][ib]; out[ia][ib] = sum; } } #ifdef DB_DEBUG int main(void) { int ret_val = 0; ret_val = test_matrix_mult(); return ret_val; } #else int main(void) { int ret_val = 0; int i,j, err; T matOp1[DIM][DIM]; T matOp2[DIM][DIM]; T matMult_sw[DIM][DIM]; T matMult_hw[DIM][DIM]; /** Matrix Initiation */ for(i = 0; i