Skip to content

Commit cae172b

Browse files
authored
Update docs and optimzie the convdw of rv64 (#631)
* add the vs compile ug, update docs * optimize the convdw kernel of rv64
1 parent 403f852 commit cae172b

18 files changed

+992
-353
lines changed

doc/compile.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,7 @@ popd
236236
@ENDLOCAL
237237
```
238238

239-
## 6. 总结
239+
## 6. 使用 Microsoft Visual Studio 编译
240+
241+
请参考 [Visual Studio 使用说明](visual_sudio_user_manual.md)
240242

241-
本文档只是简单指导如何编译对应的 Tengine Lite 版本,有需要可以参考 ` Tengine-Lite/build.sh` 文件。

doc/faq.md

Lines changed: 52 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
### 支持模型
66

7-
已支持:TensorFlow、TFLite、PyTorch ( ONNX )、MXNet、Caffe、Darknet
7+
已支持:TensorFlow、TFLite、PyTorch ( ONNX )、MXNet、Caffe、Darknet、OneFlow、PaddlePaddle
88

99
计划中:TensorFlow2 ( MLIR )、PyTorch ( TorchScript )
1010

@@ -14,7 +14,14 @@
1414

1515
## 如何获取模型中间结果?
1616

17-
创建 cmake 工程时添加 `-DTENGINE_DEBUG_DATA=ON` 变量,将在每一层的 input、output tensor 数据保存到 `./output` 中,以 mobilenet_v1.tmfile 为例:
17+
### 使用方法
18+
19+
- 程序执行前,添加环境变量 `export TG_DEBUG_DATA=1`,启用精度 Profiler 功能;
20+
- 删除环境变量 `unset TG_DEBUG_DATA`, 关闭精度 Profiler 功能。
21+
22+
### logo 信息
23+
24+
数据导出后,在程序执行的当前路径下生成 `./output` 文件夹。
1825

1926
```bash
2027
$ ./tm_classification -m models/squeezenet.tmfile -i images/cat.jpg
@@ -93,53 +100,51 @@ pool6_out_blob_data.txt
93100

94101
## 如何获取模型各个layer耗时?
95102

96-
创建 cmake 工程时添加 `-DTENGINE_DEBUG_TIME=ON` 变量,将在网络模型运行过程中打印每一层的耗时情况,以 mobilenet_v1.tmfile 为例:
103+
### 使用方法
97104

98-
```bash
99-
$ ./tm_classification -m models/squeezenet.tmfile -i images/cat.jpg
100-
Convolution 13.29 ms conv1-conv1/bn-conv1/scale-relu1
101-
Convolution 16.78 ms conv2_1/dw-conv2_1/dw/bn-conv2_1/dw/scale-relu2_1/dw
102-
Convolution 32.15 ms conv2_1/sep-conv2_1/sep/bn-conv2_1/sep/scale-relu2_1/sep
103-
Convolution 7.85 ms conv2_2/dw-conv2_2/dw/bn-conv2_2/dw/scale-relu2_2/dw
104-
Convolution 26.75 ms conv2_2/sep-conv2_2/sep/bn-conv2_2/sep/scale-relu2_2/sep
105-
Convolution 15.02 ms conv3_1/dw-conv3_1/dw/bn-conv3_1/dw/scale-relu3_1/dw
106-
Convolution 59.70 ms conv3_1/sep-conv3_1/sep/bn-conv3_1/sep/scale-relu3_1/sep
107-
Convolution 3.48 ms conv3_2/dw-conv3_2/dw/bn-conv3_2/dw/scale-relu3_2/dw
108-
Convolution 28.39 ms conv3_2/sep-conv3_2/sep/bn-conv3_2/sep/scale-relu3_2/sep
109-
Convolution 8.57 ms conv4_1/dw-conv4_1/dw/bn-conv4_1/dw/scale-relu4_1/dw
110-
Convolution 61.16 ms conv4_1/sep-conv4_1/sep/bn-conv4_1/sep/scale-relu4_1/sep
111-
Convolution 2.21 ms conv4_2/dw-conv4_2/dw/bn-conv4_2/dw/scale-relu4_2/dw
112-
Convolution 31.55 ms conv4_2/sep-conv4_2/sep/bn-conv4_2/sep/scale-relu4_2/sep
113-
Convolution 4.19 ms conv5_1/dw-conv5_1/dw/bn-conv5_1/dw/scale-relu5_1/dw
114-
Convolution 63.83 ms conv5_1/sep-conv5_1/sep/bn-conv5_1/sep/scale-relu5_1/sep
115-
Convolution 3.96 ms conv5_2/dw-conv5_2/dw/bn-conv5_2/dw/scale-relu5_2/dw
116-
Convolution 65.00 ms conv5_2/sep-conv5_2/sep/bn-conv5_2/sep/scale-relu5_2/sep
117-
Convolution 4.95 ms conv5_3/dw-conv5_3/dw/bn-conv5_3/dw/scale-relu5_3/dw
118-
Convolution 65.26 ms conv5_3/sep-conv5_3/sep/bn-conv5_3/sep/scale-relu5_3/sep
119-
Convolution 4.02 ms conv5_4/dw-conv5_4/dw/bn-conv5_4/dw/scale-relu5_4/dw
120-
Convolution 64.07 ms conv5_4/sep-conv5_4/sep/bn-conv5_4/sep/scale-relu5_4/sep
121-
Convolution 4.21 ms conv5_5/dw-conv5_5/dw/bn-conv5_5/dw/scale-relu5_5/dw
122-
Convolution 69.94 ms conv5_5/sep-conv5_5/sep/bn-conv5_5/sep/scale-relu5_5/sep
123-
Convolution 1.89 ms conv5_6/dw-conv5_6/dw/bn-conv5_6/dw/scale-relu5_6/dw
124-
Convolution 31.51 ms conv5_6/sep-conv5_6/sep/bn-conv5_6/sep/scale-relu5_6/sep
125-
Convolution 3.37 ms conv6/dw-conv6/dw/bn-conv6/dw/scale-relu6/dw
126-
Convolution 63.23 ms conv6/sep-conv6/sep/bn-conv6/sep/scale-relu6/sep
127-
Pooling 0.23 ms pool6
128-
Convolution 1.53 ms fc7
105+
- 程序执行前,添加环境变量 `export TG_DEBUG_TIME=1`,启用性能 Profiler 功能;
106+
- 删除环境变量 `unset TG_DEBUG_TIME`, 关闭性能 Profiler 功能。
107+
108+
### logo 信息
129109

130-
model file : models/squeezenet.tmfile
131-
image file : images/cat.jpg
132-
label_file : (null)
133-
img_h, img_w, scale[3], mean[3] : 227 227 , 1.000 1.000 1.000, 104.0 116.7 122.7
134-
Repeat 1 times, thread 1, avg time 480.62 ms, max_time 480.62 ms, min_time 480.62 ms
135-
--------------------------------------
136-
0.273199, 281
137-
0.267552, 282
138-
0.181004, 278
139-
0.081799, 285
140-
0.072407, 151
141-
--------------------------------------
142110
```
111+
0 [ 7.48% : 0.7 ms] Convolution idx: 5 shape: {1 3 100 100} -> {1 8 50 50} int8 K: 3x3 | S: 2x2 | P: 0 1 0 1 MFLOPS: 1.08 Rate:1519
112+
1 [ 6.66% : 0.6 ms] Convolution idx: 8 shape: {1 8 50 50} -> {1 8 50 50} int8 K: 3x3 | S: 1x1 | P: 1 1 1 1 DW( 8) MFLOPS: 0.36 Rate:569
113+
2 [ 9.54% : 0.9 ms] Convolution idx: 11 shape: {1 8 50 50} -> {1 16 50 50} int8 K: 1x1 | S: 1x1 | P: 0 0 0 0 MFLOPS: 0.64 Rate:706
114+
3 [ 3.99% : 0.4 ms] Convolution idx: 14 shape: {1 16 50 50} -> {1 16 25 25} int8 K: 3x3 | S: 2x2 | P: 0 1 0 1 DW( 16) MFLOPS: 0.18 Rate:475
115+
4 [ 6.77% : 0.6 ms] Convolution idx: 17 shape: {1 16 25 25} -> {1 32 25 25} int8 K: 1x1 | S: 1x1 | P: 0 0 0 0 MFLOPS: 0.64 Rate:995
116+
5 [ 6.90% : 0.7 ms] Convolution idx: 20 shape: {1 32 25 25} -> {1 32 25 25} int8 K: 3x3 | S: 1x1 | P: 1 1 1 1 DW( 32) MFLOPS: 0.36 Rate:549
117+
6 [ 4.20% : 0.4 ms] Convolution idx: 23 shape: {1 32 25 25} -> {1 32 25 25} int8 K: 1x1 | S: 1x1 | P: 0 0 0 0 MFLOPS: 1.28 Rate:3207
118+
7 [ 1.42% : 0.1 ms] Convolution idx: 26 shape: {1 32 25 25} -> {1 32 13 13} int8 K: 3x3 | S: 2x2 | P: 1 1 1 1 DW( 32) MFLOPS: 0.10 Rate:721
119+
8 [ 2.36% : 0.2 ms] Convolution idx: 29 shape: {1 32 13 13} -> {1 64 13 13} int8 K: 1x1 | S: 1x1 | P: 0 0 0 0 MFLOPS: 0.69 Rate:3092
120+
9 [ 3.43% : 0.3 ms] Convolution idx: 32 shape: {1 64 13 13} -> {1 64 13 13} int8 K: 3x3 | S: 1x1 | P: 1 1 1 1 DW( 64) MFLOPS: 0.19 Rate:597
121+
10 [ 3.98% : 0.4 ms] Convolution idx: 35 shape: {1 64 13 13} -> {1 64 13 13} int8 K: 1x1 | S: 1x1 | P: 0 0 0 0 MFLOPS: 1.38 Rate:3663
122+
11 [ 0.80% : 0.1 ms] Convolution idx: 38 shape: {1 64 13 13} -> {1 64 7 7} int8 K: 3x3 | S: 2x2 | P: 1 1 1 1 DW( 64) MFLOPS: 0.06 Rate:741
123+
12 [ 2.24% : 0.2 ms] Convolution idx: 41 shape: {1 64 7 7} -> {1 128 7 7} int8 K: 1x1 | S: 1x1 | P: 0 0 0 0 MFLOPS: 0.80 Rate:3771
124+
13 [ 1.59% : 0.2 ms] Convolution idx: 44 shape: {1 128 7 7} -> {1 128 7 7} int8 K: 3x3 | S: 1x1 | P: 1 1 1 1 DW(128) MFLOPS: 0.11 Rate:747
125+
14 [ 4.21% : 0.4 ms] Convolution idx: 47 shape: {1 128 7 7} -> {1 128 7 7} int8 K: 1x1 | S: 1x1 | P: 0 0 0 0 MFLOPS: 1.61 Rate:4015
126+
15 [ 1.53% : 0.1 ms] Convolution idx: 50 shape: {1 128 7 7} -> {1 128 7 7} int8 K: 3x3 | S: 1x1 | P: 1 1 1 1 DW(128) MFLOPS: 0.11 Rate:778
127+
16 [ 4.41% : 0.4 ms] Convolution idx: 53 shape: {1 128 7 7} -> {1 128 7 7} int8 K: 1x1 | S: 1x1 | P: 0 0 0 0 MFLOPS: 1.61 Rate:3833
128+
17 [ 1.66% : 0.2 ms] Convolution idx: 56 shape: {1 128 7 7} -> {1 128 7 7} int8 K: 3x3 | S: 1x1 | P: 1 1 1 1 DW(128) MFLOPS: 0.11 Rate:715
129+
18 [ 4.16% : 0.4 ms] Convolution idx: 59 shape: {1 128 7 7} -> {1 128 7 7} int8 K: 1x1 | S: 1x1 | P: 0 0 0 0 MFLOPS: 1.61 Rate:4065
130+
19 [ 1.52% : 0.1 ms] Convolution idx: 62 shape: {1 128 7 7} -> {1 128 7 7} int8 K: 3x3 | S: 1x1 | P: 1 1 1 1 DW(128) MFLOPS: 0.11 Rate:784
131+
20 [ 4.46% : 0.4 ms] Convolution idx: 65 shape: {1 128 7 7} -> {1 128 7 7} int8 K: 1x1 | S: 1x1 | P: 0 0 0 0 MFLOPS: 1.61 Rate:3786
132+
21 [ 1.59% : 0.2 ms] Convolution idx: 68 shape: {1 128 7 7} -> {1 128 7 7} int8 K: 3x3 | S: 1x1 | P: 1 1 1 1 DW(128) MFLOPS: 0.11 Rate:748
133+
22 [ 4.37% : 0.4 ms] Convolution idx: 71 shape: {1 128 7 7} -> {1 128 7 7} int8 K: 1x1 | S: 1x1 | P: 0 0 0 0 MFLOPS: 1.61 Rate:3869
134+
23 [ 0.54% : 0.1 ms] Convolution idx: 74 shape: {1 128 7 7} -> {1 128 4 4} int8 K: 3x3 | S: 2x2 | P: 1 1 1 1 DW(128) MFLOPS: 0.04 Rate:722
135+
24 [ 2.88% : 0.3 ms] Convolution idx: 77 shape: {1 128 4 4} -> {1 256 4 4} int8 K: 1x1 | S: 1x1 | P: 0 0 0 0 MFLOPS: 1.05 Rate:3825
136+
25 [ 1.02% : 0.1 ms] Convolution idx: 80 shape: {1 256 4 4} -> {1 256 4 4} int8 K: 3x3 | S: 1x1 | P: 1 1 1 1 DW(256) MFLOPS: 0.07 Rate:761
137+
26 [ 5.54% : 0.5 ms] Convolution idx: 81 shape: {1 256 4 4} -> {1 256 4 4} int8 K: 1x1 | S: 1x1 | P: 0 0 0 0 MFLOPS: 2.10 Rate:3986
138+
27 [ 0.11% : 0.0 ms] Pooling idx: 84 shape: {1 256 4 4} -> {1 256 1 1} int8 K: 4x4 | S: 1x1 | P: 0 0 0 0 Avg
139+
28 [ 0.27% : 0.0 ms] FullyConnected idx: 85 shape: {1 256 1 1} -> {1 131 1 1} int8
140+
29 [ 0.40% : 0.0 ms] Softmax idx: 86 shape: {1 131 1 1} -> {1 131 1 1} int8
141+
```
142+
143+
## 如何屏蔽性能算子?
143144

144-
## Todo......
145+
Naive Profiler,用于关闭 CPU 性能算子,后端计算只使用 Naive C 实现的 reference op,用于对比分析性能算子的计算结果。
146+
147+
### 使用方法
145148

149+
- 程序执行前,添加环境变量 `export TG_DEBUG_REF=1`,启用 Naive Profiler 功能;
150+
- 删除环境变量 `unset TG_DEBUG_REF`, 关闭精度 Naive Profiler 功能。

doc/gpu_cuda_user_manual.md

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,13 @@ Todo
1010

1111
On Ubuntu
1212

13-
### setup nvcc enva
14-
```
15-
$ export CUDACXX=/usr/local/cuda/bin/nvcc
16-
```
1713
### build
1814
```bash
1915
$ cd <tengine-lite-root-dir>
2016
$ mkdir -p build-linux-cuda
21-
$ cmake -DTENGINE_ENABLE_CUDABACKEND=ON ..
17+
$ cmake -DTENGINE_ENABLE_CUDA=ON ..
2218

2319
$ make -j4
24-
$ make install
2520
```
2621

2722
## Demo

doc/gpu_opencl_user_manual.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ $ export ROOT_PATH={Path of tengine-lite}
1212
```
1313
### Build
1414

15-
`-DOPENCL_LIBRARY: libOpenCL.so 路径。可通过 <sudo find /usr -name "libOpenCL.so"> 命令查询`
15+
`-DOPENCL_LIBRARY: libOpenCL.so 文件夹路径。可通过 <sudo find /usr -name "libOpenCL.so"> 命令查询`
1616

1717
`-DOPENCL_INCLUDE_DIRS:指定CL/cl.h 路径。可通过 <sudo find /usr -name "cl.h"> 命令查询`
1818

@@ -21,7 +21,7 @@ $ cd <tengine-lite-root-dir>
2121
$ mkdir -p build-linux-opencl
2222
$ cmake \
2323
-DTENGINE_ENABLE_OPENCL=ON \
24-
-DOPENCL_LIBRARY=/usr/lib/aarch64-linux-gnu/libOpenCL.so \
24+
-DOPENCL_LIBRARY=/usr/lib/aarch64-linux-gnu \
2525
-DOPENCL_INCLUDE_DIRS=/usr/include ..
2626

2727
$ make -j4

doc/npu_tim-vx_user_manual.md

Lines changed: 27 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,6 @@ $ cd tengine-lite
2727

2828
**non-cross-compilation**
2929

30-
```bash
31-
$ cd <TIM-VX-root-dir>
32-
$ mkdir build && cd build
33-
$ cmake ..
34-
$ make -j4
35-
```
36-
37-
**Create depend files**
38-
3930
```bash
4031
$ cd <tengine-lite-root-dir>
4132
$ mkdir -p ./3rdparty/tim-vx/lib/x86_64
@@ -45,10 +36,17 @@ $ cp -rf ../TIM-VX/src ./src/dev/tim-vx/
4536
$ cp -rf ../TIM-VX/prebuilt-sdk/x86_64_linux/include/* ./3rdparty/tim-vx/include/
4637
$ cp -rf ../TIM-VX/prebuilt-sdk/x86_64_linux/lib/* ./3rdparty/tim-vx/lib/x86_64/
4738
$ rm ./src/dev/tim-vx/src/tim/vx/*_test.cc
39+
```
4840

49-
$ cp -rf ../TIM-VX/build/src/tim/vx/libtim-vx.so ./3rdparty/tim-vx/lib/x86_64/
41+
Build Tengine
5042

43+
```bash
5144
$ export LD_LIBRARY_PATH=<tengine-lite-root-dir>/3rdparty/tim-vx/lib/x86_64
45+
46+
$ cd <tengine-lite-root-dir>
47+
$ mkdir build && cd build
48+
$ cmake -DTENGINE_ENABLE_TIM_VX=ON ..
49+
$ make -j4
5250
```
5351

5452
#### 2.2 Prepare for Khadas VIM3 platform
@@ -59,14 +57,26 @@ Prepare for VIM3 prebuild sdk:
5957
$ wget -c https://github.com/VeriSilicon/TIM-VX/releases/download/v1.1.28/aarch64_A311D_D312513_A294074_R311680_T312233_O312045.tgz
6058
$ tar zxvf aarch64_A311D_D312513_A294074_R311680_T312233_O312045.tgz
6159
$ mv aarch64_A311D_D312513_A294074_R311680_T312233_O312045 prebuild-sdk-a311d
60+
61+
$ cd <tengine-lite-root-dir>
62+
$ mkdir -p ./3rdparty/tim-vx/lib/aarch64
63+
$ mkdir -p ./3rdparty/tim-vx/include
64+
$ cp -rf ../TIM-VX/include/* ./3rdparty/tim-vx/include/
65+
$ cp -rf ../TIM-VX/src ./src/dev/tim-vx/
66+
$ cp -rf ../prebuild-sdk-a311d/include/* ./3rdparty/tim-vx/include/
67+
$ cp -rf ../prebuild-sdk-a311d/lib/* ./3rdparty/tim-vx/lib/aarch64/
68+
$ rm ./src/dev/tim-vx/src/tim/vx/*_test.cc
6269
```
6370

6471
**2.2.1 cross-compilation**
6572

73+
TOOLCHAIN_FILE in the <tengine-lite-root-dir>/toolchains
6674
```bash
67-
$ cd <TIM-VX-root-dir>
75+
$ export LD_LIBRARY_PATH=<tengine-lite-root-dir>/3rdparty/tim-vx/lib/aarch64
76+
77+
$ cd <tengine-lite-root-dir>
6878
$ mkdir build && cd build
69-
$ cmake -DCONFIG=A311D ..
79+
$ cmake -DCMAKE_TOOLCHAIN_FILE=../toolchains/aarch64-linux-gnu.toolchain.cmake -DTENGINE_ENABLE_TIM_VX=ON ..
7080
$ make -j4
7181
```
7282

@@ -100,48 +110,19 @@ $ mv /usr/lib/libOpenVX.so* ./Backup
100110
$ cp -rf ../prebuild-sdk-a311d/lib/libOpenVX.so* /usr/lib
101111
```
102112

103-
build for libtim-vx.so:
113+
Build Tengine
104114

105115
```bash
106-
$ cd <TIM-VX-root-dir>
116+
$ cd <tengine-lite-root-dir>
107117
$ mkdir build && cd build
108-
$ cmake ..
118+
$ cmake -DTENGINE_ENABLE_TIM_VX=ON ..
109119
$ make -j4
110120
```
111121

112-
##### Create depend files
113-
114-
```bash
115-
$ cd <tengine-lite-root-dir>
116-
$ mkdir -p ./3rdparty/tim-vx/lib/aarch64
117-
$ cp -rf ../TIM-VX/build/src/tim/vx/libtim-vx.so ./3rdparty/tim-vx/lib/aarch64/
118-
119-
$ export LD_LIBRARY_PATH=<tengine-lite-root-dir>/3rdparty/tim-vx/lib/aarch64
120-
```
121-
122122
#### 2.3 Prepare for NXP platform
123123

124124
**non-cross-compilation**
125125

126-
```bash
127-
$ cd <TIM-VX-root-dir>
128-
$ mkdir build && cd build
129-
$ cmake ..
130-
$ make -j4
131-
```
132-
133-
**Create depend files**
134-
135-
```bash
136-
$ cd <tengine-lite-root-dir>
137-
$ mkdir -p ./3rdparty/tim-vx/lib/aarch64
138-
$ cp -rf ../TIM-VX/build/src/tim/vx/libtim-vx.so ./3rdparty/tim-vx/lib/aarch64/
139-
140-
$ export LD_LIBRARY_PATH=<tengine-lite-root-dir>/3rdparty/tim-vx/lib/aarch64
141-
```
142-
143-
#### 2.4 Build Tengine Lite with TIM-VX
144-
145126
```bash
146127
$ cd <tengine-lite-root-dir>
147128
$ mkdir build && cd build
@@ -154,9 +135,6 @@ $ make -j4
154135
#### 3.1 Depned librarys
155136

156137
```
157-
3rdparty/tim-vx/lib/
158-
├── libtim-vx.so
159-
160138
build-tim-vx-arm64/install/lib/
161139
└── libtengine-lite.so
162140
```
@@ -202,8 +180,9 @@ Repeat 10 times, thread 1, avg time 2.95 ms, max_time 3.42 ms, min_time 2.76 ms
202180
### 4. Support list
203181
| Vendor | Devices |
204182
| ------- | ------------ |
205-
| Amlogic | A311D |
183+
| Amlogic | A311D, S905D3|
206184
| NXP | i.MX 8M Plus |
185+
| JLQ | JA310 |
207186
| X86-64 | Simulator |
208187

209188
### 5. The uint8 quantization model

doc/visual_sudio_user_manual.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# Tengine Microsoft Visual Studio User Manual
2+
3+
## Brief
4+
5+
The Visual Studio dev tools & services make app development easy for any platform & language. Tengine support building on windows now.
6+
7+
8+
## Prepare
9+
CMake >= 3.13, Visual Studio >= 2015
10+
11+
Before the very begging, please check CMake and Visual Studio already has been installed. CMake >= 3.13, Visual Studio Version 2017 or 2019 is recommended.
12+
For CUDA or TensorRT backend user, CMake >= 3.18 is needed. CUDA or TensorRT needs to be installed or unpackaged.
13+
14+
15+
## Build
16+
17+
### Download
18+
Download https://github.com/OAID/Tengine.git from GitHub first of all.
19+
20+
#### CMD shell user
21+
Open "x86 Native Tools Command Prompt for VS 201x" or "x64 Native Tools Command Prompt for VS 201x", "201x" is your installed version. Suppose VS2017 was installed, then:
22+
23+
```bash
24+
set PATH=X:/your/cmake/bin;%PATH%
25+
26+
cd /d X:/your/downloaded/Tengine
27+
md build
28+
cd build
29+
cmake.exe -G "Visual Studio 15 2017 Win64" -DTENGINE_OPENMP=OFF -DTENGINE_BUILD_EXAMPLES=OFF ..
30+
::cmake.exe -G "Visual Studio 16 2019" -A x64 -DTENGINE_OPENMP=OFF ..
31+
cmake.exe --build . --parallel %NUMBER_OF_PROCESSORS%
32+
cmake.exe --build . --target install
33+
```
34+
35+
## Demo
36+
37+
TODO

scripts/build.sh

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,13 @@ cmake -DCMAKE_TOOLCHAIN_FILE=../toolchains/aarch64-linux-gnu.toolchain.cmake ..
3535
cmake --build . --parallel `nproc` && cmake --build . --target install
3636
popd
3737

38+
##### linux for rv64-c906 toolchain
39+
mkdir -p build-aarch64-linux-gnu
40+
pushd build-aarch64-linux-gnu
41+
cmake -DCMAKE_TOOLCHAIN_FILE=../toolchains/rv64-c906.toolchain.cmake ..
42+
cmake --build . --parallel `nproc` && cmake --build . --target install
43+
popd
44+
3845
##### linux of hisiv200
3946
mkdir -p build-hisiv200-linux
4047
pushd build-hisiv200-linux

source/device/cpu/cpu_node.h

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -82,14 +82,6 @@ struct node_ops
8282

8383
/* score */
8484
int (*score)(struct node_ops*, struct exec_graph*, struct node*);
85-
86-
#ifdef CONFIG_AUTH_DEVICE
87-
void (*InitTimeLimited)(struct node_ops*);
88-
unsigned long time_limited;
89-
bool skip_run;
90-
int run_count;
91-
unsigned long tv_start;
92-
#endif
9385
};
9486

9587
int init_exec_node(struct exec_graph* exec_graph, struct exec_node* exec_node, struct node* ir_node, struct node_ops* node_ops);

0 commit comments

Comments
 (0)