@@ -18,7 +18,7 @@ PARAMS=(
18
18
5 32 3
19
19
36 31 32
20
20
12 31 16
21
- 23 31 31
21
+ # 23 31 31
22
22
24 17 32
23
23
24 20 32
24
24
# 23 17 33
@@ -28,40 +28,43 @@ PARAMS=(
28
28
# 17 13 17
29
29
)
30
30
31
+ VSIM_LOGFILE=vsim.log
32
+ rm -f $VSIM_LOGFILE
33
+
34
+
31
35
run_regr () {
32
- local use_ecc=$1
33
36
make golden M=$M N=$N K=$K > /dev/null
34
- make all 1> /dev/null 2>&1
35
- if [[ $use_ecc -eq 1 ]] ; then
36
- timeout $BASE_TIMEOUT make run USE_ECC=1 1> /dev/null 2>&1
37
- else
38
- timeout $BASE_TIMEOUT make run 1> /dev/null 2>&1
39
- fi
37
+ make all USE_REDUNDANCY= $SW_REDUNDANCY 1> /dev/null 2>&1
38
+ timeout $BASE_TIMEOUT make run USE_ECC= $USE_ECC USE_REDUNDANCY= $HW_REDUNDANCY 1> $VSIM_LOGFILE 2>&1
39
+
40
+ # If you want detailed output, uncomment this line
41
+ # tail -10 $VSIM_LOGFILE
42
+
40
43
if [[ $? -eq 124 ]]; then
41
- echo " ERROR : M= $M N= $N K= $K "
44
+ STATUS= " TIMEOUT "
42
45
else
43
- echo " OK : M=$M N=$N K=$K "
46
+ if grep -wq " Errors: 0," $VSIM_LOGFILE ; then
47
+ STATUS=" OK "
48
+ else
49
+ STATUS=" ERROR "
50
+ fi
44
51
fi
52
+ echo " $STATUS : M=$M N=$N K=$K , ECC=$USE_ECC , HW_RED=$HW_REDUNDANCY , SW_RED=${SW_REDUNDANCY} "
45
53
}
46
54
47
- i=0
48
- while [[ $i -lt ${# PARAMS[@]} ]]; do
49
- M=${PARAMS[$i]}
50
- N=${PARAMS[$((i + 1))]}
51
- K=${PARAMS[$((i + 2))]}
52
- i=$(( i + 3 ))
53
-
54
- run_regr 0
55
- done
56
-
57
- # Second loop: USE_ECC=1
58
- echo " Running with USE_ECC=1"
59
- i=0
60
- while [[ $i -lt ${# PARAMS[@]} ]]; do
61
- M=${PARAMS[$i]}
62
- N=${PARAMS[$((i + 1))]}
63
- K=${PARAMS[$((i + 2))]}
64
- i=$(( i + 3 ))
55
+ for SW_REDUNDANCY in 0 1; do
56
+ for HW_REDUNDANCY in 0 1; do
57
+ for USE_ECC in 0 1; do
58
+ i=0
59
+ while [[ $i -lt ${# PARAMS[@]} ]]; do
65
60
66
- run_regr 1
61
+ # For redundant operations we reduce the size of the matrix so run time is about the same
62
+ M=$(( ${PARAMS[$i]} / (1 + $SW_REDUNDANCY )) )
63
+ N=${PARAMS[$((i + 1))]}
64
+ K=${PARAMS[$((i + 2))]}
65
+ i=$(( i + 3 ))
66
+ run_regr
67
+ done
68
+ done
69
+ done
67
70
done
0 commit comments