微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 Ubuntu 20.04 64 位的 VirtualBox 6.1.16 中启用 AVX/AVX2? TL;DR:

如何解决如何在 Ubuntu 20.04 64 位的 VirtualBox 6.1.16 中启用 AVX/AVX2? TL;DR:

TL;DR:

  • 通过 Python 导入时,Tensorflow 1.15 在我的虚拟机上崩溃(错误消息为 Illegal instruction (core dumped)),这很可能是因为禁用了 AVX 和 AVX2。
  • 我的主机(Windows 10 64 位) AVX 和 AVX2(使用 Cygwin 验证,请参阅下面的更多详细信息)[cpu 是 Intel(R) Core(TM) i7-7700 cpu @ 3.60GHz ]
  • 在来宾机器上(使用 VirtualBox 6.1.16 的 Ubuntu 20.04 64 位,18.04 也会发生同样的情况),缺少 AVX 和 AVX2。
  • 根据现有线程的建议,我在主机上运行了 VBoxManage setexTradata "Ubuntu20" VBoxInternal/cpuM/ISAExts/AVX 1VBoxManage setexTradata "Ubuntu20" VBoxInternal/cpuM/ISAExts/AVX2 1 并重新启动了来宾机器 - 没有任何变化(来宾机器的名称是 Ubuntu20)。

有什么建议吗?

欲知更多详情:

使用 Cygwin 在主机上输出 cat /proc/cpuinfo - 它在 avx2 中有 avx:

.....
processor       : 7
vendor_id       : GenuineIntel
cpu family      : 6
model           : 158
model name      : Intel(R) Core(TM) i7-7700 cpu @ 3.60GHz
stepping        : 9
cpu MHz         : 3600.000
cache size      : 256 KB
fpu             : yes
fpu_exception   : yes
cpuid level     : 22
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts
 acpi mmx fxsr sse sse2 ss ht tm pbe pni dtes64 est tm2 ssse3 fma cx16 xtpr pdcm sse4_1 sse4_2 movbe 
popcnt aes xsave osxsave avx f16c rdrand hypervisor lahf_lm ida xsaveopt pln pts dtherm fsgsbase 
tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx rdseed adx smap clflushopt
TLB size        : 0 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical,48 bits virtual
power management:

来宾计算机上 cat /proc/cpuinfo输出 - 缺少 avx 和 avx2:

processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 158
model name  : Intel(R) Core(TM) i7-7700 cpu @ 3.60GHz
stepping    : 9
microcode   : 0xffffffff
cpu MHz     : 3599.996
cache size  : 8192 KB
physical id : 0
siblings    : 1
core id     : 0
cpu cores   : 1
apicid      : 0
initial apicid  : 0
fpu     : yes
fpu_exception   : yes
cpuid level : 22
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx 
fxsr sse sse2 ht syscall nx rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid 
tsc_kNown_freq pni ssse3 pcid sse4_1 sse4_2 hypervisor lahf_lm invpcid_single pti fsgsbase invpcid 
md_clear flush_l1d arch_capabilities
bugs        : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit
bogomips    : 7199.99
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical,48 bits virtual
power management:

解决方法

正如 @George-Zheng 所提到的,如果您看到海龟图标,则表示您启用了 Hyper-V。遵循 link he provided 上的建议可以解决此问题,您会注意到这一点,因为海龟现在变成了带有 V 的筹码。

总结说明:

  1. 以管理员身份在 Windows 主机中打开命令提示符。

    • 找到命令提示符图标并右键单击。选择以管理员身份运行。
  2. 禁用管理程序午餐

    bcdedit /set hypervisorlaunchtype off

  3. 禁用 Microsoft Hyper-V

    DISM /Online /Disable-Feature:Microsoft-Hyper-V

  4. 快速关机 shutdwn -s -t 2

  5. 等待几秒钟再打开。

如果问题仍然存在,请再坚持一两次。第二次为我工作。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。