首页 文章

使用所需的优化标志重新构建Tensorflow

提问于
浏览
4

并提前感谢您的考虑,

我刚刚使用以下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

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

谢谢!

1 回答

  • 4

    通过遵循NVIDIA指令,您可以在SIMD指令优化可用之前将TensorFlow存储库重置为较早的提交(1.0r):

    git reset --hard 70de76e

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

    解决方案是遵循official TensorFlow documentation .

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

    请注意,在配置期间,由于上述原因,您不会提示您要使用哪个CPU指令,因此,您无法使用它们进行构建 .

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

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

相关问题