TL;DR:
- 导入Tensorflow 1.15时,Python虚拟机会崩溃(错误信息为
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 1
和VBoxManage setextradata "Ubuntu20" VBoxInternal/CPUM/IsaExts/AVX2 1
命令,并重启了客户机——但没有任何改变(客户机名称为Ubuntu20)。
有什么建议吗?
更多细节:
使用Cygwin在主机上运行cat /proc/cpuinfo
的输出结果——其中包含avx和avx2:
.....
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: