我有带有AMD处理器的Windows 8.1专业版.我安装了Android SDK和Eclipse.它的工作原理但问题是当我创建AVD并启动它时会显示以下错误:
模拟器:错误:x86仿真目前需要硬件加速!
请确保正确安装和使用Intel HAXM.
CPU加速状态:未安装HAX内核模块!
我已经安装了Intel Hardware_Accelerated_Execution_Manager,我已经从启动菜单启用了虚拟调制,但它仍然无法正常工作.
我一直在绞尽脑汁想要完成这项任务一周,我希望有人能带领我走向正确的道路.让我从教师的指示开始:
您的作业与我们的第一个实验作业相反,即优化素数计划.你在这个任务中的目的是使程序失望,即让它运行得更慢.这两个都是CPU密集型程序.他们需要几秒钟才能在我们的实验室电脑上运行.您可能无法更改算法.
要取消优化程序,请使用您对英特尔i7管道如何运行的了解.想象一下重新排序指令路径以引入WAR,RAW和其他危险的方法.想一想最小化缓存有效性的方法.恶魔无能.
该作业选择了Whetstone或Monte-Carlo程序.缓存有效性评论大多只适用于Whetstone,但我选择了Monte-Carlo模拟程序:
// Un-modified baseline for pessimization, as given in the assignment
#include <algorithm> // Needed for the "max" function
#include <cmath>
#include <iostream>
// A simple implementation of the Box-Muller algorithm, used to generate
// gaussian random numbers - necessary for the Monte Carlo method below
// Note that C++11 actually provides std::normal_distribution<> in
// the <random> library, which can be used instead of this function
double gaussian_box_muller() {
double x = 0.0;
double y = 0.0; …
Run Code Online (Sandbox Code Playgroud) 最近谷歌和英特尔发布了一种运行模拟器的新方法,它应该比以前的版本(模拟ARM CPU)好得多.以下是一些关于它的链接:这个和这个.
但是,在安装新组件并按照说明创建新的模拟器配置后,我收到错误,我也看不到任何改进.我已经尝试过API 10和API 15,并启用了GPU并禁用了它们.这些配置都没有帮助.我也在两台不同的计算机上试过它并且没有得到任何提升(并且得到了相同的错误).
似乎在我读过的帖子上,没有人对它有任何问题,所有人都报告了更快的模拟器.
它显示的错误是:
emulator: Failed to open the HAX device!
HAX is not working and emulator runs in emulation mode
emulator: Open HAX device failed
Run Code Online (Sandbox Code Playgroud)
它为什么会发生,有没有办法解决它?有没有其他人得到这些错误,反之亦然?
顺便说一句,我有一个英特尔CPU,如果这可能是一个问题.
编辑:
这是我在BIOS中看到的,所以它应该可用......:
我试图在Android Studio中运行Hello World应用程序.我收到以下错误:
仿真器:错误:x86仿真目前需要硬件加速!
请确保正确安装和使用Intel HAXM.
CPU加速状态:未安装HAX内核模块!
你能告诉我我能用错误做些什么吗?
我正在尝试使用适用于Windows的英特尔HAX x86仿真器(8,如果这很重要).我安装了所有内容并为Android版本创建了一个AVD,一切看起来都正确,但是当我运行它时,我得到了这个输出:
Starting emulator for AVD 'x86_QVGA_Level10'
emulator: device fd:1044
HAX is working and emulator runs in fast virt mode
emulator: Failed to sync vcpu reg
emulator: Failed to sync HAX vcpu context
Run Code Online (Sandbox Code Playgroud)
并且模拟器不会运行.(Failed to sync vcpu reg)
除了HAX本身的源代码之外,任何地方都没有提到此错误的重要部分,但我无法弄清楚如何理解这一点.
任何人都可以建议如何通过这个错误?我真的需要让它工作,因为在设备和默认模拟器上进行调试非常缓慢.
该gcc -S
选项将以AT&T语法生成汇编代码,有没有办法用Intel语法生成文件?或者有没有办法在两者之间进行转换?
我的HAXM安装有问题.这就是事情.我每次尝试为计算机安装HAXM时都会收到此错误:
问题是,我的电脑支持虚拟化技术(见下图).知道如何解决这个问题吗?
对于英特尔架构,是否有一种方法可以指示GCC编译器生成的代码总是强制分支预测在我的代码中采用特定方式?英特尔硬件是否支持此功能?那么其他编译器或硬件呢?
我会在C++代码中使用它,我知道我希望快速运行的情况,并且不关心当另一个分支需要被采取时,即使它最近采用了该分支.
for (;;) {
if (normal) { // How to tell compiler to always branch predict true value?
doSomethingNormal();
} else {
exceptionalCase();
}
}
Run Code Online (Sandbox Code Playgroud)
作为Evdzhan Mustafa的后续问题,该提示是否可以在处理器第一次遇到指令时指定一个提示,所有后续的分支预测都能正常运行?
我安装了Android Studio,我没有遇到任何问题.但是,当我尝试运行模拟器时,它说没有安装Intel HAXM.
所以我找到了安装程序,运行它,即使它说我的笔记本电脑支持它,它也没有启用.我去了,启用了英特尔虚拟化技术(VT-x),但我仍然收到相同的消息.
我听说需要禁用Hyper-V,但是当我打开/关闭Windows功能时,我无法在该列表中找到它.
有人可以帮我弄这个吗?
从Pentium Pro(P6微体系结构)开始,英特尔重新设计了它的微处理器,并在旧的CISC指令下使用了内部RISC内核.由于Pentium Pro所有CISC指令都分为较小的部分(uops),然后由RISC内核执行.
一开始我很清楚英特尔决定隐藏新的内部架构并强迫程序员使用"CISC shell".由于这一决定,英特尔可以在不破坏兼容性的情况下完全重新设计微处理器架构,这是合理的.
但是我不明白一件事,为什么英特尔仍然保留了多年内隐藏的内部RISC指令集?为什么他们不让程序员使用RISC指令,比如使用旧的x86 CISC指令集?
如果英特尔长期保持向后兼容性(我们仍然在64位模式旁边有虚拟8086模式),为什么它们不允许我们编译程序以便它们绕过CISC指令并直接使用RISC核心?这将开启自然的方式来慢慢放弃x86指令集,现在已弃用(这是英特尔决定在内部使用RISC核心的主要原因,对吧?).
看看新的英特尔'酷睿i'系列,我看到,他们只扩展了CISC指令集,增加了AVX,SSE4等.