PCDVD數位科技討論區

PCDVD數位科技討論區 (https://www.pcdvd.com.tw/index.php)
-   系統組件 (https://www.pcdvd.com.tw/forumdisplay.php?f=19)
-   -   AMD CEO稱Zen架構性能提升遠不止40% (https://www.pcdvd.com.tw/showthread.php?t=1097776)

3eye 2016-02-01 02:51 PM

這個處理器以AMD的個性 , 恐怕要明年才會讓大家買到

f3346 2016-02-01 03:46 PM

會不會推出後跑模擬器效果還是輸舊世代Intel :jolin:

cdx 2016-02-01 03:50 PM

慢慢來吧,今年只希望能買到便宜有HDMI2.0的A卡,希望升級4K電視:D
電腦可以明年再換

bureia 2016-02-01 03:56 PM

引用:
作者f3346
會不會推出後跑模擬器效果還是輸舊世代Intel :jolin:

這除了CPU效能外,跟軟體的最佳化也有關係
Intel、AMD都有免費的軟體開發手冊教你怎麼對某個CPU架構最佳化

像PCSX2記得官方是對Intel CPU跟nVidia顯示卡最佳化,所以在AMD的東西上跑,
呈現的效果差異會比CPU/顯示卡本身的效能差異還大

但AMD ZEN據說是學Intel的架構,所以在軟體最佳化上可能可以搭順風車 :flash:

Stone Crab 2016-02-01 04:00 PM

引用:
作者bureia
這除了CPU效能外,跟軟體的最佳化也有關係
Intel、AMD都有免費的軟體開發手冊教你怎麼對某個CPU架構最佳化

像PCSX2記得官方是對Intel CPU跟nVidia顯示卡最佳化,所以在AMD的東西上跑,
呈現的效果差異會比CPU/顯示卡本身的效能差異還大

但AMD ZEN據說是學Intel的架構,所以在軟體最佳化上可能可以搭順風車 :flash:


以前AMD告Intel的訴狀提到說Intel在compiler裡搞鬼會檢查CPU是不是Intel的,
非Intel CPU就會跑低速模式... :flash: :jolin: :ase

bureia 2016-02-01 04:08 PM

引用:
作者Stone Crab
以前AMD告Intel的訴狀提到說Intel在compiler裡搞鬼會檢查CPU是不是Intel的,
非Intel CPU就會跑低速模式... :flash: :jolin: :ase

記得有聽過這個,還聽過Intel有聲明他的Compiler不保證Compile出來的x64軟體相容AMD的CPU,
而且Intel的x64雖然大多是照抄AMD,但有留小細節故意不相容 :think:

總之Intel被質疑也可以說避免不相容,所以非Intel的CPU只能跑未最佳化的程式碼

然後軟體最佳化除了靠Compiler,程式設計師也可以手動最佳化,就是上面說的Intel、AMD
官方的開發手冊會寫的。但市面上軟體應該大多都優先最佳化Intel CPU,看AMD都把自家指令集砍光了...... :think:

野口隆史 2016-02-01 04:38 PM

引用:
作者Stone Crab
以前AMD告Intel的訴狀提到說Intel在compiler裡搞鬼會檢查CPU是不是Intel的,
非Intel CPU就會跑低速模式... :flash: :jolin: :ase

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,軟體是不能執行的

Stone Crab 2016-02-01 05:12 PM

引用:
作者野口隆史
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...
:rolleyes: :flash:
當然Intel的聲明說是不保證相容性... :ase
https://en.wikipedia.org/wiki/Intel...piler#Criticism
http://www.agner.org/optimize/blog/read.php?i=49

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


不過我不是程式人員也很久沒買AMD產品了,路過沒差... :flash: :ase

野口隆史 2016-02-01 06:04 PM

引用:
作者Stone Crab
似乎不是這樣餒...
根據INTEL跟FTC的和解條款,
INTEL必須承認編譯器會歧視非Intel CPU...
:rolleyes: :flash:
當然Intel的聲明說是不保證相容性... :ase
https://en.wikipedia.org/wiki/Intel...piler#Criticism
http://www.agner.org/optimize/blog/read.php?i=49

另外搜尋相關事件,發現這不是10年前的上古歷史,
到現在還有人覺得這是個問題... :shock:
App Claims to Blunt Intel's Compiler Edge on AMD Machines (https://www.techpowerup.com/217865/...d-machines.html)


不過我不是程式人員也很久沒買AMD產品了,路過沒差... :flash: :ase

這種就是很經典的程式設計師月經問題啊

INTEL有什麼理由要保證AMD產品的相容性?
AMD的CPU要怎麼開發,那是他們家的事情
INTEL可以保證那才是真正的有問題
不要告訴我他們都是x86架構
那你就去用gcc就好了
為什麼要用ICC?
因為gcc相比VC跟ICC預設的優化最少
但是相容性也最高
事實上gcc在會用的人手上
編譯出來的軟體性能也不會比ICC或VC差
重點是你了解那些優化開關嗎?

這是舊版本gcc手冊,也是我最常用的一版
https://gcc.gnu.org/onlinedocs/gcc-...ptimize-Options
https://gcc.gnu.org/onlinedocs/gcc-..._002d64-Options
很多會寫程式的,其實自己根本不知道程式應該怎麼優化
像現在寫java的,我問他們性能優化問題
他們都說那是jre的事情,其實這說法也沒有問題
但是當我問說要如何轉換到iOS還要確保性能的時候
大家就開始說不出話了
年輕一輩的設計師沒多少真正有幾個可以說出"我懂編譯器"這樣的話

例如我在gcc下編譯LAME做WAV to MP3
有下優化開關的,最多有200%以上的性能差距
如果你完全用x87去跑
性能差距可能還會超過500~1000%
視你下什麼開關而定
但不是人人都知道什麼情況要下什麼參數
MS VC跟ICC就是專門做這些事情
所以什麼都不改的情況下,ICC跟VC性能比gcc高

其實ICC有問題去INTEL Q/A發問
會有專人為你解答
我五六年前就去問過AMD的優化方式
ICC優化用在AMD上不是不行
有一些眉角在,我之前在INTEL Q/A問這個問題
INTEL RD還是很清楚的回答說可以
我告訴他我測試的結果是不行
過了幾天才告訴我說這是一個bug
然後有個暫時的workaround要我先用

回到問題..
一般情況下,如果沒有特別指定優化開關
程式如果檢測到環境條件不滿足
大部分時候是根本無法執行
或使用替代方案,這過程是自動的
替代方案通常性能不會比源方案好
因為替代方案要保證的是軟體在不同cpu架構下的相容性
而不是"性能"
這就是你貼的這幾個連結裡面的問題
但如果你會操作,你其實可以修改替代方案替代目標

這是pcx用ICC編譯的FIREFOX
https://sourceforge.net/projects/pc...st/Firefox/ICC/
可以自動檢測CPU類型,然後應用所能支援的最高優化指令集

其他例如VC的AVX跟AVX2
如果你沒有特別指定的情況
編譯的TARGET設定成AVX2
當在不支援AVX2上機器的時候
通常會有兩個結果
完全不能執行跟只有最慢的x87浮點運算
而大部分你會遇到的都是第一種完全無法執行
但特別指定優化開關,它可以在機器不支援AVX2時自動檢測
如果支援AVX就支援AVX,如果不支援AVX就改成SSE3
這個檢測的過程從不包含檢測到AMD,就把xx跟xxx禁用這種事情

Sioux 2016-02-27 07:29 PM

 
http://www.xfastest.com/thread-168952-1-1.html
 
 
 


所有的時間均為GMT +8。 現在的時間是10:09 AM.

vBulletin Version 3.0.1
powered_by_vbulletin 2025。