使用AVX和AVX2,tensorflow-gpu的速度相比没有使用AVX和AVX2的情况下快多少?

14
使用AVX和AVX2指令集,与不使用AVX和AVX2相比,tensorflow-gpu的速度有多快?
我尝试在Google上寻找答案,但没有成功。在Windows上重新编译tensorflow-gpu很困难。因此,我想知道是否值得这样做。
1个回答

12

如果你的计算是在CPU上进行的一个巨大矩阵乘法,那么在Xeon V3上你将获得三倍的速度提升(参见此处的基准测试)。但是也有可能看不到加速效果,这可能是因为在CPU上执行的高算术强度操作没有足够的时间。

下面是“高性能模型”指南中针对在CPU上训练resnet50的不同优化方式所列出的表格。看起来,使用最佳设置可以获得2.5倍的速度提升。

| Optimization | Data Format | Images/Sec   | Intra threads | Inter Threads |
:              :             : (step time)  :               :               :
| ------------ | ----------- | ------------ | ------------- | ------------- |
| AVX2         | NHWC        | 6.8 (147ms)  | 4             | 0             |
| MKL          | NCHW        | 6.6 (151ms)  | 4             | 1             |
| MKL          | NHWC        | 5.95 (168ms) | 4             | 1             |
| AVX          | NHWC        | 4.7 (211ms)  | 4             | 0             |
| SSE3         | NHWC        | 2.7 (370ms)  | 4             | 0             |

如果您能为Windows编译出优化版本,建议在这个问题(https://github.com/yaroslavvb/tensorflow-community-wheels/issues/13)中提到,因为似乎有一些对这样的构建有需求。


你能否描述一下在出现错误之前你所采取的步骤?我卡在了以下这个问题上:https://stackoverflow.com/a/46140317/865475 - Dmitry
抱歉,我没有Windows背景。顺便说一下,我添加了一个包含实际网络时间的表格。 - Yaroslav Bulatov
cmake无法工作,同时出现错误:C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(171,5): error MSB6006: "cmd.exe" exited with code 1. [C:\tensorflow\tensorflow\contrib\cmake\build\cub.vcxproj](来自上一个成功的夜间构建的修订版) - Dmitry
Windows 10也会占用GPU内存,所以必须消灭。我要安装Ubuntu。 - Dmitry
1
我检查了支持AVX和AVX2的tensorflow以及不支持它们的版本。性能差异为0%(零百分比)。顺便说一句,我的CPU从未达到100%的负载。所有工作都在GPU上完成。 - Dmitry
显示剩余5条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接