LinuxのRedHat 5.6でicc v12.1を使用するためのAVX最適化コードを生成しようとしている簡単なテストコードがあります。AVXに最適化されたコードがLinuxで実行されていないredhat 5.6
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を認識しないのはそれほど驚くことではないと思います。 –