Intel 暗示著Xe將採用全新開放式互聯技術 - 3C

Table of Contents

※ 引述《comipa (綾崎若菜家御用)》之銘言:
: https://www.servethehome.com/new-intel-cxl-details-
: at-intel-interconnect-day-2019/
:
: 只講最簡單的部分, 因為細節我也不懂
:
: 再來就是CXL Protocol
: 跟PCIE很大的不同就是 CXL允許CPU跟CXL卡上的加速器(Accelerator)互相直接存取對方
: 的資源, 包括Memory, Cache, IO.
: 舉例來說目前的GPU運算 你可能要先從CPU塞資料給GPU,GPU再搬到自己的記憶體
: 接著叫GPU算 算完再走PCIE DMA傳回系統記憶體. 可是用CXL Protocol的話對CPU來說
: 就像是直接搬資料進GPU的記憶體, 或是反過來GPU可以直接從CPU的系統記憶體搬資料過
: 去過程簡化很多, 延遲應該也會降低.
:
: 這個跟AMD當年想做的HSA我覺得其實就是很像的東西,只是異質核心(Accelerator)改外接
: 重要的是CPU跟這些核心之間可以直接存取對方的資源. 而且理論上這也CXL spec是公開
: 的, AMD的GPU/CPU要支援也是允許的才對
CXL.memory 看起來是這樣的東西,因為我還沒有看SPEC,其實有SPEC也沒有什麼用,
多數的時候都是直接買IP來看RTL比較快

假設目前都有IOMMU的情況,先不考慮memory synchronization(內容一致性)問題

在PCI-E 協定下,device去access main memory要如何做?

將Main memory page全部mapping進IOMMU,device即可通過bus去
access這部分memory,當然中介實際上可能是IOMMU去訪問,把資料
丟回來

如果有NUMA協助,還不太用考慮cache的問題,或者幾個devices
在搶Memory controller的問題

反過來,如果CPU要訪問PCI-E bus上的device的內部memory是否可能?
完全可以,如果不考慮memory address的問題,完全可以把device的
internal memory全部映射出來

但是device必須有個而外的module去應付PCI-E host這邊的請求,
很有可能必須要打斷device內部的工作

device之間能不能互相訪問對方的memory?
完全不行,PCI-E協定沒有處理這樣的問題


如果考慮一致性的問題,那真是噩夢了
如何保證device在訪問同一塊memory的時候別的device沒有在ᄚ妘o邊?
就算不考慮software上的一致性,光是搶bus的控制權就打死人

: 推 kira925 : 有可能 共享快取/記憶體位址本身就很容易包 04/10 11:22
: → kuma660224 : 這只是個傳輸協定,大概沒啥大用 04/10 14:03
: → kuma660224 : 因為傳輸頻寬還是卡在PCIE 04/10 14:03
: → kuma660224 : 除非根本不做插卡式獨顯 04/10 14:04
: → kuma660224 : 搞超級APU或立體堆疊高頻寬串連共用記憶體 04/10 14:05
: → kuma660224 : 然後主流GPGPU軟體生態系是一次搬運完 04/10 14:06
: → kuma660224 : 之後全部在數百GB/s高速VRAM來回運作 04/10 14:06
: → kuma660224 : 全部算完再從PCIE丟回結果 04/10 14:07
: → kuma660224 : PCIE的線路無論用甚麼傳輸協定,頻寬都小 04/10 14:08
: → kuma660224 : 那只是減少第一筆資料取得的延遲程度 04/10 14:08
: → kuma660224 : GPGPU串流處理需要超大頻寬 04/10 14:09
: → kuma660224 : 與其CPU/GPU傳來傳去的效率提升 04/10 14:10
: → kuma660224 : 多數用途應該全資料先送進VRAM,比較快 04/10 14:10
我對GPU研究不多,只簡單講一下

很少有類似GPU這樣自己內部有大量memory,然後資料主要是依賴自己內部運算的

很多的設備都是仰賴外部輸入,將資料直接遞交給main memory,或者訪問
main memory自己內部都只有cache

OpenGL ES我是有一點點認知的,DirectX和vulkan我不熟悉,麻煩別人補充

繪圖資料從Main memory搬運到GPU的memory中去,GPU其實基本不用回寫
什麼東西到main memory當中去

你物件移動,是匯入新的shader去讓畫面上的物體移動,至於移動的結果
GPU是不會告訴你的,直接在內部memory運算好就行了

所以你不會知道物體是否穿模了,或者環境光設定的過分了,太亮這樣的問題
因為shader的結果你其實不會知道的

所以其實對GPU這樣的應用來講,這個新的協定完全沒有什麼作用
至少對使用OpenGL ES的程式毫無用處

