Intel C++ Compiler 編譯出的程序在 AMD CPU 上性能會很差嗎?
01-05
不差,只是沒有在Intel自家晶元上那麼強。你要確定你比較的基準。
GCC是盡量迴避與微架構聯繫緊密的優化的,通用技術優先。
私家工具肯定在自家架構上有所優勢(否則養團隊幹什麼),但是不會其它架構有損傷,如果還不如GCC,太丟人了不會很差,至少不會比GCC編譯出來的差,但是會故意將某些Intel 高度優化的函數(如IPP庫,儘管在AMD下可用)給屏蔽掉,參見我2010年寫的一篇分析http://m.blog.csdn.net/article/details?id=4857059
很久以前icc的版本的cpu型號檢測在代碼最前面,改一下跳過就能在amd上面跑。最新版的不清楚,很久沒編pc程序了。
結果是不一定。一般來說,因為架構不同,肯定沒有同檔次intel cpu快。但是因為大量前端優化的存在,比gcc還快是沒懸念的。
其實是有可能的
比如amd有一些奇怪的處理器設計會用2-way associative的L1 cache。 某些情況下會導致cachemiss奇高,需要編譯器workaround還有一些tune for arch的選項會影響部分指令的排序。 這些都跟微架構強相關的個人淺薄理解,主要還是看cpu的指令集還有編譯器是不針對指令集進行優化的吧。
之前在NERSC的超算集群上跑某benchmark,最快的就是icc。cpu是amd的
推薦閱讀:
※8700k等新一代u請問?
※低電壓CPU在Turbo Boost之後與標準電壓同主頻的性能是否有明顯差異?
※若AMD發布ZEN+VEGA架構的APU,會不會使I N兩家合作?
※AMD 和 Intel 有哪一塊是神一樣的存在?
※如何從實用角度選購CPU?