引用:
作者野口隆史
這種就是很經典的程式設計師月經問題啊
INTEL有什麼理由要保證AMD產品的相容性?
AMD的CPU要怎麼開發,那是他們家的事情
INTEL可以保證那才是真正的有問題
不要告訴我他們都是x86架構
那你就去用gcc就好了
為什麼要用ICC?
因為gcc相比VC跟ICC預設的優化最少
但是相容性也最高
事實上gcc在會用的人手上
編譯出來的軟體性能也不會比ICC或VC差
重點是你了解那些優化開關嗎?
...
其他例如VC的AVX跟AVX2
如果你沒有特別指定的情況
編譯的TARGET設定成AVX2
當在不支援AVX2上機器的時候
通常會有兩個結果
完全不能執行跟只有最慢的x87浮點運算
而大部分你會遇到的都是第一種完全無法執行
但特別指定優化開關,它可以在機器不支援AVX2時自動檢測
如果支援AVX就支援AVX,如果不支援AVX就改成SSE3
這個檢測的過程從不包含檢測到AMD,就把xx跟xxx禁用這種事情
|
cpu產品市佔率的高低決定了誰能訂立指令集的內容,
這也難怪amd總是被intel牽著鼻子走。
如果用2個 256bit fpu去湊一個 512bit fpu出來用,而且效能可以等價的話,
那為何要開發512bit fpu?
假設amd在新產品zen預定推出的時限上來不及,
哪就要賭一把未來幾年市場上的軟體用到單一指令超過256 bit的機率有多高了。
如果不高,那amd還可以偷到一點時間喘息,讓下一代cpu採用512bit fpu。
==========
256bit fpu 可以在一個clock執行多個指令,只要寬度湊起來在256bit以下,
不知道這個觀念對不對?
我記得以前計算機概論好像有提到這一點,但不確定是否只有pfu才能有這功能。
fpu 的寬度是不是對cpu的 ipc有很大的影響? 這一點我也很想知道。