PandA-2024.02
examples
mm_float
module.c
Go to the documentation of this file.
1
void
mm
(
float
* __restrict__ in_a,
float
* __restrict__ in_b,
float
* __restrict__ out_c,
unsigned
int
A_ROWS
,
unsigned
int
A_COLS
,
unsigned
int
B_COLS
)
2
{
3
int
i,j,
k
;
4
for
(i = 0; i <
A_ROWS
; i++)
5
{
6
for
(j = 0; j <
B_COLS
; j++)
7
{
8
float
sum
= 0;
9
#pragma unroll 4
10
for
(k = 0; k <
A_COLS
; k++)
11
{
12
float
a = in_a[i * A_COLS +
k
];
13
float
b = in_b[k * B_COLS + j];
14
sum += a * b;
15
}
16
out_c[i * B_COLS + j] =
sum
;
17
}
18
}
19
}
A_COLS
#define A_COLS
Definition:
module.c:2
mm
void mm(int in_a[A_ROWS][A_COLS], int in_b[A_COLS][B_COLS], int out_c[A_ROWS][B_COLS])
Definition:
module.c:6
sum
int sum
Definition:
dotproduct.h:3
k
static const uint32_t k[]
Definition:
sha-256.c:22
A_ROWS
#define A_ROWS
Definition:
module.c:1
B_COLS
#define B_COLS
Definition:
module.c:4
Generated on Mon Feb 12 2024 13:02:48 for PandA-2024.02 by
1.8.13