Ubuntu

Oracle VirtualBox for Ubuntu 檢測一個 CPU 的 avx 和 avx2 而不是另一個

  • May 13, 2021

這幾天我一直在研究這個問題。簡而言之,Oracle VirtualBox 從 5.0.3 版本開始支持 avx & avx2。現在,它在 6.1.16 上,所以遙遙領先。

我在這個帶有 Intel Core i7 4790K 的桌面上的 VirtualBox Ubuntu 中安裝 TensorFlow 時遇到了很多問題。在對來賓中未啟用 avx/avx2 進行大量調查後,我將其歸結為。當我輸入more /proc/cpuinfo | grep flagsbash shell 時,我的 CPU 標誌證明了這一點。

我已經查看了可能的解決方案(123)並執行它們。它們Key: VBoxInternal/CPUM/IsaExts/AVX2 1按預期顯示。more /proc/cpuinfo | grep flags但是當我在 bash shell 中鍵入時它仍然沒有出現。

與之前的問題最重要的區別是它確實有效,並且 avx(2) 確實出現在我的帶有 i7-8565U 的新型筆記型電腦中,並且一切正常。我已經確保在我的 BIOS 上啟用了 Intel 虛擬化,切換到 KVM 半虛擬化等,並儘一切努力使它們相同。但是,它不適用於我的 4790K 電腦。

澄清一下,兩個 CPU 根據其規格支持 AVX。

我對張量流有同樣的問題。我發現在 Windows 功能下啟用 Hyper-V 是問題(主機系統是 Windows 10)。禁用它後,我還禁用了適用於 Linux 的 Windows 子系統,因為無論如何我都沒有使用它,並重新啟動了我的筆記型電腦並在 VirtualBox(6.1.22)上重新啟動了 Ubuntu 18 VM。在此之後,它會自動辨識 AVX2 功能。

引用自:https://unix.stackexchange.com/questions/628292