我有一些简单的测试代码,我正在尝试生成 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 有问题?