AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 699077
Accepted
719016
719016
Asked: 2015-11-18 01:35:16 +0800 CST2015-11-18 01:35:16 +0800 CST 2015-11-18 01:35:16 +0800 CST

如何在 VirtualBox 5 中的 Ubuntu 客户机上启用 AVX2 扩展?

  • 772

我正在尝试编译一个程序,该程序使用来自相当新的 Intel Haswell 处理器的 AVX2 指令。

我检查过我正在使用的 Macbook Pro 有一个 Crystalwell 处理器,它应该有这样的 AVX2 扩展:

sysctl -n machdep.cpu.brand_string  
Intel(R) Core(TM) i7-4870HQ CPU @ 2.50GHz

我的目的是使用 Ubuntu 15.10 64 位版本的 VirtualBox 映像编译此类程序,该映像具有最新版本的 gcc:

gcc (Ubuntu 5.2.1-22ubuntu2) 5.2.1 20151010

当我检查 VirtualBox 机器中的扩展时,我没有看到列出的 avx2:

processor   : 3
vendor_id   : GenuineIntel
cpu family  : 6
model       : 70
model name  : Intel(R) Core(TM) i7-4870HQ CPU @ 2.50GHz
stepping    : 1
cpu MHz     : 2494.226
cache size  : 6144 KB
physical id : 0
siblings    : 4
core id     : 3
cpu cores   : 4
apicid      : 3
initial apicid  : 3
fpu     : yes
fpu_exception   : yes
cpuid level : 13
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 pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx rdrand hypervisor lahf_lm abm
bugs        :
bogomips    : 4988.45
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

有任何想法吗?

virtualbox
  • 1 1 个回答
  • 12882 Views

1 个回答

  • Voted
  1. Best Answer
    LiveWireBT
    2016-02-01T05:44:03+08:002016-02-01T05:44:03+08:00

    我也在问自己同样的问题。我不久前通读了 VirtualBox 文档的主要部分,并记得 SSE4.1/SSE4.2 有很好的文档记录,但 AVX2 没有,尽管预计自VirtualBox 5.0 Beta 3以来它会暴露给来宾。

    以下是 14.04 主机上 /proc/cpuinfo 的标志:

    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 syscall nx 
           pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl 
           xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 
           monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 
           sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c 
           rdrand lahf_lm abm ida arat pln pts dtherm tpr_shadow vnmi 
           flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms 
           invpcid xsaveopt
    

    在 VirtualBox 5.0.14 托管的虚拟机上

    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 pni pclmulqdq 
           ssse3 cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx rdrand 
           hypervisor lahf_lm abm
    

    我搜索了 Internet 并下载了源代码,这使我找到了这张票据,其中frank(我假设是 Frank Mehnert)解释了如何禁用 AVX 并且这张票据在变更日志中注明是从 5.0.2 开始暂时禁用 AVX2 直通的原因。所以有理由禁用它,你应该小心。

    我跑了VBoxManage setextradata "$vm_name" VBoxInternal/CPUM/IsaExts/AVX2 1,启动了我的 VM 并启用了 AVX2:

    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 pni pclmulqdq 
           ssse3 cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx rdrand 
           hypervisor lahf_lm abm avx2
    

    要检查我在 VM 中运行了 x265:

    x265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX AVX2 LZCNT
    

    我环顾四周是否可以启用其他功能,grep -r -i "search_term" .在源代码中确实为搜索词pIsaExts、pExtFeatureLeaf、和提供了一些结果pFeatures,但是添加键要么没有效果,要么 VM 拒绝启动。说到这里,要查看您设置的所有额外键,请运行:pCurLeafpCpumCfg

    VBoxManage getextradata "$vm_name" enumerate
    

    并删除一个键只需运行与设置键相同的命令但没有值,例如:

    VBoxManage setextradata "$vm_name" VBoxInternal/CPUM/IsaExts/AVX2
    

    阅读和理解项目的源代码组织而不是仅仅浏览源代码会更好。

    • 8

相关问题

  • VirtualBox 中的屏幕分辨率更高?

  • 虚拟 Ubuntu 网络配置

  • vmware/virtualbox 3d 加速

  • 如何将主机 Ubuntu 上的 VPN (tun0) 网络适配器映射到 VirtualBox 来宾 Windows?

  • 如何在 Ubuntu 中运行 Windows XP

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve