2010-05-24 121 views
4

保持直线前进,是Intel compilers值得吗?我主要做系统级和桌面工作,所以我想我可能会受益。任何有更多经验的人都可以看到一些光芒吗?英特尔编译器值得吗?

+0

[这里的任何人都有基准测试英特尔C++编译器和GCC的可能的重复?](http://stackoverflow.com/questions/1733627/anyone-here-has-benchmarked-intel-c-compiler-and-gcc) – 2010-05-24 19:23:59

+0

对于自动矢量化和Fortran,绝对是。 – Jeff 2015-04-24 05:24:52

回答

3

如果你使用的是Windows操作系统,与Intel处理器上的其他编译器相比,它们确实提供了很好的速度提升。有一种已知的行为,他们选择非Intel处理器(AMD,VIA)的非常慢的代码路径,以及围绕该问题的反托拉斯探针。

如果您使用线程构建模块或其他功能,那么您也有冒险将代码长期捆绑到英特尔编译器的风险,因为该功能在别处不存在。

Linux上的GCC 4.5与英特尔编译器差不多。该平台上没有明确的赢家。

+1

英特尔®TBB在GCC和MSVC(现代版本)方面效果相当好。 – 2011-02-05 17:07:49

0

从我看到的基准测试看,使用英特尔特定的编译器在开源替代方案中提供了一些性能/多线程优势。

1

在我用intel编译器(仅限C)的小经验中,我会说他们是非常优越的。特别是OpenMP库比开源版本要快得多。 “值得”取决于你的情况,虽然它们很贵,但它们更好。

+0

那么,我有资格获得学生定价,所以如果我在毕业之前拿到他们就不会太坏。 – samoz 2010-05-24 19:38:32

+0

如果你能负担得起,我会说它去。我可以通过一个教授拥有教学许可的课程来使用它,但课程结束后我无法再使用它,我非常难过。我从使用他们的工具获得了很多对英特尔软件的尊重,他们做出了很好的贡献。 – Tom 2010-05-24 22:40:46

0

如果浮点数精度对您很重要,那么使用Visual Studio编译器而不是intel编译器。 32位与64位应用程序可以给你与英特尔编译器计算结果不同。 (选中)。 32位与64位的Visual Studio编译结果将相同。

0

如果您正在比较ICL与MSVC++的数字行为,则必须考虑到/ fp:设置的不同行为。 ICL/fp:源(比缺省更不积极)等同于MSVC/fp:fast(比缺省更积极)。 Microsoft不执行由ICL默认启用的任何优化。这些包括simd减少(通常会提高准确性,但是由不可预知的余量)。 ICL默认违反了关于parens的标准。关于是否通过比/ fp:source更好的表现手段解决这个问题似乎仍然存在争议。

+0

在此之前的文章中,提到了Intel与gnu编译器性能的比较。 g ++ -fast-math -fno-cx-limited-range大致等同于ICL default/fp:fast。在Windows上,-ffast-math可能无法控制下溢模式,可能需要自己将其设置在程序中。 -ffast-math将fmin/fmax等减少为单个指令,但对于Intel C++,则需要std :: min/max。 – tim18 2016-06-11 20:23:57

+0

最近ICL添加了选项/ Qprotect-parens以观察括号后的K&R语言标准。海湾合作委员会将K&R处理圆括号的过程嵌入到 - 数学中。 – tim18 2016-06-11 20:27:55

相关问题