-
Notifications
You must be signed in to change notification settings - Fork 12
/
.gitlab-ci.yml
120 lines (111 loc) · 3.49 KB
/
.gitlab-ci.yml
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
# Copyright 2022 ETH Zurich and University of Bologna.
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
# SPDX-License-Identifier: Apache-2.0
#
# Yvan Tortorella <yvan.tortorella@unibo.it>
.base:
artifacts:
when: always
expire_in: 1 week
stages:
- init
- build
- test
init:
stage: init
extends: .base
script:
- cd golden-model; source setup-py.sh
artifacts:
when: always
expire_in: 1 week
paths:
- ./golden-model/venv
.redmule-build-tpl:
extends: .base
stage: build
dependencies:
- init
script:
- SETUP_CONFIG=${SETUP_CONFIG}
- source scripts/${SETUP_CONFIG}.sh
- make update-ips
- make hw-build
artifacts:
when: always
expire_in: 1 week
paths:
- ./.bender
- ./scripts/compile.tcl
- ./vsim/*
redmule-build-hwpe:
extends: .redmule-build-tpl
variables:
SETUP_CONFIG: "setup-hwpe"
redmule-build-complex:
extends: .redmule-build-tpl
variables:
SETUP_CONFIG: "setup-complex"
.redmule-vsim-tpl:
extends: .base
stage: test
script:
- SETUP_CONFIG=${SETUP_CONFIG}
- source scripts/${SETUP_CONFIG}.sh
- make golden OP=${OP} M=${M} N=${N} K=${K} fp_fmt=${FMT}
- make sw-clean sw-build
- make run
- '(grep -rn "Success!" ./vsim/transcript)'
- (! grep -rn "Fail!" ./vsim/transcript)
hwpe-test:
extends: .redmule-vsim-tpl
dependencies:
- redmule-build-hwpe
variables:
SETUP_CONFIG: "setup-hwpe"
parallel:
matrix:
- { OP: gemm, M: 96, N: 96, K: 96, FMT: FP16 }
- { OP: gemm, M: 128, N: 128, K: 128, FMT: FP16 }
- { OP: gemm, M: 12, N: 16, K: 16, FMT: FP16 }
- { OP: gemm, M: 24, N: 16, K: 16, FMT: FP16 }
- { OP: gemm, M: 48, N: 32, K: 32, FMT: FP16 }
- { OP: gemm, M: 30, N: 32, K: 17, FMT: FP16 }
- { OP: gemm, M: 24, N: 32, K: 1, FMT: FP16 }
- { OP: gemm, M: 31, N: 32, K: 16, FMT: FP16 }
- { OP: gemm, M: 17, N: 32, K: 16, FMT: FP16 }
- { OP: gemm, M: 31, N: 32, K: 31, FMT: FP16 }
- { OP: gemm, M: 17, N: 32, K: 3, FMT: FP16 }
- { OP: gemm, M: 5, N: 32, K: 17, FMT: FP16 }
- { OP: gemm, M: 5, N: 32, K: 3, FMT: FP16 }
- { OP: gemm, M: 36, N: 31, K: 32, FMT: FP16 }
- { OP: gemm, M: 12, N: 31, K: 16, FMT: FP16 }
- { OP: gemm, M: 23, N: 31, K: 31, FMT: FP16 }
- { OP: gemm, M: 24, N: 17, K: 32, FMT: FP16 }
- { OP: gemm, M: 24, N: 20, K: 32, FMT: FP16 }
complex-test:
extends: .redmule-vsim-tpl
dependencies:
- redmule-build-complex
variables:
SETUP_CONFIG: "setup-complex"
parallel:
matrix:
- { OP: gemm, M: 96, N: 96, K: 96, FMT: FP16 }
- { OP: gemm, M: 128, N: 128, K: 128, FMT: FP16 }
- { OP: gemm, M: 12, N: 16, K: 16, FMT: FP16 }
- { OP: gemm, M: 24, N: 16, K: 16, FMT: FP16 }
- { OP: gemm, M: 48, N: 32, K: 32, FMT: FP16 }
- { OP: gemm, M: 30, N: 32, K: 17, FMT: FP16 }
- { OP: gemm, M: 24, N: 32, K: 1, FMT: FP16 }
- { OP: gemm, M: 31, N: 32, K: 16, FMT: FP16 }
- { OP: gemm, M: 17, N: 32, K: 16, FMT: FP16 }
- { OP: gemm, M: 31, N: 32, K: 31, FMT: FP16 }
- { OP: gemm, M: 17, N: 32, K: 3, FMT: FP16 }
- { OP: gemm, M: 5, N: 32, K: 17, FMT: FP16 }
- { OP: gemm, M: 5, N: 32, K: 3, FMT: FP16 }
- { OP: gemm, M: 36, N: 31, K: 32, FMT: FP16 }
- { OP: gemm, M: 12, N: 31, K: 16, FMT: FP16 }
- { OP: gemm, M: 23, N: 31, K: 31, FMT: FP16 }
- { OP: gemm, M: 24, N: 17, K: 32, FMT: FP16 }
- { OP: gemm, M: 24, N: 20, K: 32, FMT: FP16 }