2017-04-09 180 views
4

,並在此先感謝您的考慮,重新構建Tensorflow使用以下<a href="http://www.nvidia.com/object/gpu-accelerated-applications-tensorflow-installation.html" rel="nofollow noreferrer">procedure</a>

我剛剛安裝tensorflow(在新機器上使用Ubuntu 16.04和CUDA 8.0已經安裝):

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

W¯¯tensorflow /核心/平臺/ cpu_feature_guard.cc:45] TensorFlow庫編譯時不使用SSE3指令,但這些都可以在機器上,並可以加快CPU的計算。 TensorFlow庫沒有被編譯爲使用SSE4.1指令,但是這些指令可以在你的機器上使用,並且可以加快CPU的計算速度。 TensorFlow庫沒有被編譯爲使用SSE4.2指令,但是這些指令可以在你的機器上使用,並且可以加快CPU的計算速度。

W tensorflow/core/platform/cpu_feature_guard.cc:45] TensorFlow庫沒有被編譯爲使用AVX指令,但是這些指令在您的機器上可用,並且可以加速CPU計算。 TensorFlow庫沒有被編譯爲使用AVX2指令,但是這些指令可在您的機器上使用,並且可以加速CPU的計算速度。

W tensorflow/core/platform/cpu_feature_guard.cc:45] TensorFlow庫未編譯爲使用FMA指令,但這些指令可在您的機器上使用並可加速CPU計算。

所以在試圖解決這個問題,我搜索的解決方案,並通過使用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 

開始使用的回答以下 How to compile Tensorflow with SSE4.2 and AVX instructions?

,但我仍然收到與上述相同的消息。我覺得好像我在做一個非常簡單的錯誤,有什麼想法?

謝謝!

+0

如果你配置和構建正確的相同的優化標誌,仍然看到這些警告,它可能是你的CPU架構不支持這些SIMD指令。使用 'gcc -march = native -Q --help = target'查看哪些可用 – Adriano

+0

感謝Adriano。如果我沒有弄錯,說明警告提及 (mavx,mavx2,mfma,msse,msse2,msse3,msse4,msse4.1,msse4.2)支持並啓用(https://pastebin.com/ U4S18aRQ)。 – Chaztikov

回答

4

通過遵循NVIDIA指示要重設TensorFlow庫到舊的承諾,已提供的SIMD指令優化前(1.0R):

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上打開一個問題:)

+0

愚蠢的我,再次感謝您的廣泛的洞察力阿德里亞諾! – Chaztikov

+0

@Chaztikov很高興幫助:) – Adriano

相關問題