PCDVD數位科技討論區

PCDVD數位科技討論區 (https://www.pcdvd.com.tw/index.php)
-   七嘴八舌異言堂 (https://www.pcdvd.com.tw/forumdisplay.php?f=12)
-   -   AMD 3900X香爆!! (https://www.pcdvd.com.tw/showthread.php?t=1162314)

Hermit Crab 2019-05-30 07:48 AM

引用:
作者sparc10
從CPU架構的角度看,用為什麼AMD相對Intel的CPU表現高分低能?
https://www.zhihu.com/question/3034...nswer/543505194


以前(約10年前)AMD有指控過是編譯器compiler優化的問題,現在情況不知道.

bureia 2019-05-30 08:44 AM

引用:
作者Hermit Crab
以前(約10年前)AMD有指控過是編譯器compiler優化的問題,現在情況不知道.

之前在站上有談過,狀況是當時intel compiler會偵測非intel的CPU然後只能跑最保守的代碼。

其實照規矩應該用CPUID確認功能有沒有支援就可以,不該偵測品牌
記得後來intel compiler把偵測品牌的步驟拿掉了

那篇作者是在討論兩家CPU架構設計上的不同,他的論點我的解讀是
intel有專門強化AVX的運算效能,然後AMD的AVX其實是2個SSE拼出來的,
所以AMD的AVX效能比intel差很多

然後兩家在SSE跟基本x86指令的效能差不多,但是AMD給的資源比較多(較多核心、HT等)
所以跑分跑起來AMD得分較高

但是軟體有對AVX最佳化的話,intel的效能會高出AMD一截
如果只用SSE跟基本x86指令的話AMD會吃香一點,不過他也說這種軟體對多核心支援
通常不佳,那AMD的多核跟HT也佔不到多大便宜

Hermit Crab 2019-05-30 08:50 AM

鐵錘社也覺得3900X真香!

Best CPU: AMD Ryzen 9 3900 X

拿破崙波拿巴 2019-05-30 07:18 PM

引用:
作者bureia
之前在站上有談過,狀況是當時intel compiler會偵測非intel的CPU然後只能跑最保守的代碼。

其實照規矩應該用CPUID確認功能有沒有支援就可以,不該偵測品牌
記得後來intel compiler把偵測品牌的步驟拿掉了

那篇作者是在討論兩家CPU架構設計上的不同,他的論點我的解讀是
intel有專門強化AVX的運算效能,然後AMD的AVX其實是2個SSE拼出來的,
所以AMD的AVX效能比intel差很多

然後兩家在SSE跟基本x86指令的效能差不多,但是AMD給的資源比較多(較多核心、HT等)
所以跑分跑起來AMD得分較高

但是軟體有對AVX最佳化的話,intel的效能會高出AMD一截
如果只用SSE跟基本x86指令的話AMD會吃香一點,不過他也說這種軟體對多核心支援
通常不佳,那AMD的多核跟HT也佔不到多大便宜


我覺得那個人是白ㄘ :think:

這個東西我剛看爛而已,所以我很清楚 會這樣講的 代表說的人 根本看不懂 opcode 也不知道指令集到底是什麼東西 :laugh: :laugh:

你說的 軟體有對AVX最佳化 光這個就打槍打到死 :D :D

編譯的時候 指令已經編在軟體裡面了 還有 軟體有對AVX最佳化 這種說法? 代表根本就是不懂裝懂 :laugh: :laugh:

「AMD的AVX其實是2個SSE拼出來的」?
那 AMD 的 CPU 也跟我寫的東西一樣 用模擬出來的嗎 :laugh: :laugh:

為什麼會說 AVX 比 SSE 指令集效能更好,那我跟你說 不一定 :think:

AVX 有包含 VEX 編碼的 SSE 指令 說 AVX 效能比 SSE 好,是指 SSE 指令只有2到3個操作數
AVX VEX 版本 編碼的 SSE 指令可以有 3-4個操作數,

我舉個例就好了
https://www.felixcloutier.com/x86/palignr

SSSE3 的指令 PALIGNR

SSSE3 版本:
PALIGNR xmm1, xmm2, imm8
modrm.reg / modrm.r/m imm8 共計三個操作數

opcode 佔用 6 byte
66 0F 3A 0F C2 01


AVX (VEX) 編碼版本:
(V)PALIGNR xmm1, xmm2, xmm3, imm8

modrm.reg / vex.v / modrm.r/m imm8 共計四個操作數

opcode 佔用 5或6 byte
C4 XX XX 0F XX 01

C5 XX 0F XX 01

說好壞是只同一個指令 AVX 版本 比 SSE 版本 佔用比較少的 Byte。
另外 AVX 還有 VEX.256 的版本 可以一次處理 32 byte 的資料 一次搞定
SSE 版本最多只有 128-bit 只能處理 16-byte 好就好在這裡而已

:laugh: :laugh:

bureia 2019-05-30 07:27 PM

引用:
作者拿破崙波拿巴
這個東西我剛看爛而已,所以我很清楚 會這樣講的 代表說的人 根本看不懂 opcode 也不知道指令集到底是什麼東西 :laugh: :laugh:

你說的 軟體有對AVX最佳化 光這個就打槍打到死 :D :D

編譯的時候 指令已經編在軟體裡面了 還有 軟體有對AVX最佳化 這種說法? 代表根本就是不懂裝懂 :laugh: :laugh:

「AMD的AVX其實是2個SSE拼出來的」?
那 AMD 的 CPU 也跟我寫的東西一樣 用模擬出來的嗎 :laugh: :laugh:

為什麼會說 AVX 比 SSE 指令集效能更好,那我跟你說 不一定 :think:

AVX 有包含 VEX 編碼的 SSE 指令 說 AVX 效能比 SSE 好,是指 SSE 指令只有2到3個操作數
AVX VEX 版本 編碼的 SSE 指令可以有 3-4個操作數,

我懷疑你真的了解MMX、SSE、AVX是拿來幹嘛的嗎......

拿破崙波拿巴 2019-05-30 07:42 PM

引用:
作者bureia
我懷疑你真的了解MMX、SSE、AVX是拿來幹嘛的嗎......


大多數的指令是用來運算浮點的 :laugh: :laugh:

我就跟你說我真的看爛了 也把 AVX 指令集全部模擬出來了 我會比你更不了解? :think:

https://www.pcdvd.com.tw/showthread.php?t=1162289


指令集是給 CPU 讀取 做運算的
有支援 CPU 就看得懂
不支援 CPU 就看不懂 直接 UD 代碼異常 :D :D

指令集 在你編譯程式後 就邊在 binary 代碼段裡面了 還有什麼軟體對 AVX 最佳化的說法 根本就是在鬼扯 :laugh: :laugh:

teraflare 2019-05-30 07:55 PM

遊戲黨只要不是 4K//HDR//特效等等

2020前好遊戲還是可以玩得不錯

(ivy bridge 3770 +GTX 970)

雖然很想 PS5是怎麼樣

因為喜歡可以MOD的PC GAME

明年可能會組一台吧

michaelweng 2019-05-30 07:56 PM

引用:
作者risc_bar
用那個很合理阿,沒需求為什麼需要升級
我還在用Athlon X4 640
沒錯,10年前發新聞稿的CPU
還是用的好好的,為什麼要升級


我辦公桌上還在用AM2-7750
只有每年休年假時換硬碟避免臨時壞掉

顯示卡壞過3次,
前2次保固內從9600GT/512M升級9800GT1G升級GTS450/1G
第3次壞掉換了R7750/1G到現在

其他部分它不壞我也就不換了....

bureia 2019-05-30 07:57 PM

引用:
作者拿破崙波拿巴
大多數的指令是用來運算浮點的 :laugh: :laugh:

我就跟你說我真的看爛了 也把 AVX 指令集全部模擬出來了 我會比你更不了解? :think:

https://www.pcdvd.com.tw/showthread.php?t=1162289


指令集是給 CPU 讀取 做運算的
有支援 CPU 就看得懂
不支援 CPU 就看不懂 直接 UD 代碼異常 :D :D

指令集 在你編譯程式後 就邊在 binary 代碼段裡面了 還有什麼軟體對 AVX 最佳化的說法 根本就是在鬼扯 :laugh: :laugh:

MMX是算浮點數的......你不要搞笑好嗎

先簡短解釋看看你舉的PALIGNR指令是拿來做什麼的吧

野口隆史 2019-05-30 08:00 PM

引用:
作者bureia
之前在站上有談過,狀況是當時intel compiler會偵測非intel的CPU然後只能跑最保守的代碼。

其實照規矩應該用CPUID確認功能有沒有支援就可以,不該偵測品牌
記得後來intel compiler把偵測品牌的步驟拿掉了

那篇作者是在討論兩家CPU架構設計上的不同,他的論點我的解讀是
intel有專門強化AVX的運算效能,然後AMD的AVX其實是2個SSE拼出來的,
所以AMD的AVX效能比intel差很多

然後兩家在SSE跟基本x86指令的效能差不多,但是AMD給的資源比較多(較多核心、HT等)
所以跑分跑起來AMD得分較高

但是軟體有對AVX最佳化的話,intel的效能會高出AMD一截
如果只用SSE跟基本x86指令的話AMD會吃香一點,不過他也說這種軟體對多核心支援
通常不佳,那AMD的多核跟HT也佔不到多大便宜

我不曉得 ICC 最後有沒有拿掉這個所謂的偵測 CPU 品牌
但事實是你最高參數,優化開關全開
編譯出來的程式,在 AMD 平台上是跑都不能跑的
INTEL 工程師本來就只需要關心自己家的 CPU 規格
他們沒有義務去理解還有一併支援 AMD 的 CPU
使用 ICC 是要付費購買的,而且還不便宜
ICC 從來沒有宣傳可以用優化 AMD CPU

我不知道 INTEL 有沒有去限制偵測 CPU 廠牌
但如過你熟 AMD 規格還有 ICC 參數設定
只使用 AMD 真正有確定支援的參數跟開關
那 ICC 編譯出來的程式,一樣可以在 AMD 平台上正常的跑
老實說會覺得這是個問題的人,就算 INTEL 不偵測 CPU 廠牌
最重要的核心問題還是存在,並沒有降低任何上手的門檻


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

vBulletin Version 3.0.1
powered_by_vbulletin 2026。