這個協定真的可能對加速卡什麼做科學運算的比較有用,只有他們才需要
頻繁的和CPU做資料交互

--
你比較喜歡哪一個?
當年不是黨國大老但是被江浙財團捧紅的中國帥哥
跟同樣擁兵一方的諸侯約會裁軍結果半途諸侯們爽約,平常有在寫日記的莊嚴男人開始發飆
在旁邊讀著荒漠甘泉冷眼旁觀看著薔薇戰爭的人,為了中國的事情爭吵
別國調侃是不是中國總統,義正詞嚴的說著我是民族的燈塔的威嚴老先生

--

All Comments

Candice avatarCandice2019-04-13
kuma講的應用是gpgpu,就是你講的加速卡類型的應用
Frederic avatarFrederic2019-04-16
這東西本來就劍指GPGPU之類的阿 DT/NB根本不支援
所以原文其實沒有講GPU,而是用加速器來稱呼
Madame avatarMadame2019-04-17
這篇真專業 用的專業名詞跟機制都對 上面那主要還是
以x86為主的server 平台去針對客戶需求搭配 FPGA 或
計算卡 或將來GPU的DC應用 不要用PC 或大學實驗室
在玩的機器去做影射 差太遠 server用的RAM那麼大 IO
吞吐那麼頻繁 又有成本空間考量 又要大量串接或疊接
RAM不可能到處亂塞
Yuri avatarYuri2019-04-18
intel有3種情境 NIC、Accelerator、Memory Buffer
Yedda avatarYedda2019-04-19
另外 不用擔心跟其他家互聯打架的問題 因為i在DC這
塊 要全家餐 這幾年花接近千億 買公司 擴編新部門
就是不給其他家有混入機會 小到網卡(40/100G), 連
接器 ,RAM(Optane) 大到 FPGA NNP EyeQx 或將來計算
卡(Odyssey) 只是要跟這些連 同公司不同部門的產品
而那提那架構與將來實作是 挖A大神過了主導的
Charlie avatarCharlie2019-04-23
若做單一元件 拼價格 i根本不是其他公司的對手 只能
放掉 尤其是三星 為了這家公司 不知道解散多少部門
John avatarJohn2019-04-28
有卦有推
Harry avatarHarry2019-05-02
A大神是指?
Oliver avatarOliver2019-05-03
挖A大神過"來"主導? 還是某位姓A開頭的大師?
Susan avatarSusan2019-05-05
某公司過來架構師 今年應該會掛SVP 找他過來老闆是
老印 之前聽說是在搞GPU的 XD
Aaliyah avatarAaliyah2019-05-07
今年初 加州技術論壇 他們兩就有主講 也稍微提到一
些 能綁住技術狂熱者最好的方式 當然就是給他更大玩
具 讓他盡情玩囉
Jacky avatarJacky2019-05-10
其實GPGPU的所有教學都會告訴你
沒事不要回傳資料,盡可能GPU喊我自幹
Lily avatarLily2019-05-11
因為這樣才超快....數Tflops與數百GB/s起跳
Jake avatarJake2019-05-11
回傳是完全處理完大量運算後,再1次丟回去
Emily avatarEmily2019-05-16
如頻繁互傳,那PCIE無論什麼協定都會氣死你
Joe avatarJoe2019-05-18
遊戲shader繪圖是不用回傳,算完就輸出畫面
GPGPU可回傳,但盡量減少回傳次數與數量
Leila avatarLeila2019-05-22
其實核心概念一樣,GPU超快,不要打斷它
Zanna avatarZanna2019-05-26
換成FPGA原則也是一樣的,因為PCIE不夠快
Madame avatarMadame2019-05-28
最新FPGA也是數Tflops算力,還塞HBM2
Anonymous avatarAnonymous2019-05-29
單一應用不要回傳說得簡單,弄成系統層級應用
Isla avatarIsla2019-06-01
最好期待有ramdisk或之類的虛擬化虛擬記憶體能耐
Linda avatarLinda2019-06-03
不過我更正一下遊戲繪圖不是匯入新Shader
那些Shader大部份也事先放在VRAM了
Necoo avatarNecoo2019-06-06
軟體只是想辦法告訴GPU接下來用哪個Shader
他的輸入參數要改變成新的數值,然後狂跑
Michael avatarMichael2019-06-06
類似打內線告訴廚房,下一道用第幾號食譜
要不要加辣或調整什麼,食材食譜都在餐廳內
Gary avatarGary2019-06-09
Shader=食譜, 素材=食材,參數=料理調整
Hedy avatarHedy2019-06-13
幾乎什麼都先擺進VRAM,所以PCIE速度
X8或X16,傳輸量少,往往對效能影響極小