我有一些简单的testing代码,我正试图在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; }
我编译它(和vector报告说,循环是vector化):
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上有问题吗?
AVX寄存器如何由通用调用约定来处理?
如何提高编译SSE和AVX的性能?
具有向后兼容性的gcc平台调优选项
运行任何英特尔®AVXfunction后,math函数需要更多的周期
在Linux上的AVX分段错误
如何禁用Linux计算机上的avx指令?
在glibc中禁用AVX优化的函数(LD_HWCAP_MASK,/etc/ld.so.nohwcap)用于valgrind&gdblogging
AVX内的VirtualBox虚拟机?
是否有可能在AVX / SSE中获得多个正弦波?
红帽企业Linux 5.x系列使用2.6.18的基本Linux内核版本。 最重要的是,Red Hat在后期内核版本中反向选择补丁和新功能,因为它在发行版系列的生命周期中看起来合适。 所以,当内核基于2.6.18的时候,你可能会看到一些额外的功能,这些功能只会在以后的主线内核版本中出现。
因此,Linux内核在版本2.6.30( 参考 )之前不支持AVX,所以看起来这不是Red Hat移植到5.x系列的功能之一。 根据波特兰集团(一个编译器制造商)论坛上的这篇文章 ,直到版本6.2(CentOS基本上等同于RHEL)才出现完全支持。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。