|
5 | 5 | from topi.nn import conv2d, conv2d_alter_layout |
6 | 6 | from topi import generic |
7 | 7 |
|
8 | | -_WORKLOADS = [ |
9 | | - # resnet 18 |
10 | | - Workload('float32', 'float32', 224, 224, 3, 64, 7, 7, 3, 3, 2, 2), |
11 | | - Workload('int8', 'int32', 224, 224, 3, 64, 7, 7, 3, 3, 2, 2), |
12 | | - Workload('int8', 'int32', 56, 56, 64, 64, 3, 3, 1, 1, 1, 1), |
13 | | - Workload('int8', 'int32', 56, 56, 64, 64, 1, 1, 0, 0, 1, 1), |
14 | | - Workload('int8', 'int32', 56, 56, 64, 128, 3, 3, 1, 1, 2, 2), |
15 | | - Workload('int8', 'int32', 56, 56, 64, 128, 1, 1, 0, 0, 2, 2), |
16 | | - Workload('int8', 'int32', 28, 28, 128, 128, 3, 3, 1, 1, 1, 1), |
17 | | - Workload('int8', 'int32', 28, 28, 128, 256, 3, 3, 1, 1, 2, 2), |
18 | | - Workload('int8', 'int32', 28, 28, 128, 256, 1, 1, 0, 0, 2, 2), |
19 | | - Workload('int8', 'int32', 14, 14, 256, 256, 3, 3, 1, 1, 1, 1), |
20 | | - Workload('int8', 'int32', 14, 14, 256, 512, 3, 3, 1, 1, 2, 2), |
21 | | - Workload('int8', 'int32', 14, 14, 256, 512, 1, 1, 0, 0, 2, 2), |
22 | | - Workload('int8', 'int32', 7, 7, 512, 512, 3, 3, 1, 1, 1, 1), |
23 | | - |
24 | | - # mobilenet float32 |
25 | | - Workload('float32', 'float32', 224, 224, 3, 32, 3, 3, 1, 1, 2, 2), |
26 | | - Workload('float32', 'float32', 112, 112, 32, 64, 1, 1, 0, 0, 1, 1), |
27 | | - Workload('float32', 'float32', 56, 56, 64, 128, 1, 1, 0, 0, 1, 1), |
28 | | - Workload('float32', 'float32', 56, 56, 128, 128, 1, 1, 0, 0, 1, 1), |
29 | | - Workload('float32', 'float32', 28, 28, 128, 256, 1, 1, 0, 0, 1, 1), |
30 | | - Workload('float32', 'float32', 28, 28, 256, 256, 1, 1, 0, 0, 1, 1), |
31 | | - Workload('float32', 'float32', 14, 14, 256, 512, 1, 1, 0, 0, 1, 1), |
32 | | - Workload('float32', 'float32', 14, 14, 512, 512, 1, 1, 0, 0, 1, 1), |
33 | | - Workload('float32', 'float32', 7, 7, 512, 1024, 1, 1, 0, 0, 1, 1), |
34 | | - Workload('float32', 'float32', 7, 7, 1024, 1024, 1, 1, 0, 0, 1, 1), |
35 | | - |
36 | | - # mobilenet int8 |
37 | | - Workload('float32', 'float32', 224, 224, 3, 32, 3, 3, 1, 1, 2, 2), |
38 | | - Workload('int8', 'int32', 112, 112, 32, 64, 1, 1, 0, 0, 1, 1), |
39 | | - Workload('int8', 'int32', 56, 56, 64, 128, 1, 1, 0, 0, 1, 1), |
40 | | - Workload('int8', 'int32', 56, 56, 128, 128, 1, 1, 0, 0, 1, 1), |
41 | | - Workload('int8', 'int32', 28, 28, 128, 256, 1, 1, 0, 0, 1, 1), |
42 | | - Workload('int8', 'int32', 28, 28, 256, 256, 1, 1, 0, 0, 1, 1), |
43 | | - Workload('int8', 'int32', 14, 14, 256, 512, 1, 1, 0, 0, 1, 1), |
44 | | - Workload('int8', 'int32', 14, 14, 512, 512, 1, 1, 0, 0, 1, 1), |
45 | | - Workload('int8', 'int32', 7, 7, 512, 1024, 1, 1, 0, 0, 1, 1), |
46 | | - Workload('int8', 'int32', 7, 7, 1024, 1024, 1, 1, 0, 0, 1, 1), |
47 | | -] |
48 | | - |
49 | | -_SCHEDULES = [ |
50 | | - # float32 imagenet |
51 | | - SpatialPack(1, 8, 4, 1, 4, True), |
52 | | - SpatialPack(1, 8, 4, 1, 4, True), |
53 | | - SpatialPack(1, 7, 4, 2, 4, True), |
54 | | - SpatialPack(1, 4, 8, 4, 1, True), |
55 | | - SpatialPack(1, 4, 4, 1, 16, False), |
56 | | - SpatialPack(1, 4, 8, 4, 8, False), |
57 | | - SpatialPack(1, 7, 4, 3, 8, True), |
58 | | - SpatialPack(1, 2, 8, 1, 8, True), |
59 | | - SpatialPack(2, 1, 16, 1, 4, True), |
60 | | - SpatialPack(1, 7, 4, 1, 1, True), |
61 | | - Im2ColPack(7, 4, 1, 16, True), |
62 | | - Im2ColPack(7, 4, 1, 8, False), |
63 | | - Im2ColPack(7, 4, 1, 16, False), |
64 | | - |
65 | | - # float32 mobilenet |
66 | | - SpatialPack(2, 2, 4, 28, 1, True), |
67 | | - SpatialPack(1, 4, 8, 14, 1, False), |
68 | | - SpatialPack(1, 2, 16, 8, 1, True), |
69 | | - SpatialPack(1, 4, 8, 8, 8, True), |
70 | | - SpatialPack(2, 2, 8, 1, 1, False), |
71 | | - SpatialPack(1, 4, 8, 4, 8, False), |
72 | | - SpatialPack(2, 2, 8, 1, 4, False), |
73 | | - SpatialPack(2, 2, 8, 1, 8, False), |
74 | | - Im2ColPack(7, 4, 1, 16, False), |
75 | | - Im2ColPack(7, 4, 1, 4, True), |
76 | | - |
77 | | - # int8 mobilenet |
78 | | - SpatialPack(2, 2, 4, 28, 1, True), |
79 | | - SpatialPack(1, 4, 8, 14, 1, False), |
80 | | - SpatialPack(1, 2, 16, 8, 1, True), |
81 | | - SpatialPack(1, 4, 8, 8, 8, True), |
82 | | - SpatialPack(2, 2, 8, 1, 1, False), |
83 | | - SpatialPack(1, 4, 8, 4, 8, False), |
84 | | - SpatialPack(2, 2, 8, 1, 4, False), |
85 | | - SpatialPack(2, 2, 8, 1, 8, False), |
86 | | - Im2ColPack(7, 4, 1, 16, False), |
87 | | - Im2ColPack(7, 4, 1, 4, True), |
88 | | -] |
89 | 8 |
|
90 | 9 | @conv2d.register(["vtacpu", "vta"]) |
91 | 10 | def compute(*args, **kwargs): |
|
0 commit comments