亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何用SSE4.2和AVX指令編譯TensorFlow?

如何用SSE4.2和AVX指令編譯TensorFlow?

如何用SSE4.2和AVX指令編譯TensorFlow?這是運行腳本以檢查TensorFlow是否工作的消息:I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcublas.so.8.0 locally I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcudnn.so.5 locally I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcufft.so.8.0 locally I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcuda.so.1 locally I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcurand.so.8.0 locally W tensorflow/core/platform/cpu_feature_guard.cc:95] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations. W tensorflow/core/platform/cpu_feature_guard.cc:95] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations. I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:910] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero我注意到它提到了SSE4.2和AVX,1)什么是SSE4.2和AVX?2)這些SSE4.2和AVX如何改進TensorFlow任務的CPU計算。3)如何利用這兩個庫進行TensorFlow編譯?
查看完整描述

3 回答

?
絕地無雙

TA貢獻1946條經驗 獲得超4個贊

讓我們先來解釋一下你為什么一開始就看到這些警告?.


很可能您還沒有從源代碼中安裝tf,而是使用了如下所示的pip install tensorflow..這意味著您安裝了預先構建(由其他人構建的)二進制文件,這些二進制文件沒有針對您的體系結構進行優化。這些警告正好告訴您:您的體系結構上有可用的東西,但是不會使用它,因為二進制文件不是用它編譯的。這是文獻資料.

TensorFlow在啟動時檢查它是否已使用CPU上可用的優化進行編譯。如果不包括優化,TensorFlow將發出警告,例如不包括AVX、AVX 2和FMA指令。

好消息是很可能你只是想用TF來學習/實驗,這樣一切都會正常工作,你就不用擔心了。


什么是SSE4.2和AVX?

維基百科對SSE4.2AVX..這種知識不一定要善于機器學習.你可以把它們看作是一組額外的東西指令計算機對單個指令使用多個數據點來執行可以自然并行化的操作(例如,添加兩個數組)。

SSE和AVX都是對SIMD(單指令、多個數據),這是

弗林分類學中的一類并行計算機。它描述了具有多個處理元素的計算機,這些處理元素同時對多個數據點執行相同的操作。因此,這類機器利用數據級的并行性,而不是并發性:有同時(并行)計算,但在給定時刻只有一個進程(指令)。

這足以回答你的下一個問題。


這些SSE4.2和AVX如何改進TF任務的CPU計算

它們允許更有效地計算各種向量(矩陣/張量)運算。你可以讀到更多這些幻燈片


如何使用這兩個庫使TensorFlow編譯?

您需要使用這些指令編譯的二進制文件。最簡單的方法就是自己編譯..正如Mike和Yaroslav建議的那樣,您可以使用以下Bazel命令

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


查看完整回答
反對 回復 2019-06-25
  • 3 回答
  • 0 關注
  • 2001 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號