Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sparse DMA (COO) Tests for Gemmini #20

Open
wants to merge 45 commits into
base: master
Choose a base branch
from
Open
Changes from 6 commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
6ceb4dd
first attempt
hngenc Jun 25, 2020
87e889a
Add residual layer
hngenc Jul 7, 2020
7c5c005
fixed stride bug in resadd
hngenc Jul 12, 2020
6d8e516
Added matrix-add tests
hngenc Sep 14, 2020
51d04e7
We pass bareMetalC tests on Spike now, but not imagenet tests
hngenc Sep 16, 2020
8a9e4d0
Updated params
hngenc Sep 17, 2020
f6335a8
merged header
Sep 20, 2020
94bf285
merged header
Sep 20, 2020
0017247
merge with A_stride
Sep 22, 2020
05436ac
merging and OS works
Sep 22, 2020
f79e76d
Made resadd use mvin_scale
hngenc Oct 16, 2020
616a7d1
First attempt to add hardware FSM for matmuls
hngenc Oct 23, 2020
25ee327
Added mvin mvout full tests
hngenc Nov 4, 2020
f2faf51
Added explicit gemmini_config_st to all bareMetalC tests
hngenc Nov 5, 2020
4358df6
Added double-buffering
hngenc Nov 9, 2020
c9a3eb3
Merge branch 'fsm' of https://github.com/ucb-bar/gemmini-rocc-tests i…
hngenc Nov 9, 2020
49babf0
Allow OS tiled matmuls to proceed
hngenc Nov 13, 2020
4334b30
Added explicit store configs to baremetal tests
hngenc Nov 14, 2020
0233af8
removed stale files
hngenc Nov 14, 2020
3ab001c
Update gemmini_params.h and other updates
hngenc Nov 15, 2020
6109644
Merge branch 'fsm' of https://github.com/ucb-bar/gemmini-rocc-tests i…
hngenc Nov 15, 2020
13d5835
Merged dev and fsm together
hngenc Nov 15, 2020
bbb7b5e
Updated params to make ACC_SCALE identity function, and removed print…
hngenc Nov 19, 2020
4a38dff
Made mobilenet use the CPU dw conv when convs aren't enabled
hngenc Nov 25, 2020
2df45dc
Add test rules
jerryz123 Nov 23, 2020
d3b703b
Added test for zero stride mvin
hngenc Nov 26, 2020
820799a
Added tranpose tests
hngenc Nov 29, 2020
c92cce8
Reduced size of transpose tests
hngenc Nov 29, 2020
7e87624
Add transpose options to loop_ws command
hngenc Nov 30, 2020
ce9688c
Add FAST versions of select tests
jerryz123 Nov 30, 2020
94e7074
Merge commit '7e87624a05c84862c3bd48e12ebcfaa3dfd04fa0' into ci
jerryz123 Dec 1, 2020
06153b2
Add relu6 back into cpu matmul
hngenc Dec 2, 2020
8af9156
Add full_C option to tiled_matmul
hngenc Dec 2, 2020
3cdddd9
Remove FAST exit(0)
jerryz123 Dec 3, 2020
7d15716
Added fences around pool mvout
hngenc Dec 3, 2020
2973bee
Merge pull request #9 from ucb-bar/ci
hngenc Dec 3, 2020
6fb9a46
Add low_D option to tiled_matmul
hngenc Dec 5, 2020
89f9aef
Fix FAST tests when bias is present
hngenc Dec 7, 2020
4974847
initial tests
Apr 28, 2021
0015b1a
sparse mvin tests, dummy gcn test
May 14, 2021
2e08459
gcn dummy tests
May 14, 2021
9a6f351
merge
May 14, 2021
1fa6bcf
updated params for 16x16 systolic array
May 15, 2021
f59419d
working with segfault protection
May 27, 2021
788c7e3
merging
Jun 7, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion bareMetalC/matmul_ws.c
Original file line number Diff line number Diff line change
@@ -38,7 +38,11 @@ int main() {
gemmini_config_st(DIM * sizeof(elem_t));

for (int activation = 0; activation <= 2; ++activation) {
for (int scale = 0; scale <= 12; scale += 4) {
#ifdef ACC_SCALE_T_IS_FLOAT
for (acc_scale_t scale = 0; scale <= 1.5; scale += 0.5) {
#else
for (acc_scale_t scale = 0; scale <= 12; scale += 4) {
#endif
static elem_t A[N][DIM][DIM] row_align(1);
static elem_t B[N][DIM][DIM] row_align(1);
static elem_t D[N][DIM][DIM] row_align(1);
1 change: 1 addition & 0 deletions bareMetalC/mvin_scale.c
Original file line number Diff line number Diff line change
@@ -82,6 +82,7 @@ int main() {
In_acc[n][i][j] = i*DIM + j + n;

gemmini_config_ex(0, NO_ACTIVATION, 0, 0, 0); // Set shift to 0
gemmini_config_st(DIM * sizeof(elem_t));

for (int n = 0; n < N; ++n) {
gemmini_extended_config_ld(DIM * sizeof(acc_t), (n+1));
1 change: 1 addition & 0 deletions bareMetalC/template.c
Original file line number Diff line number Diff line change
@@ -38,6 +38,7 @@ int main() {

printf("Move \"In\" matrix from main memory into Gemmini's scratchpad\n");
gemmini_config_ld(DIM * sizeof(elem_t));
gemmini_config_st(DIM * sizeof(elem_t));
gemmini_mvin(In, In_sp_addr);

printf("Move \"Identity\" matrix from main memory into Gemmini's scratchpad\n");
1 change: 1 addition & 0 deletions bareMetalC/transpose.c
Original file line number Diff line number Diff line change
@@ -40,6 +40,7 @@ int main() {

printf("Move \"In\" matrix from main memory into Gemmini's scratchpad\n");
gemmini_config_ld(DIM * sizeof(elem_t));
gemmini_config_st(DIM * sizeof(elem_t));
gemmini_mvin(In, In_sp_addr);

printf("Move \"Identity\" matrix from main memory into Gemmini's scratchpad\n");
10 changes: 5 additions & 5 deletions imagenet/Makefile
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
include $(abs_top_srcdir)/Makefrag

tests = \
mobilenet \
resnet50
resnet50 \
mobilenet \
# alexnet \

tests_baremetal = $(tests:=-baremetal)
ifdef BAREMETAL_ONLY
@@ -43,13 +44,12 @@ CFLAGS_BAREMETAL := \
all: $(tests_baremetal) $(tests_linux)

vpath %.c $(src_dir)
vpath %_params.h $(src_dir)

%-baremetal: %.c %_params.h $(src_dir)/images.h $(GEMMINI_HEADERS)
%-baremetal: %.c $(src_dir)/images.h $(GEMMINI_HEADERS)
$(CC_BAREMETAL) $(CFLAGS_BAREMETAL) $< $(LFLAGS) -o $@ \
$(wildcard $(BENCH_COMMON)/*.c) $(wildcard $(BENCH_COMMON)/*.S) $(LIBS)

%-linux: %.c %_params.h $(src_dir)/images.h $(GEMMINI_HEADERS)
%-linux: %.c $(src_dir)/images.h $(GEMMINI_HEADERS)
$(CC_LINUX) $(CFLAGS) $< $(LFLAGS) -o $@

junk += $(tests_baremetal) $(tests_linux)
Loading