2010-05-24 116 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

相關問題