【问题标题】:Re-build Tensorflow with desired optimization flags使用所需的优化标志重新构建 TensorFlow
【发布时间】:2017-09-04 19:12:34
【问题描述】:

提前感谢您的考虑,

我刚刚使用以下procedure 安装了 tensorflow(在已安装 Ubuntu 16.04 和 CUDA 8.0 的新机器上):

最初,我使用--copt=-march=native。 我收到了消息

W tensorflow/core/platform/cpu_feature_guard.cc:45] TensorFlow 库未编译为使用 SSE3 指令,但这些指令可在您的机器上使用,并且可以加快 CPU 计算速度。

W tensorflow/core/platform/cpu_feature_guard.cc:45] TensorFlow 库未编译为使用 SSE4.1 指令,但这些指令可在您的计算机上使用,并且可以加快 CPU 计算速度。

W tensorflow/core/platform/cpu_feature_guard.cc:45] TensorFlow 库未编译为使用 SSE4.2 指令,但这些指令可在您的计算机上使用,并且可以加快 CPU 计算速度。

W tensorflow/core/platform/cpu_feature_guard.cc:45] TensorFlow 库未编译为使用 AVX 指令,但这些指令可在您的机器上使用,并且可以加快 CPU 计算速度。

W tensorflow/core/platform/cpu_feature_guard.cc:45] TensorFlow 库未编译为使用 AVX2 指令,但这些指令可在您的机器上使用,并且可以加快 CPU 计算速度。

W tensorflow/core/platform/cpu_feature_guard.cc:45] TensorFlow 库未编译为使用 FMA 指令,但这些可在您的机器上使用,并且可以加快 CPU 计算速度。

所以为了解决这个问题,我搜索了解决方案并使用了以下问题的答案 How to compile Tensorflow with SSE4.2 and AVX instructions?

通过使用上述程序从 nVidia 开始,从

bazel build -c opt --copt=-mavx --copt=-mavx2 --copt=-mfma --copt=-mfpmath=both --copt=-msse4.2 --config=cuda -k //tensorflow/tools/pip_package:build_pip_package

但我仍然收到与上述相同的消息。我觉得好像我犯了一个非常简单的错误,有什么想法吗?

谢谢!

【问题讨论】:

  • 如果您使用相同的优化标志正确配置和构建并且仍然看到这些警告,则可能是您的 CPU 架构不支持这些 SIMD 指令。使用gcc -march=native -Q --help=target查看哪些可用
  • 谢谢阿德里亚诺。如果我没记错的话,警告所指的指令(mavx、mavx2、mfma、msse、msse2、msse3、msse4、msse4.1、msse4.2)是支持和启用的(pastebin.com/U4S18aRQ)。

标签: tensorflow


【解决方案1】:

按照 NVIDIA 说明,在 SIMD 说明优化可用 (1.0r) 之前,您将 TensorFlow 存储库重置为较旧的提交:

git reset --hard 70de76e

此提交可追溯到此功能尚未实现的先前版本,因此它实际上按预期工作。

解决方法是关注official TensorFlow documentation

对于未来的情况,始终建议在寻求第三方解决方案之前使用官方资源,因为它们可能更有帮助,官方资源更可靠且维护得更好。

请注意,在配置过程中,由于上述原因,系统不会提示您要使用哪些 CPU 指令构建 TF,因此,您无法使用它们进行构建。

Please specify optimization flags to use during compilation when bazel option "--config=opt" is specified [Default is -march=native]:

相应地遵循官方文档,它将起作用。如果您有任何后续问题,请随时提出,或者如果您遇到任何问题,请在 Github 上打开一个问题 :)

【讨论】:

  • 真傻,再次感谢阿德里亚诺的广泛见解!
  • @Chaztikov 很高兴为您提供帮助 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-06-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-02
  • 2017-02-11
相关资源
最近更新 更多