Linux Redhat 5.6でicc v12.1を使用するためにAVXに最適化されたコードを生成しようとしているいくつかの簡単なテストコードがあります。コードは次のようになります。
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 に問題がある人はいますか?