-
Notifications
You must be signed in to change notification settings - Fork 188
/
Copy pathmakefile
72 lines (65 loc) · 2.78 KB
/
makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#!/bin/bash
BUDDY_MLIR_DIR := ../../../
BUDDY_OPT := ${BUDDY_MLIR_DIR}/build/bin/buddy-opt
BUDDY_TRANSLATE := ${BUDDY_MLIR_DIR}/build/bin/buddy-translate
BUDDY_LLC := ${BUDDY_MLIR_DIR}/build/bin/buddy-llc
GEMMINI_EXAMPLE_DIR := ${BUDDY_MLIR_DIR}/examples/GemminiDialect/
ELF_CC := riscv64-unknown-elf-gcc
PK_CC := riscv64-unknown-linux-gnu-gcc
mvin-mvout-run-baremetal:
@${BUDDY_OPT} ./${GEMMINI_EXAMPLE_DIR}/mvin-mvout.mlir -lower-gemmini | \
${BUDDY_TRANSLATE} --buddy-to-llvmir | \
${BUDDY_LLC} -filetype=obj -mtriple=riscv64 \
-mattr=+buddyext,+D -float-abi=hard \
-relocation-model=pic \
-o log.o
@${ELF_CC} -static -specs=htif_nano.specs log.o -o mvin-mvout-baremetal
@spike --extension=gemmini mvin-mvout-baremetal
gemmini-conv2d-nchw-fchw-f32-run-baremetal:
@${BUDDY_OPT} ./${GEMMINI_EXAMPLE_DIR}/conv_2d_nchw_fchw_f32.mlir \
-convert-linalg-to-gemmini="acc_t=f32" \
-convert-linalg-to-loops \
-lower-gemmini="dim=4 acc_t=f32 elem_t=f32" | \
${BUDDY_TRANSLATE} -buddy-to-llvmir | \
${BUDDY_LLC} -filetype=obj -mtriple=riscv64 \
-mattr=+buddyext,+D -float-abi=hard \
-relocation-model=pic \
-o log.o
@${ELF_CC} -O2 -static -specs=htif_nano.specs log.o -o conv-2d-nchw-fchw-f32-baremetal
@spike --extension=gemmini conv-2d-nchw-fchw-f32-baremetal
gemmini-conv2d-nchw-fchw-i8-run-baremetal:
@${BUDDY_OPT} ./${GEMMINI_EXAMPLE_DIR}/conv_2d_nchw_fchw_i8.mlir \
-convert-linalg-to-gemmini \
-convert-linalg-to-loops \
-lower-gemmini | \
${BUDDY_TRANSLATE} -buddy-to-llvmir | \
${BUDDY_LLC} -filetype=obj -mtriple=riscv64 \
-mattr=+buddyext,+D -float-abi=hard \
-relocation-model=pic \
-o log.o
@${ELF_CC} -O2 -static -specs=htif_nano.specs log.o -o conv-2d-nchw-fchw-i8-baremetal
@spike --extension=gemmini conv-2d-nchw-fchw-i8-baremetal
gemmini-conv2d-nchw-fhwc-f32-run-baremetal:
@${BUDDY_OPT} ./${GEMMINI_EXAMPLE_DIR}/conv_2d_nchw_fhwc_f32.mlir \
-convert-linalg-to-gemmini="acc_t=f32" \
-convert-linalg-to-loops \
-lower-gemmini="dim=4 acc_t=f32 elem_t=f32" | \
${BUDDY_TRANSLATE} -buddy-to-llvmir | \
${BUDDY_LLC} -filetype=obj -mtriple=riscv64 \
-mattr=+buddyext,+D -float-abi=hard \
-relocation-model=pic \
-o log.o
@${ELF_CC} -O2 -static -specs=htif_nano.specs log.o -o conv-2d-nchw-fhwc-f32-baremetal
@spike --extension=gemmini conv-2d-nchw-fhwc-f32-baremetal
gemmini-conv2d-nhwc-fhwc-i8-run-baremetal:
@${BUDDY_OPT} ./${GEMMINI_EXAMPLE_DIR}/conv_2d_nhwc_fhwc_i8.mlir \
-convert-linalg-to-gemmini \
-convert-linalg-to-loops \
-lower-gemmini | \
${BUDDY_TRANSLATE} -buddy-to-llvmir | \
${BUDDY_LLC} -filetype=obj -mtriple=riscv64 \
-mattr=+buddyext,+D -float-abi=hard \
-relocation-model=pic \
-o log.o
@${ELF_CC} -O2 -static -specs=htif_nano.specs log.o -o conv-2d-nhwc-fhwc-i8-baremetal
@spike --extension=gemmini conv-2d-nhwc-fhwc-i8-baremetal