【发布时间】:2012-02-08 12:54:00
【问题描述】:
我有一些简单的测试代码,我正在尝试生成 AVX 优化代码,以便在 linux Redhat 5.6 上使用 icc v12.1。代码如下所示:
int main() {
double sum = 0.0;
for (unsigned int i = 0; i < 1024; i++) {
sum += static_cast<double>(i);
}
std::cout << "Sum: "<< sum << std::endl;
return 0;
}
我用它编译它(并且矢量报告说循环是矢量化的):
icc -xavx -vec-report1 main.cpp
当我运行代码时,我收到以下错误:
Fatal Error: This program was not built to run in your system.
Please verify that both the operating system and the processor support Intel(R) AVX.
我确定该处理器支持 AVX,但其他人是否对 Redhat 5.6 上的 AVX 有问题?
【问题讨论】:
-
Redhat 5.6 显然是在 2010 年发布的,所以我想它不能识别 Sandy Bridge/AVX 也就不足为奇了。