@@ -22,11 +22,12 @@ Benchmark 工具可方便快捷地评测给定模型在如下硬件上运行时
22
22
# 在 Android 上运行性能测试
23
23
## 编译
24
24
根据[ 源码编译] ( ../source_compile/compile_env ) 准备编译环境,建议使用 Docker 配置交叉编译环境。
25
- 拉取 [ Paddle- Lite] ( https://github.com/PaddlePaddle/Paddle-Lite ) 代码,切换到特定分支,然后在 Paddle- Lite 根目录下执行编译命令:
25
+ 拉取 [ Paddle Lite] ( https://github.com/PaddlePaddle/Paddle-Lite ) 代码,切换到特定分支,然后在 Paddle Lite 根目录下执行编译命令:
26
26
```
27
27
./lite/tools/build_android.sh --toolchain=clang --with_benchmark=ON full_publish
28
28
```
29
29
可选参数:
30
+
30
31
| 参数 | 说明 | 可选值 | 默认值 |
31
32
| :-- | :-- | :-- | :-- |
32
33
| arch | 目标 ARM 架构 | armv7 / armv8 | armv8 |
@@ -109,11 +110,12 @@ avg = 32.723
109
110
110
111
# 在 ARMLinux 上运行性能测试
111
112
根据[ 源码编译] ( ../source_compile/compile_env ) 准备编译环境,建议使用 Docker 配置交叉编译环境。
112
- 拉取 [ Paddle- Lite] ( https://github.com/PaddlePaddle/Paddle-Lite ) 代码,切换到特定分支,然后在 Paddle- Lite 根目录下执行编译命令:
113
+ 拉取 [ Paddle Lite] ( https://github.com/PaddlePaddle/Paddle-Lite ) 代码,切换到特定分支,然后在 Paddle Lite 根目录下执行编译命令:
113
114
```
114
115
./lite/tools/build_linux.sh --arch=armv8 --with_benchmark=ON full_publish
115
116
```
116
117
可选参数:
118
+
117
119
| 参数 | 说明 | 可选值 | 默认值 |
118
120
| :-- | :-- | :-- | :-- |
119
121
| arch | 目标 ARM 架构 | armv7 / armv8 | armv8 |
@@ -191,11 +193,12 @@ avg = 32.723
191
193
# 在 Linux 上运行性能测试
192
194
## 编译
193
195
根据[ 源码编译] ( ../source_compile/compile_env ) 准备编译环境,建议使用 Docker 配置环境。
194
- 拉取 [ Paddle- Lite] ( https://github.com/PaddlePaddle/Paddle-Lite ) 代码,切换到特定分支,然后在 Paddle- Lite 根目录下执行编译命令:
196
+ 拉取 [ Paddle Lite] ( https://github.com/PaddlePaddle/Paddle-Lite ) 代码,切换到特定分支,然后在 Paddle Lite 根目录下执行编译命令:
195
197
```
196
198
./lite/tools/build_linux.sh --arch=x86 --with_benchmark=ON full_publish
197
199
```
198
200
可选参数:
201
+
199
202
| 参数 | 说明 | 可选值 | 默认值 |
200
203
| :-- | :-- | :-- | :-- |
201
204
| toolchain | 工具链 | gcc / clang | gcc |
@@ -216,6 +219,9 @@ avg = 32.723
216
219
wget https://paddle-inference-dist.bj.bcebos.com/AI-Rank/mobile/MobileNetV1.tar.gz
217
220
tar zxvf MobileNetV1.tar.gz
218
221
222
+ # 设置环境变量
223
+ export LD_LIBRARY_PATH=build.lite.x86.gcc/third_party/install/mklml/lib/:$LD_LIBRARY_PATH
224
+
219
225
# 执行性能测试
220
226
./build.lite.linux.x86.gcc/lite/api/benchmark_bin \
221
227
--model_file=MobileNetV1/inference.pdmodel \
@@ -267,11 +273,12 @@ avg = 33.918
267
273
# 在 OSX 上运行性能测试
268
274
## 编译
269
275
根据[ 源码编译] ( ../source_compile/compile_env ) 准备编译环境,可以使用 Docker 配置环境,也可以使用系统原生开发环境。
270
- 拉取 [ Paddle- Lite] ( https://github.com/PaddlePaddle/Paddle-Lite ) 代码,切换到特定分支,然后在 Paddle- Lite 根目录下执行编译命令:
276
+ 拉取 [ Paddle Lite] ( https://github.com/PaddlePaddle/Paddle-Lite ) 代码,切换到特定分支,然后在 Paddle Lite 根目录下执行编译命令:
271
277
```
272
278
./lite/tools/build_macos.sh --with_benchmark=ON x86
273
279
```
274
280
可选参数:
281
+
275
282
| 参数 | 说明 | 可选值 | 默认值 |
276
283
| :-- | :-- | :-- | :-- |
277
284
| toolchain | 工具链 | gcc / clang | gcc |
@@ -379,31 +386,31 @@ adb shell "cd /data/local/tmp/benchmark;
379
386
```
380
387
381
388
### 在 NNAdapter 上运行模型
382
- NNAdapter已支持的新硬件列表如下 :
383
- - Huawei Kirin NPU
389
+ NNAdapter 已支持的新硬件列表如下 :
390
+ - Huawei Kirin NPU
384
391
- Huawei Ascend NPU
385
392
- Rockchip NPU
386
393
- Imagination NNA
387
394
- Mediatek APU
388
395
- Amlogic NPU
389
396
390
- PaddleLite在持续地开发不同新硬件所支持的算子 。可以通过访问[ https://github.com/PaddlePaddle/Paddle-Lite/blob/develop/lite/kernels/nnadapter/bridges/paddle_use_bridges.h ] ( https://github.com/PaddlePaddle/Paddle-Lite/blob/develop/lite/kernels/nnadapter/bridges/paddle_use_bridges.h ) 获得最新的算子支持列表。
397
+ Paddle Lite 在持续地开发不同新硬件所支持的算子 。可以通过访问 [ NNAdapter 算子支持列表 ] ( https://github.com/PaddlePaddle/Paddle-Lite/blob/develop/lite/kernels/nnadapter/bridges/paddle_use_bridges.h ) 获得最新的算子支持列表。
391
398
392
- 参考NNAdapter算子支持列表 ,当模型能够全部运行在某种新硬件上时,实际后端只有NNAdapter一种;当模型部分算子需要运行在x86 cpu或arm cpu上时,实际后端为包含NNAdapter和cpu在内的多种硬件 (异构计算)。
399
+ 参考 NNAdapter 算子支持列表 ,当模型能够全部运行在某种新硬件上时,实际后端只有 NNAdapter 一种;当模型部分算子需要运行在 x86 cpu 或 arm cpu 上时,实际后端为包含 NNAdapter 和 cpu 在内的多种硬件 (异构计算)。
393
400
394
- #### NNAdapter运行时库及新硬件Driver Hal库编译
401
+ #### NNAdapter 运行时库及新硬件 Driver Hal 库编译
395
402
##### nnadapter.so
396
403
- Huawei Kirin NPU / Mediatek NPU 请参考 『在 Android 上运行性能测试』编译预测库。
397
404
— Huawei Ascend NPU(arm host) / Rockchip NPU / Imagination NNA / Amlogic NPU 请参考 『在 ARMLinux 上运行性能测试』编译预测库。
398
405
- Huawei Ascend NPU(x86 host)请参考『在 Linux 上运行性能测试』编译预测库。
399
- - 新硬件所需的DDK可在PaddleLite通用示例程序 [ PaddleLite-generic-demo.tar.gz ] ( https://paddlelite-demo.bj.bcebos.com/devices/generic/PaddleLite-generic-demo.tar.gz ) 中获取。
406
+ - 新硬件所需的 DDK 可在 [ Paddle Lite 通用示例程序 ] ( https://paddlelite-demo.bj.bcebos.com/devices/generic/PaddleLite-generic-demo.tar.gz ) 中获取。
400
407
401
408
##### driver hal库
402
- 请参考[ Paddle- Lite官方文档] ( https://paddle-lite.readthedocs.io/zh/develop/index.html ) 编译新硬件driver hal库 。
409
+ 请参考[ Paddle Lite官方文档] ( https://paddle-lite.readthedocs.io/zh/develop/index.html ) 编译新硬件 driver hal 库 。
403
410
404
411
#### 在 Huawei Kirin NPU 上运行模型
405
412
``` shell
406
- 拷贝HiAi DDK、benchmark_bin、nnadapter.so、模型文件到设备目录/data/local/tmp/benchmark
413
+ 拷贝 HiAi DDK、benchmark_bin、nnadapter.so、模型文件到设备目录` /data/local/tmp/benchmark`
407
414
adb shell " cd /data/local/tmp/benchmark;
408
415
export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH ;
409
416
./benchmark_bin \
@@ -418,8 +425,8 @@ adb shell "cd /data/local/tmp/benchmark;
418
425
419
426
#### 在 Huawei Ascend NPU 上运行模型
420
427
``` shell
421
- # Host侧为x86 cpu时
422
- 拷贝Ascend DDK、benchmark_bin、nnadapter.so、模型文件到设备目录 WORKSPACE
428
+ # Host 侧为 x86 cpu 时
429
+ 拷贝 Ascend DDK、benchmark_bin、nnadapter.so、模型文件到设备目录` WORKSPACE`
423
430
export LD_LIBRARY_PATH=$WORKSPACE :$LD_LIBRARY_PATH
424
431
./benchmark_bin \
425
432
--model_file=MobileNetV1/inference.pdmodel \
@@ -431,8 +438,8 @@ export LD_LIBRARY_PATH=$WORKSPACE:$LD_LIBRARY_PATH
431
438
--nnadapter_device_names=huawei_ascend_npu \
432
439
--nnadapter_context_properties=" HUAWEI_ASCEND_NPU_SELECTED_DEVICE_IDS=0"
433
440
434
- # Host侧为arm cpu时
435
- 拷贝Ascend DDK、benchmark_bin、nnadapter.so、模型文件到设备目录 WORKSPACE
441
+ # Host 侧为 arm cpu 时
442
+ 拷贝 Ascend DDK、benchmark_bin、nnadapter.so、模型文件到设备目录` WORKSPACE`
436
443
export LD_LIBRARY_PATH=$WORKSPACE :$LD_LIBRARY_PATH
437
444
./benchmark_bin \
438
445
--model_file=MobileNetV1/inference.pdmodel \
@@ -445,9 +452,9 @@ export LD_LIBRARY_PATH=$WORKSPACE:$LD_LIBRARY_PATH
445
452
--nnadapter_context_properties=" HUAWEI_ASCEND_NPU_SELECTED_DEVICE_IDS=0"
446
453
```
447
454
448
- #### 在 Huawei Rockchip NPU 上运行模型
455
+ #### 在 Rockchip NPU 上运行模型
449
456
``` shell
450
- 拷贝rockchip npu DDK、benchmark_bin、nnadapter.so、模型文件到设备目录 WORKSPACE
457
+ 拷贝 Rockchip npu DDK、benchmark_bin、nnadapter.so、模型文件到设备目录` WORKSPACE`
451
458
export LD_LIBRARY_PATH=$WORKSPACE :$LD_LIBRARY_PATH
452
459
./benchmark_bin \
453
460
--model_file=MobileNetV1/inference.pdmodel \
@@ -461,7 +468,7 @@ export LD_LIBRARY_PATH=$WORKSPACE:$LD_LIBRARY_PATH
461
468
462
469
#### 在 Imagination NNA 上运行模型
463
470
``` shell
464
- 拷贝imagination DDK、benchmark_bin、nnadapter.so、模型文件到设备目录 WORKSPACE
471
+ 拷贝 Imagination DDK、benchmark_bin、nnadapter.so、模型文件到设备目录` WORKSPACE`
465
472
export LD_LIBRARY_PATH=$WORKSPACE :$LD_LIBRARY_PATH
466
473
./benchmark_bin \
467
474
--model_file=MobileNetV1/inference.pdmodel \
@@ -475,7 +482,7 @@ export LD_LIBRARY_PATH=$WORKSPACE:$LD_LIBRARY_PATH
475
482
476
483
#### 在 Mediatek APU 上运行模型
477
484
``` shell
478
- 拷贝Mediatek APU DDK、benchmark_bin、nnadapter.so、模型文件到设备目录/data/local/tmp/benchmark
485
+ 拷贝 Mediatek APU DDK、benchmark_bin、nnadapter.so、模型文件到设备目录` /data/local/tmp/benchmark`
479
486
adb shell " cd /data/local/tmp/benchmark;
480
487
export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH ;
481
488
./benchmark_bin \
0 commit comments