瀏覽單個文章
Stone Crab
*停權中*
 
Stone Crab的大頭照
 

加入日期: Mar 2015
您的住址: 熱火隊地盤
文章: 2,703
引用:
作者野口隆史
AMD沒講的是因為他們只有ICC初級班的程度
這些東西手冊裡都寫很清楚
但可惜的是,ICC必須玩到進階程度才有辦法做到
因為它只有一堆優化開關
手冊上不會寫這個指令AMD哪些CPU有支援
AMD的規格開發者自己要搞清楚
用了AMD沒有的東西
不支援很正常,能支援才奇怪
AMD很多指令集表面上是跟INTEL照抄
實際在實作上有些不太一樣
甚至有不少指令沒有包含

ICC才不會檢查CPU到底是INTEL還是非INTEL
不論自動或手動優化下
檢查的永遠都是暫存器類型,還有指令集類型等
5, 6年前是有一些設定上的BUG會導致設定失效
但這個BUG是無差別,在INTEL CPU也會出現
可是老早就修好了
我就可以自己用ICC BUILD出程式啟動時
自動檢測指令集應用最高支援指令集的程式
例如有CPU最高只有SSE2時禁用SSE3支援
一般正常情況下,最高使用SSE3編譯
如果沒有SSE3,軟體是不能執行的


似乎不是這樣餒...
根據INTEL跟FTC的和解條款,
INTEL必須承認編譯器會歧視非Intel CPU...

當然Intel的聲明說是不保證相容性...
https://en.wikipedia.org/wiki/Intel...piler#Criticism
http://www.agner.org/optimize/blog/read.php?i=49

另外搜尋相關事件,發現這不是10年前的上古歷史,
到現在還有人覺得這是個問題...
App Claims to Blunt Intel's Compiler Edge on AMD Machines


不過我不是程式人員也很久沒買AMD產品了,路過沒差...
舊 2016-02-01, 05:12 PM #18
回應時引用此文章
Stone Crab離線中