Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Crayon鑫
Paddle
提交
333e26d3
P
Paddle
项目概览
Crayon鑫
/
Paddle
与 Fork 源项目一致
Fork自
PaddlePaddle / Paddle
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
Paddle
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
333e26d3
编写于
5月 09, 2018
作者:
W
weixing02
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix image and table display error
上级
f096a2fc
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
38 addition
and
10 deletion
+38
-10
doc/v2/design/mkl/mkldnn.md
doc/v2/design/mkl/mkldnn.md
+38
-10
未找到文件。
doc/v2/design/mkl/mkldnn.md
浏览文件 @
333e26d3
...
...
@@ -5,7 +5,7 @@
充分展现英特尔平台的优势,有效提升PaddlePaddle在英特尔架构上的性能。
<div
align=
"center"
>
<img
src=
"
image
/overview.png"
><br/>
<img
src=
"
https://raw.githubusercontent.com/PaddlePaddle/Paddle/develop/doc/v2/images
/overview.png"
><br/>
Figure 1. PaddlePaddle on IA
</div>
...
...
@@ -42,16 +42,44 @@ Figure 1. PaddlePaddle on IA
MKL,MKLML以及MKL-DNN三者关系如下表:
| Name | Open Source | License | Descriptions |
| :---------- | :--------------- | :---------- | :------------ |
| MKL | No | Proprietary | Accelerate math processing routines |
| MKLML | No | Proprietary | Small package of MKL, especially for Machine Learning |
| MKL-DNN | Yes | Apache 2.0 | Accelerate primitives processing routines especially for Deep Neural Networks |
<table>
<thead>
<tr>
<th>
Name
</th>
<th>
Open Source
</th>
<th>
License
</th>
<th>
Descriptions
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
MKL
</td>
<td>
No
</td>
<td>
Proprietary
</td>
<td>
Accelerate math processing routines
</td>
</tr>
<tr>
<td>
MKLML
</td>
<td>
No
</td>
<td>
Proprietary
</td>
<td>
Small package of MKL, especially for Machine Learning
</td>
</tr>
<tr>
<td>
MKL-DNN
</td>
<td>
Yes
</td>
<td>
Apache 2.0
</td>
<td>
Accelerate primitives processing routines especially for Deep Neural Networks
</td>
</tr>
</tbody>
</table>
MKLML可以与MKL-DNN共同使用,以此达到最好的性能。
<div
align=
"center"
>
<img
src=
"
image
/engine.png"
><br/>
<img
src=
"
https://raw.githubusercontent.com/PaddlePaddle/Paddle/develop/doc/v2/images
/engine.png"
><br/>
Figure 2. PaddlePaddle with MKL Engines
</div>
...
...
@@ -103,7 +131,7 @@ MKL-DNN的库目前只有动态库`libmkldnn.so`。
所以我们定义了一个
`MKLDNNMatrix`
用于管理MKL-DNN数据的不同格式以及相互之间的转换。
<div
align=
"center"
>
<img
src=
"
image
/matrix.png"
><br/>
<img
src=
"
https://raw.githubusercontent.com/PaddlePaddle/Paddle/develop/doc/v2/images
/matrix.png"
><br/>
Figure 3. MKLDNNMatrix
</div>
...
...
@@ -113,7 +141,7 @@ Figure 3. MKLDNNMatrix
子类只需要使用定义好的接口,实现具体的函数功能即可。
<div
align=
"center"
>
<img
src=
"
image
/layers.png"
><br/>
<img
src=
"
https://raw.githubusercontent.com/PaddlePaddle/Paddle/develop/doc/v2/images
/layers.png"
><br/>
Figure 4. MKLDNNLayer
</div>
...
...
@@ -150,7 +178,7 @@ Figure 4. MKLDNNLayer
所以整体上,在实现每个子类的时候就不需要关心分支的事情了。
<div
align=
"center"
>
<img
src=
"
image
/gradients.png"
><br/>
<img
src=
"
https://raw.githubusercontent.com/PaddlePaddle/Paddle/develop/doc/v2/images
/gradients.png"
><br/>
Figure 5. Merge Gradients
</div>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录