5
5
充分展现英特尔平台的优势,有效提升PaddlePaddle在英特尔架构上的性能。
6
6
7
7
<div align =" center " >
8
- <img src =" image /overview.png" ><br />
8
+ <img src =" https://raw.githubusercontent.com/PaddlePaddle/Paddle/develop/doc/v2/images /overview.png" ><br />
9
9
Figure 1. PaddlePaddle on IA
10
10
</div >
11
11
@@ -42,16 +42,44 @@ Figure 1. PaddlePaddle on IA
42
42
43
43
MKL,MKLML以及MKL-DNN三者关系如下表:
44
44
45
- | Name | Open Source | License | Descriptions |
46
- | :---------- | :--------------- | :---------- | :------------ |
47
- | MKL | No | Proprietary | Accelerate math processing routines |
48
- | MKLML | No | Proprietary | Small package of MKL, especially for Machine Learning |
49
- | MKL-DNN | Yes | Apache 2.0 | Accelerate primitives processing routines especially for Deep Neural Networks |
45
+ <table >
46
+ <thead >
47
+ <tr >
48
+ <th >Name</th >
49
+ <th >Open Source</th >
50
+ <th >License</th >
51
+ <th >Descriptions</th >
52
+ </tr >
53
+ </thead >
54
+ <tbody >
55
+ <tr >
56
+ <td >MKL</td >
57
+ <td >No</td >
58
+ <td >Proprietary</td >
59
+ <td >Accelerate math processing routines</td >
60
+ </tr >
61
+
62
+ <tr >
63
+ <td >MKLML</td >
64
+ <td >No</td >
65
+ <td >Proprietary</td >
66
+ <td >Small package of MKL, especially for Machine Learning</td >
67
+ </tr >
68
+
69
+ <tr >
70
+ <td >MKL-DNN</td >
71
+ <td >Yes</td >
72
+ <td >Apache 2.0</td >
73
+ <td >Accelerate primitives processing routines especially for Deep Neural Networks</td >
74
+ </tr >
75
+
76
+ </tbody >
77
+ </table >
50
78
51
79
MKLML可以与MKL-DNN共同使用,以此达到最好的性能。
52
80
53
81
<div align =" center " >
54
- <img src =" image /engine.png" ><br />
82
+ <img src =" https://raw.githubusercontent.com/PaddlePaddle/Paddle/develop/doc/v2/images /engine.png" ><br />
55
83
Figure 2. PaddlePaddle with MKL Engines
56
84
</div >
57
85
@@ -103,7 +131,7 @@ MKL-DNN的库目前只有动态库`libmkldnn.so`。
103
131
所以我们定义了一个` MKLDNNMatrix ` 用于管理MKL-DNN数据的不同格式以及相互之间的转换。
104
132
105
133
<div align =" center " >
106
- <img src =" image /matrix.png" ><br />
134
+ <img src =" https://raw.githubusercontent.com/PaddlePaddle/Paddle/develop/doc/v2/images /matrix.png" ><br />
107
135
Figure 3. MKLDNNMatrix
108
136
</div >
109
137
@@ -113,7 +141,7 @@ Figure 3. MKLDNNMatrix
113
141
子类只需要使用定义好的接口,实现具体的函数功能即可。
114
142
115
143
<div align =" center " >
116
- <img src =" image /layers.png" ><br />
144
+ <img src =" https://raw.githubusercontent.com/PaddlePaddle/Paddle/develop/doc/v2/images /layers.png" ><br />
117
145
Figure 4. MKLDNNLayer
118
146
</div >
119
147
@@ -150,7 +178,7 @@ Figure 4. MKLDNNLayer
150
178
所以整体上,在实现每个子类的时候就不需要关心分支的事情了。
151
179
152
180
<div align =" center " >
153
- <img src =" image /gradients.png" ><br />
181
+ <img src =" https://raw.githubusercontent.com/PaddlePaddle/Paddle/develop/doc/v2/images /gradients.png" ><br />
154
182
Figure 5. Merge Gradients
155
183
</div >
156
184
0 commit comments