Re: [閒聊] AVX指令集實際應用是甚麼功能?
※ 引述《superRKO (挖洗RKO)》之銘言:
: 小弟菜雞
: 最近看INTEL的AVX512被嘴爆了,I皇QQ
: 又看了某幾集極客灣他們介紹說烤機烤AVX,I家的U會變很燙,而A的反而不會
: 然後這幾年有聽到AVX有實際在遊戲上應用的就刺客教條-奧德賽
: 但還是想問一下這AVX指令集的實際應用到底是甚麼?
老實說這個AVX如果要認真解釋,
可能會又臭又長,
大概會99%的人會直接END。
所以我用老嫗能解的方式來稍稍亂講一下好了,
雖然還是又臭又長,但有誤請儘量鞭。
首先先回答你的問題,
AVX指令集的實際應用到底是什麼?
我想最接近問題的答案應該是:
「那些想要把CPU當GPU來用的應用」這樣
最貼近一般人會用到的軟體,
我在想應該就是PS2的模擬器PCSX2,
以及PS3的模擬器RPCS3了吧?
想當然你可能想會說,
CPU與GPU這兩種處理器,
一般在計算的資料類型上差別蠻大的。
那為什麼還要把CPU當GPU用呢?
好問題。
老實說還真的有一堆程式設計師對此感到疑惑。
但代誌不是憨人想得那麼簡單。
實際上還真的有廠商在14年前就這麼搞了,
而且產品大家都聽過。
那家先行者廠商叫SONY & Toshiba & 他愉悅的伙伴IBM,
主機的名字叫PlayStation 3。
那顆名留千史的CPU就叫Cell。
雖然上一代的PS 2裡的EE(CPU)也有類似的狀況,
但特化狀況沒像Cell這麼嚴重就是。
而且EE的特化技能樹是朝另外一邊長的這樣。
但不在這邊的討論範圍所先不提。
簡單地說就是PS3裡面那顆Cell CPU,
跟主流的x86及ARM架構相比,
在架構特性上,
跟GPGPU裡的CU單元反而比較相似,
這是由於Cell的設計,
是由一顆PPE的微處理器 + 8個SPE協同處理器結合而成。
(實際上為了良率問題只有7個SPE可用)
(但SONY又限制最後一個SPE為系統獨佔,所以實際上只能用6個)
每個SPE有128個128bit的entry register
(不知道這個entry register要怎麼翻?)
(跟x86的相比就是限制一大堆的暫存器)
SPE無法直接存取主記憶體,需透過PPE的DMA。
看到這邊,
PPE+SPE這種奇妙的組合是不是就有點像ROP與TMU的樣子呢?
所以如果遊戲開發公司如果要把PS3的性能完全發揮出來,
通常就必須進行手動調整不同SPE在執行緒上的調度,
並避免資料相依(ex:if... else)的狀況在不同SPE上頭發生。
簡單一句話:程式很很很很很難寫。
有寫過的人都會想罵髒話的程度。
當年為了cell的開發,MIT還有請IBM的人到學校開課這樣。
雖然IBM的確曾經有努力推這種架構。(?)
但大家都知道
惰性是人類進步的原動力。
對碼農來說能省則省,能懶則懶。
所以大部份遊戲對SPE的使用大多只用到3個及以下。
講了這麼多,
但Cell這個設計又與AVX有什麼關系呢?
關系可大了。
當x86架構為了要模擬PS3裡頭的Cell時,
為了要達到與SPE相同的暫存器效能,
就必須使用AVX來獲得效能的提升。
在這邊稍微離題聊一下x86 SIMD的暫存器寬度與數量:
MMX:8個64bit的暫存器(僅處理整數,而且與浮器暫存器共用)
SSE:8個128bit的通用暫存器(整數or浮點,但有小限制)
SSE2:強化後的8個128bit的通用暫存器(簡單說就是上面的限制解封)
SSE3:把SSE2的通用暫存器再強化,讓在同一暫存器內的兩個數字相加or相乘
(in x86-64)
AVX:16個256bit的通用暫存器,可用於SSE的實現與相容(128bit)
AVX2:16個256bit的通用暫存器,可用於SSE實現擴展為256bit
AVX-512:超級高大上的32個512bit的通用暫存器,並有多個變種版本
Cell SPE:128個128bit的不太通用的entry暫存器
看到這邊應該馬上就能想到。
x86為了跟上Cell PPE+SPE 這種奇妙又奇耙的架構,
由於AVX的暫存器在數量及寬度上的優勢,相較於老舊的SSE,
絕對會是比較好的設計。
所以若是CPU若能使用AVX2指令集的話,
在跑RPCS3的時候,通常會相較沒有AVX2的處理器至少多個3~5幀。
PCSX2的話就比較特別一點,
因為PCSX2對AVX2的實現,
僅在對GS(PS2的GPU)的模擬使用軟體模式時才會啟用。
也就是把CPU當GPU來用
在跑軟體模式時,
相較於沒有AVX2的處理器,也是能提高個3~5幀的效能。
總而言之。
因為模擬器這塊其實蠻常遇到把CPU當GPU用的狀況。
尤其是對那些家用主機的模擬。
所以AVX指令集在家機的模擬器上其實蠻常見的。
至於那個高大上的AVX-512的問題,
那就又是另外一回事了....
只能說我的看法跟Linus Torvalds差不多,
不太看好這個指令集就是。
--
你可以不要看好x86算了 沒有特殊指令集x86根本沒
優勢
我這次同意樓上 如果把有的沒的指令集都拔了 x86就
真的只是垃圾
另外AVX在數值計算上其實也用很多
真的同意一樓 XDXDXD
恩幹完全不懂圖形架構
慘
ARM指令集也是越改越肥 通用性越廣就會越肥 套在
windows上也是 套在x86上也是
所以蘋果準備要跳車啦XD
話說Linus後續有提到他覺得arm的sve2還行
奇葩(ㄆㄚ)
AMD那種糞狂烙架構就是腫瘤只會增生 每顆腫瘤塞
一堆特規電路最後總成本就會炸 intel爽多了 每個
產品線都精心製作彷彿丹麥骨瓷 AMD還是繼續當腫
瘤就好
就是來亂的沒錯 XD
然後C52繼續回去用一代threadripper
話說cell架構也未免太奇想天外了 這麼座的理由是?
八成是被IBM拐的吧
就出來跟x86競爭的啊 只看性能在當時的確很強
前幾天癡漢水球的文章有寫到當時水果會脫離PPC主要
是IBM根本沒有做過適用於筆電的PPC處理器
套回X86的話就是筆電板的P4和Pentium M的差別
所以IBM POWER在伺服器市場對上AMD和Intel在TDP上
也占不到便宜
推專業
IBM是太貴啦...伺服器+來說 mainframe多貴啊
一台大機貴1M 主要是處理的東西不太一樣 還有OS
但近來開始擁抱LINUX一定是好事啊
cell IBM自己都砍了~~主要是在軟體優化太複雜
我遇過設計CELL硬體 軟體 應用三種人
這三種人講的話都合不起來了 還能怎麼期待
問題是以28c xeon為例,avx512佔到的面積相當於兩
個核心的面積,30c跑avx2和28c跑avx512哪個會贏是
顯而易見的吧?
linus說avx512吃太多面積完全就是沒做過功課
avx512就設計角度來看 就是太浪費 讓設計成本上升
使用率不見得高 其實我一直不懂為什麼要這些指令
AVX vs GPU 比的是不是就看你應用對某些程序的延遲
啊?
我講的是CPU設計成本 那個真的蠻難做的 囧>
樓樓上板友 你指的是如果全速下 如果沒用到就浪費
了 所以他的意思是不如用來做別的
frequency scaling也是問題
我對AVX跟GPU的理解是,他們兩個幹的事情很像
只是因為CPU較AVX做事情溝通速度快,而要叫GPU做事
因為要通過比較長的路徑會有比較大的延遲
而如果你整個應用充滿超多有點大有不太大的向量,那
叫GPU做可能延遲會搞得整個運算很沒有效率
不過我想得到的應用也只有轉檔
其實不一定 跟單元數也有關 還有資料路徑
avx不一定有太多好處 理論上看起來是有
實際上是你資料還是要去塞車
拿個gem5去跑就看得到了(看起來很好就是了)
我是覺得avx512遠比兩個核心的效益更多
0.9mm2 真不小哦XD
就算avx512會降頻,能效比依舊比avx2高
我是沒有拿到這個數字 不過你分享了就太好了
你要看在cpu做用中 有多少機會會用到啊
這就是為什麼會跑 spec這種東西
這是優化問題而不是avx512沒有用的問題,其次也要
怪牙膏10nm瘋狂delay,10nm跑avx512至少不會搞出7
980xe那種破千瓦的功耗
不好優化 跟沒有用 或是用不到 有時是同義字
不過老黃也推出magnum io來解決延遲問題
0.9*28才25mm,兩顆核心顯然換不到avx512理想中的
效益
這就是cell失敗的原因之一
設計思路是沒有錯,用結果去推翻設計思路就是結果
論而已
他可以不要換核 可以換別的 分支預測的之類的
而且我認為他們正在這麼做 XDXDXDXD
像10nm delay對牙膏是意料之外的事情
結果論另一個方向的思考就是在設計階段沒有做全盤考
量 這點同cell上也被證明 規格理想化 工程師x!
我主要是反駁linus用核心替換avx512的說法,用來幹
其它事可以,但絕對不是加2顆核心那麼智障
之後還有直連儲存的GPUDirect storage
他....有他的看法嘛 可能他的應用就是多兩個核好
其實真沒有誰好誰壞 都要看場景應用@_@~
他賣的是general purpose CPU 說閒話的一定很多啊
以28c為例,xeon多兩顆核心理論上會多7%的性能,然
而實際應用上能多3%就偷笑了,我是覺得作為一個業
內資深人士就算要噴也不是用這種連大學生水準都不
如的方式去噴
就.... 這也不是他本行嘛orz
推長知識
發在這邊林大師看不到
誒 linus有說要用核心去換嗎?
還是他改名叫David 了?
拿通用去想cp值就錯拉 這擺明就是給少數大戶用的as
ic 人家就是付比你多錢 就是有需求 大家一起被逼著
攤成本 誰叫你小咖
大戶現在真的需要用這種ASIC嗎?
B大之前就有透漏過了 這東西使用單位來的需求 牙
膏王沒那麼無聊
有文章聯結嗎?
後面還有更極端的ai類的半精度指令集勒 這些也是很
多人用不到但是dc大戶有需求的 原文fb就是個例子
AI的16bit float 運算現在不是交給顯卡做嗎?
我感覺這爭論就是為什麼這類工作不交給GPU就好
把牙膏王認為是設計本文的公司出發點就錯了 人家fa
b為主 設計很大需求配合客戶 所以高機率不是牙膏想
推新玩意 是客戶有需求 設計單位就乖乖算個成本有辦
法做就幫忙做一下
資料交換又不是不用時間 不是所有case都是那麼極端
的要那麼大量算啊 cpu在少loading的 等你資料傳給cp
u都不知道處理好幾次了
gpu*
講gpu很強的先去考慮HSA到底實務上能戰了沒吧
另外一個點是牙膏王家大業大 又沒說做了avx就沒錢
玩HSA FPGA 為什麼講的好像做了ASIC其他東西都沒做
一樣 人家有錢就是任性 我全都要好不
牙膏王去年dc的營收是20B 講極端點就算只有一個10%
左右的大戶需要這個功能 這也是影響2B的生意了 差
不多1/3個AMD全營收 那一點點小面積CP值夠不夠在考
慮看看吧
太浪費核心面積
隨便一張入門級顯卡就屌打AVX-512的效能
AVX 不負責任猜測 就跟玩wintel是一個套路啊
對太浪費核心面積+太難優化 那個clock 哎額~
拜偷厚,才三到五楨還要大費周章,簡直太不符合人
類懶惰的天性了。
C52怎麼那麼懂!!!!交了女朋友就變和運租車了,推推
回二樓 AVX在數值上好用多了XD 但很多人都不知道
要怎麼使用 程式開發商也很多在打混XD
謝大大科普
要說HSA APU這種內建GPU的好像沒看怎麼在用...
這幾年看Intel HSA FPGA怎麼戰 市場愈戰愈小XD
都是記憶體的問題 ~~
要是無法從LLC轉資料進來保證連續性 那HSA
就是沒有搞頭
所以我明白Apple為什麼處心積慮要自己製作CPU了...
嗯啊 光被那個啟動坑死就不知道幾次了呢
阿婆直接說不要AVX了啊 XDXD
阿婆量不大不小的 說不要牙膏還是要想想
叫阿婆自己吐錢開光罩 阿婆那種死要錢的絕對裝死
最後就乖乖分手自己想幹嘛就幹嘛 不過到底最後會怎
樣還有得看下去
我是開發者也不想用,因為用了AVX也得再寫一份不用A
VX版本(不是每個USER電腦CPU都有,更況AVX版本一
堆,說不定連用AVX還得各寫一版)
對
所以這種髒活牙膏王也出了一堆人在做complier阿
而且真正的需求單位 那幾間巨獸鐵定是特別優化的
大家小咖就被強迫當分母 可憐娜
牙膏王看起來做了一堆CP值很低的事情 但是人家就是
錢多到不知道怎麼花 要做到90分很容易 但90->99就是
要做一堆這種CP值很低的事 但壟斷後帶來的效益又是
巨大
就阿逗逼~~~~啊
就是當年wintel模式
以小公司的心態去思考牙膏王在幹嘛就錯了 不像AMD壓
寶個HSA就差點把自己搞到去了 人家什麼都玩全部都
失敗還是有很多本錢玩下一輪
所以才是無敵中離王 反正什麼都可以玩 也什麼都可以
放棄 除了FAB以外 都是身外物
說到中離王 隔壁的I才是大神呢
FAB都能丟的中離王
HSA本身沒什麼問題 問題在那堆MBA
我覺得主要是討論都討論得太理想了 這些技術在理想
上或極端Case上都是好的 但是現實世界哪有這麼好
一堆界在中間的東西 沒錢當然是不浪費資源作過度
產品 但人家有錢就是任性
就是一個爭權奪利的歷史 這有點內幕的
總之 消費者用了就 看hp dell轉換就知道了
說真的 要不是會被告 牙膏王把ARM買下來做低功耗解
絕方案都可以了
設計本來就要配合客戶啊,不是只有牙膏這樣子
啊不是說AVX512是微軟要求的嗎XDD
我是覺得...Intel也沒有到錢多到不知道怎麼花啦
至少我在Intel工作的朋友覺得內部很多人事不安的
至於收購,你還得先問Softbank想不想賣哩
把10nm想得太美好 漏電有很好處理了嗎?
漏電這種事情用PPT就可以處理起來了,歹就卜
反正AMD就對了 INTEL阿斗化
10+漏電率沒處理好怎麼上4.8g?
馬的我居然看得懂,太神啦
CPU是強Sequential GPU強在parallel ML就是parallel
到極致才在GPU上算的 這已經是極端狀況了 AVX的價值
就是補CPU的浮點能力 在parallel不那麼高的任務之下
CPU肯定快得多
如果覺得GPU浮點那麼強 幹嘛不全都丟給GPU算 可以試
著建議Intel把FPU直接拔了
水果用的是水果自己開的特規無誤 IO有差
所以有一兩個大戶要開指令集也不會特別奇怪
很多人都覺得parallel萬能啊,對他們來說堆核能夠
解決一切問題
阿不就可悲A粉才這樣想 叫他們全部去舔推土機超高
時脈超多核他們又不要
A粉: core>>>>>>>AVX cpu不需要浮點 哈哈A粉哈
哈
可是I的產品也不是都有放,那沒放的I是要賣誰(?)
這邊AVX跟FPU要分開來討論啦
我是故意混在一起的 如果什麼浮點都能給GPU算 那FPU
存在的意義是什麼
其實主要的理由就像arrenwu大前面講的那樣 把資料送
去GPU再拿回來的overhead太高 除非問題的規模太大
才有把東西送去GPU的價值
且Sequential可以換parallel 反之不能 換句話說CPU
更加的靈活 此外除非本身就是設計來用作科學計算的
否則GPU主要的設計都是算單精度 而CPU AVX甚至能算
四倍精或八倍精
有四倍精的幫助下 CPU算出來的雙倍精可以有更少的ro
und off error
還是看老黃怎麼出絕招讓i皇和蘇媽跟他合作
AVX512不是FPU.
它其實沒有什麼4倍8倍精度這種事
他講的16wide x 32bit就是單精度
跟GPU一樣是拼大規模運算
所以larrabee當初是拿它來繪圖
不要把能浮點運算就當成FPU
SIMD它.
.
超寬SIMD單位都不是要拼精度的
現在AVX512甚至是刻意往超低精度走
跟GPU一樣,因為AI用途不需精度
講白了,這東西適合用途跟GPU超重疊
但你可以沒有AVX, 卻不能沒有GPU
所以商業發展在立足點就輸了
61
Re: [閒聊] PS5 架構理念討論簡單而言 分別就是XBOXSeX儘量丟給GPU/CPU跑, 然後靠MS的軟體工程幫忙 PS5則是可以不丟給GPU/CPU的都想辦法另外處理 單以SSD來說 Xbox的SSD是2.4GB/s(RAW), 4.8GB/s(壓縮), 6GB/s(峰值)37
[情報] Linux將停止AMD 3D Now!指令集支援Linux預計將在核心版本5.17中停止AMD的3D Now!指令集支援,也代表著這個活了23年的 指令集也即將退出舞台 3D Now!是AMD在1998年推出的SIMD指令集,用來強化x86的3D影像處理的效能,也是為了 抗衡Intel的MMX指令集,不過MMX只支援整數運算,浮點運算還是要靠x87協同處理器。而24
Re: [閒聊] [瑪奇] 遊戲程式升級成64位元有什麼好處?首先講益處之前要先認識一下 所謂的32/64/....位元程式 那個位元代表的是啥意思 大家都知道位元,是指一種電腦容量單位,英文為bit(s) 那這裡的容量,又是指啥呢? 記憶體/硬碟/程式? 都不是19
[討論] GPU加速Transistor層的模擬器不想走冤枉路.... 雖然有找過資料 但找到的資料似乎是一些大學教授和硬體大廠的研界成果發表 論文也有 感覺有很高的技術門檻 門檻高就算了 主要是怕結果實際上也沒如同想像中好 想問看看有沒有已經走過這條路了 不知道通不通或是值不值得 模擬器最傳統的做法是cpu指令層的模擬 這種模擬方式好實作15
[情報] AVX512指令集終於滿血11代Core8核穩 4.8G與AMD處理器相比,Intel在高性能計算上有個殺手鐧,那就是AVX-512指令集 它可以讓浮點性能提升數倍,之前主要用於XEON 現在10代Core行動版、11代Core行動、桌上型也開始支援 然而AVX-512指令集有個很尷尬的地方,那就是一旦使用了這個指令集 往往會因為功耗較高而導致CPU大幅降頻。13
[情報] 正式進軍 CPU + FPGA,AMD 新專利將挑戰正式進軍 CPU + FPGA,AMD 新專利將挑戰英特爾 作者 黃 敬哲 | 發布日期 2021 年 01 月 05 日 15:24 據外媒報導,美國專利商標局近日公布了一項 AMD 的新專利,顯示了未來 CPU 與 FPGA 的整合路線,也暗示 AMD 已準備衝擊英特爾的資料中心市佔。 雖然英特爾過去也一直在朝這方向努力,但談了快 6 年卻還沒有發表實際的產品,然而10
Re: [情報] Alder Lake沒有AVX512,於是Linus又開嘴惹Linux之父怒罵Intel AVX-512:「我希望它死得痛苦點...」 ............ Intel在Skylake -Server架構中首次引入了AVX-512特性,但它並沒有像之前引入AVX和3
[閒聊] 6502和Z80哪個比較好?如題 6502和Z80 都是8bit時代的經典 6502是Motorola 6800的pin to pin Z80是山寨intel 8080 不少遊戲機都用過這兩顆CPU
20
[菜單] 25K 老電腦升級9800X3D19
[情報] 極客灣 Apple M4 Pro/Max評測18
[心得] 反推 COUGAR SPEEDER - 人體工學電競椅7
[情報] Sony WF-1000XM5耳機5878元/BE88U 9111元2
[心得] FUNTE電動升降桌選購建議7
[開箱] JONSBO喬思伯N3 NAS機殼5
Re: [心得] Windows 11 測試版4
[情報] Adobe 全家餐 個人/企業/教育版 特價中2
[菜單] 30K老電腦升級1
[菜單] 50k魔物機1
[菜單] 45K內2K遊戲機1
[請益] 開模擬器 跟LOL需要的方向1
[菜單] 45K遊戲機不含OS1
[菜單] 55K魔物機不含OS1
[情報] DeepCool 雙11 指定送AG6203
[菜單] 50K遊戲機 可高