PandA-2024.02
gemm.h
Go to the documentation of this file.
1 /*
2 Implementation based on algorithm described in:
3 The cache performance and optimizations of blocked algorithms
4 M. D. Lam, E. E. Rothberg, and M. E. Wolf
5 ASPLOS 1991
6 */
7 
8 #include <stdio.h>
9 #include <stdlib.h>
10 #include "support.h"
11 
12 //Data Type
13 #define TYPE double
14 
15 //Algorithm Parameters
16 #define row_size 64
17 #define col_size 64
18 #define N row_size*col_size
19 #define block_size 8
20 #define NUMOFBLOCKS N/block_size/block_size
21 
22 //Define the input range to operate over
23 #define MIN 0.
24 #define MAX 1.0
25 
26 //Set number of iterations to execute
27 #define MAX_ITERATION 1
28 
29 void bbgemm(TYPE m1[N], TYPE m2[N], TYPE prod[N]);
31 // Test harness interface code.
32 
33 struct bench_args_t {
34  TYPE m1[N];
35  TYPE m2[N];
37 };
#define TYPE
Definition: gemm.h:13
TYPE prod[N]
Definition: gemm.h:36
TYPE m1[N]
Definition: gemm.h:34
void bbgemm(TYPE m1[N], TYPE m2[N], TYPE prod[N])
Definition: gemm.c:10
const unsigned long long m2
Definition: digitrec_sw.c:13
TYPE m2[N]
Definition: gemm.h:35
#define N
Definition: gemm.h:18
const unsigned long long m1
Definition: digitrec_sw.c:12

Generated on Mon Feb 12 2024 13:02:50 for PandA-2024.02 by doxygen 1.8.13