anakin_gpu_benchmark.md 4.0 KB
Newer Older
1
# Anakin GPU 性能测试
Y
yuyang18 已提交
2

3
## 环境:
Y
yuyang18 已提交
4 5

>  CPU: `12-core Intel(R) Xeon(R) CPU E5-2620 v2 @2.10GHz`
Y
yuyang18 已提交
6 7
>  GPU: `Tesla P4`
>  cuDNN: `v7`
Y
yuyang18 已提交
8 9


10
## anakin 对比对象:
Y
yuyang18 已提交
11

12
**`Anakin`** 将与高性能的推理引擎 **`NVIDIA TensorRT 3`** 进行比较
Y
yuyang18 已提交
13

Y
yuyang18 已提交
14
## Benchmark Model
Y
yuyang18 已提交
15

16 17
> 注意在性能测试之前,请先将测试model通过 `External Converter` 工具转换为Anakin model
> 对这些model,本文在GPU上进行单线程单GPU卡的性能测试。
Y
yuyang18 已提交
18

19 20 21 22 23 24 25
- [Vgg16](#1)   *caffe model 可以在[这儿](https://gist.github.com/jimmie33/27c1c0a7736ba66c2395)下载*
- [Yolo](#2)  *caffe model 可以在[这儿](https://github.com/hojel/caffe-yolo-model)下载*
- [Resnet50](#3)  *caffe model 可以在[这儿](https://github.com/KaimingHe/deep-residual-networks#models)下载*
- [Resnet101](#4)  *caffe model 可以在[这儿](https://github.com/KaimingHe/deep-residual-networks#models)下载*
- [Mobilenet v1](#5)  *caffe model 可以在[这儿](https://github.com/shicai/MobileNet-Caffe)下载*
- [Mobilenet v2](#6)  *caffe model 可以在[这儿](https://github.com/shicai/MobileNet-Caffe)下载*
- [RNN](#7)  *暂不支持*
Y
yuyang18 已提交
26

Y
yuyang18 已提交
27
### <span id = '1'>VGG16 </span>
Y
yuyang18 已提交
28

Y
yuyang18 已提交
29
- Latency (`ms`) of different batch
Y
yuyang18 已提交
30

Y
yuyang18 已提交
31 32
| BatchSize | TensorRT | Anakin |
| --- | --- | --- |
C
chenjiaoAngel 已提交
33 34 35 36
| 1 | 8.53945 | 8.18737 |
| 2 | 14.2269 | 13.8976 |
| 4 | 24.2803 | 21.7976 |
| 8 | 45.6003 | 40.319 |
Y
yuyang18 已提交
37 38 39

- GPU Memory Used (`MB`)

Y
yuyang18 已提交
40 41
| BatchSize | TensorRT | Anakin |
| --- | --- | --- |
C
chenjiaoAngel 已提交
42 43 44 45
| 1 | 1053.88 | 762.73 |
| 2 | 1055.71 | 762.41 |
| 4 | 1003.22 | 832.75 |
| 8 | 1108.77 | 926.9 |
Y
yuyang18 已提交
46 47


Y
yuyang18 已提交
48
### <span id = '2'>Yolo </span>
Y
yuyang18 已提交
49

Y
yuyang18 已提交
50
- Latency (`ms`) of different batch
Y
yuyang18 已提交
51

Y
yuyang18 已提交
52 53
| BatchSize | TensorRT | Anakin |
| --- | --- | --- |
C
chenjiaoAngel 已提交
54 55 56 57
| 1 | 8.41606| 7.07977 |
| 2 | 16.6588| 15.2216 |
| 4 | 31.9955| 30.5102 |
| 8 | 66.1107 | 64.3658 |
Y
yuyang18 已提交
58

Y
yuyang18 已提交
59
- GPU Memory Used (`MB`)
Y
yuyang18 已提交
60

Y
yuyang18 已提交
61 62
| BatchSize | TensorRT | Anakin |
| --- | --- | --- |
C
chenjiaoAngel 已提交
63 64 65 66
| 1 | 1054.71  | 299.8 |
| 2 | 951.51  | 347.47 |
| 4 | 846.9  | 438.47 |
| 8 | 1042.31  | 515.15 |
Y
yuyang18 已提交
67

Y
yuyang18 已提交
68
### <span id = '3'> Resnet50 </span>
Y
yuyang18 已提交
69

Y
yuyang18 已提交
70
- Latency (`ms`) of different batch
Y
yuyang18 已提交
71

Y
yuyang18 已提交
72 73
| BatchSize | TensorRT | Anakin |
| --- | --- | --- |
C
chenjiaoAngel 已提交
74 75 76 77
| 1 | 4.10063  |  3.33845 |
| 2 |  6.10941 |  5.54814 |
| 4 | 9.90233  | 10.2763 |
| 8 | 17.3287  |   20.0783 |
Y
yuyang18 已提交
78 79 80

- GPU Memory Used (`MB`)

Y
yuyang18 已提交
81 82
| BatchSize | TensorRT | Anakin |
| --- | --- | --- |
C
chenjiaoAngel 已提交
83 84 85 86
| 1 | 1059.15 | 299.86 |
| 2 | 1077.8  | 340.78 |
| 4 | 903.04  | 395 |
| 8 | 832.53  | 508.86 |
Y
yuyang18 已提交
87

Y
yuyang18 已提交
88
### <span id = '4'> Resnet101 </span>
Y
yuyang18 已提交
89

Y
yuyang18 已提交
90
- Latency (`ms`) of different batch
Y
yuyang18 已提交
91

Y
yuyang18 已提交
92 93
| BatchSize | TensorRT | Anakin |
| --- | --- | --- |
C
chenjiaoAngel 已提交
94 95 96 97
| 1 | 7.29828 | 5.672 |
| 2 | 11.2037 | 9.42352 |
| 4 | 17.9306 | 18.0936 |
| 8 | 31.4804 | 35.7439 |
Y
yuyang18 已提交
98 99 100

- GPU Memory Used (`MB)`

Y
yuyang18 已提交
101 102
| BatchSize | TensorRT | Anakin |
| --- | --- | --- |
C
chenjiaoAngel 已提交
103 104 105 106
| 1 | 1161.94 | 429.22 |
| 2 | 1190.92 | 531.92 |
| 4 | 994.11  | 549.7 |
| 8 | 945.47  | 653.06 |
Y
yuyang18 已提交
107

Y
yuyang18 已提交
108
###  <span id = '5'> MobileNet V1 </span>
Y
yuyang18 已提交
109

Y
yuyang18 已提交
110
- Latency (`ms`) of different batch
Y
yuyang18 已提交
111

Y
yuyang18 已提交
112 113
| BatchSize | TensorRT | Anakin |
| --- | --- | --- |
C
chenjiaoAngel 已提交
114 115 116 117
| 1 | 1.52692  |  1.39282 |
| 2 |  1.98091  |  2.05788 |
| 4 | 3.2705  | 4.03476 |
| 8 |  5.15652 |  7.06651 |
Y
yuyang18 已提交
118 119 120

- GPU Memory Used (`MB`)

Y
yuyang18 已提交
121 122
| BatchSize | TensorRT | Anakin |
| --- | --- | --- |
C
chenjiaoAngel 已提交
123 124 125 126
| 1 | 1144.35   | 99.6 |
| 2 | 1160.03    | 199.75 |
| 4 | 1098  | 184.33 |
| 8 | 990.71  | 232.11 |
Y
yuyang18 已提交
127

Y
yuyang18 已提交
128
###  <span id = '6'> MobileNet V2</span>
Y
yuyang18 已提交
129

Y
yuyang18 已提交
130
- Latency (`ms`) of different batch
Y
yuyang18 已提交
131

Y
yuyang18 已提交
132 133
| BatchSize | TensorRT | Anakin |
| --- | --- | --- |
C
chenjiaoAngel 已提交
134 135 136 137
| 1 | 1.95961 | 1.78249 |
| 2 | 2.8709 | 3.01144 |
| 4 | 4.46131 | 5.43946 |
| 8 | 7.161 | 10.2081 |
Y
yuyang18 已提交
138 139 140

- GPU Memory Used (`MB`)

Y
yuyang18 已提交
141 142
| BatchSize | TensorRT | Anakin |
| --- | --- | --- |
C
chenjiaoAngel 已提交
143 144 145 146 147
| 1 | 1154.69 | 195.25 |
| 2 | 1187.25 | 227.6 |
| 4 | 1053 | 241.75 |
| 8 | 1062.48 | 352.18 |

Y
yuyang18 已提交
148

149
## How to run those Benchmark models
Y
yuyang18 已提交
150

151 152 153 154
1. 首先, 使用[External Converter](./convert_paddle_to_anakin.html)对caffe model 进行转换
2. 然后跳转至 *source_root/benchmark/CNN* 目录下,使用 'mkdir ./models'创建存放模型的目录,并将转换好的Anakin模型放在该目录下
3. 运行脚本 `sh run.sh`,运行结束后,该模型的运行时间将会显示到终端上
4. 如果你想获取每层OP的运行时间,你只用将 CMakeLists.txt 中的`ENABLE_OP_TIMER` 设置为 `YES` 即可