作者:
MACROSS2K (MACROSS2K)
2023-04-08 22:32:27另外開一篇
在Docker/Container概念開始流行之前,多重環境同時執行的概念
從"模擬",也就是用軟體進行binary translation,這種只靠CPU進行軟體運算的
環境
到"虛擬",在原生硬體上建立多個"楚門的世界",並且都享有原生硬體效能
到"函式庫共用",同指令集架構的軟體,如果函式庫相同,則直接引用
不須要再建立那麼多楚門的世界
2013年開始的GPU虛擬化只是當時要興起的硬體虛擬化浪潮其中一環
而且還吃力不討好,因為要牽動從硬體層,韌體層到軟體層全部的設計
2020年的安培架構資料中心產品A100,多重執行實體Multiple Instance GPU
某種程度上解決了對於硬體依賴性的虛擬化方案
試想一下,如果今天GPU裝在一個還沒支援PCI IOMMU的平台上
那GPU硬體虛擬化便無用武之地,例如ARM
而MIG的作法提供了簡單的驅動程式層隔離,脫離對硬體虛擬化平台的依賴
MIG方案其實設計得很細,在不依賴硬體虛擬化的前提下,instance profile
把CUDA core數量,VRAM,硬體編解碼單元的劃分方式都考慮進去了
除了等分切割,還支援混和規模切割(例如切一個大一點的VRAM instance
然後把剩下的VRAM都用最小單位切割)
而且文中提到,這些instance可以各自執行不同變數類型的workload
FP32,BF16,FP64,TF32...
那vGPU呢?
這其實不太能跟MIG拿來比較,因為vGPU其實是作為虛擬桌面解決方案
的,他的設計是從遠端桌面環境體驗去設計的,而MIG僅能執行"運算"
更新說明虛擬化等級:
Host OS->最常見的使用情境,就是安裝一個例如Windows 10/11,RHEL,SLES
Guest OS->虛擬機當中運行的OS
Hypervisor->虛擬機管理軟體,用來溝通其下層的資源提供來源與虛擬機群
不論資源來源提供是原生硬體還是CPU進行軟體模擬
Level 0虛擬化 -> 虛擬機管理員hypervisor直接控制硬體,沒有預先安裝
Host OS,hypervisor自己就是host OS,例如VMware ESXi,Citrix XenServer
Level 1虛擬化 -> 一開始的Host OS還在,但退化成虛擬機的角色作為
管理介面,改由hypervisor核心來控制硬體,開機一樣會進原本的OS GUI
例如Hyper-V,SuSE Xen kernel,此時該虛擬機被定義為Parent
Level 2虛擬化 -> Host OS當中安裝hypervisor,對硬體沒有控制權,僅作為
一個應用程式來執行,例如VMware Workstation,Oracle Virtual Box
Parallels Desktop
原po的方案我想應該是level 0,雖然proxmox我沒有接觸過
vGPU的方案是在這環境下,hypervisor(此處為proxmox)透過驅動程式
控制GPU,並且利用驅動程式提供的功能建立vGPU
這個vGPU是一種"子項目","子分支",大概是這樣的概念
vGPU可以提供1/1到1/n(n視該卡型號提供的分割而定)GPU硬體的效能
並且占用PCI bus形成硬體通道,讓guest OS可以使用
上面提到的控制權是一個很重要的點
Host OS上了驅動程式,則Host OS核心可以透過驅動程式控制該硬體
其他OS核心無法控制,在虛擬化環境中則是
Hypervisor控制了GPU,因此guest OS無法直接控制GPU,頂多只能透過
軟體來"分"一些GPU效能
如果希望要guest OS群都能享受原生硬體存取,免去軟體轉譯的效能耗損
1. Passthrough
叫hypervisor不要用,不上驅動程式,並且設定為passthrough
成為等待指派的資源,接著guest OS來占用,帶著這張硬體開機
然後guest OS得到這張硬體,比照host OS方式安裝驅動,享受該卡全部
硬體效能,但也因此當要調度硬體時,必須要先關虛擬機,造成downtime
2. SR-IOV
GPU卡建立一些硬體通道,讓這些硬體通道分布在PCI bus上
guest OS可以占用這些硬體通道,雖然只能得到1/n的GPU效能
但在需要調度效能的時候,因為hypervisor控制硬體,所以不會受限
於任何guest OS獨佔,只要GPU還有剩餘可調度效能,隨時可以變換規劃
由於proxmox不是NVIDIA支援項目,所以我猜proxmox是設計成直接讀取
給其他hypervisor用的驅動程式,例如VMware ESXi
但因為可能有license鎖,所以可能要花時間去改動一些細節才能
讓proxmox利用
作者:
MACROSS2K (MACROSS2K)
2023-04-08 22:37:00不好意思,我很少回文,版面操作不是很熟悉,感謝指教
作者:
E6300 (漂流木村拓哉)
2023-04-08 22:44:00噓一樓 PTT現在文章數沒什麼用
作者:
Fezico (尬廣跟上)
2023-04-08 22:52:00這一兩篇單字我都看得懂,但組再一起沒有一個詞看得懂原PO真的專業戶,有空再邊google邊看到底是在說明什麼東西
作者:
AbeNana (安部菜々)
2023-04-08 22:57:00好不容易有專業文
作者:
MACROSS2K (MACROSS2K)
2023-04-08 22:57:00感謝,希望分享一些商用產品的測試經驗對各位有幫助
作者:
Arbin (路人_Lv菜逼八)
2023-04-08 23:00:00以前沒有官方支援vGPU,要搞GPU資源隔離或是切割的做法還滿邪門的
作者:
wei115 (ㄎㄎ)
2023-04-08 23:13:00感謝 漲知識了 我對vGPU其實也沒什麼研究 就單純覺得現代PC應該可以完全虛擬化 想玩玩看
作者:
oldmove (T_T)
2023-04-08 23:14:00一樓打的出來這些字嗎? 笑死
作者:
ceming (閃乱カグラ)
2023-04-08 23:21:00不然你來講
我打不出來 真是抱歉 但我覺得能編輯為啥不編輯文章又不是很舊或是相隔很多篇
作者:
MACROSS2K (MACROSS2K)
2023-04-08 23:24:00我剛試著編輯文章,發現並不是只編輯內文而是連留言都一併顯示,有點看不懂這樣是否會動到版面proxmox我沒有接觸過,也蠻好奇它提供到什麼程度
作者: justicebb 2023-04-08 23:33:00
專業文求洗好嗎
作者:
rx1304 (^_^)
2023-04-08 23:34:00沒事,討論就好別在意 沒啥大不了的
編輯文章的留言底下換行 不去動到留言的行不會有事的編輯期間新增的推文也不用擔心洗掉 但手機App要擔心
作者:
Fezico (尬廣跟上)
2023-04-08 23:39:00有阿,極客灣就搞過虛擬化GPU四開虛擬機器打CS。應該是?是極客灣還是某科技,我忘了。但概念大概雷同?
作者: pcfox (京極元狐) 2023-04-08 23:45:00
這種專業文多洗一點才好 不像某大濕整天廢文
作者:
wei115 (ㄎㄎ)
2023-04-08 23:47:00之前看GPU虛擬化技術上多難的的文章 結果nv好像已經克服了20系顯卡被人發現只要改id就能解鎖vGPU,只是不想下放消費級= =
作者:
Fezico (尬廣跟上)
2023-04-08 23:49:00能用跟足夠用我個人是覺得兩回事。能用應該好解決但是足夠用就是問題惹,經過層層轉譯堆疊被吃掉的不知多少
問個不專業的問題,一般消費級顯卡有辦法虛擬化嗎?有時候不想動到電腦的東西想在VM裡面測試一些東西
作者:
Fezico (尬廣跟上)
2023-04-08 23:57:00樓上可以參考一下我前面說的那個極客灣搞事影片,原理應該相似。
作者:
wei115 (ㄎㄎ)
2023-04-09 00:01:00顯卡虛擬化理論上需要有硬體支援 20系消費級顯卡很多只要改id就可以解鎖虛擬化能力(vgpu_unlock) 不過還有hyperV、GPU分區之類不用硬體支援的方法 還在研究中
作者:
not5566 (非5566)
2023-04-09 00:14:00還寧可這種文多洗幾篇 不然還要去看原文的耶
作者:
Simonfenix (Livingfailure)
2023-04-09 00:17:00推
作者:
not5566 (非5566)
2023-04-09 00:18:00虛擬化給推
受益良多,之前在研究計算卡都很少討論...或是能力不足找不到,只能看NV官方說明超怕找錯方向XD 所以以純AI計算來講MIG系列應該比較適合
作者:
masutaka (taka=米嘎)
2023-04-09 00:21:00專業文推
作者:
zseineo (Zany)
2023-04-09 00:32:00推
作者:
LordSo (Yesterday)
2023-04-09 00:36:00就內容來說開一篇不過份啦 只是這標題會很難找
標題難找不是問題 不然有誰還記得以解決的標題是什麼還是一樣每次都有人把#找出來XDDD
作者:
dos01 (朵斯01)
2023-04-09 00:47:00恩恩 跟我想得差不多
作者:
b325019 (望月)
2023-04-09 00:47:00你只要孤狗ptt 以解決就能看到那篇www
這邊顯卡虛擬化講得不賴阿~我做系統整合的都不熟~慚愧
作者:
MK47 (和牛第一)
2023-04-09 02:34:00推有料文
一樓是在噓啥,這麼有料的文章我還巴不得原PO多洗幾篇平常都只用到level2,連原理都不知道,專業文收藏
作者: gogowow 2023-04-09 05:44:00
這內容推文是要打多久 一樓是在兇幾點
作者:
JKGOOD 2023-04-09 06:26:00科普分享有什麼好噓?
作者:
waldo34 (可魯丁)
2023-04-09 06:53:00推
作者:
widec (☑30cm)
2023-04-09 07:15:00原來不是只有我看不懂 XDDDD 太專業了
作者:
DivineSX (H是不行的)
2023-04-09 07:20:00推專業
作者:
fanyuzeng (TaiwanBigalow)
2023-04-09 08:06:00好啦人家都道歉了別這麼凶啦XD
作者:
kaltu (ka)
2023-04-09 08:48:00windows subsystem又是另一個坑,tensorflow windows版不能用GPU但WSL的Linux on Windows版可以
tensorflow win可以用gpu啊 我四年多前就用過1060了推優文
作者:
proletariat (Die Ruinen von Athen)
2023-04-09 10:15:00PUSH
proxmox好像沒辦法切割一般遊戲顯卡如3080成vGPU 說是不支援虛擬化 要運算卡才可以
作者: microviewer (MicroV) 2023-04-09 10:44:00
push! 謝謝分享
作者:
kaltu (ka)
2023-04-09 10:48:00tensorflow只有舊版可以,四年前當然可以,新版就不行了
作者:
Oqfyian (多啦米老鼠)
2023-04-09 10:52:001樓這麼氣喔
tf現在新版也都還可以啊,windows環境下還是可以調用GPU阿...我覺得新版還比舊版(之前是1.14)方便一點點,雖然環境搞起來還是挺繁瑣就是了==
作者:
orzno (囧rz)
2023-04-09 11:18:00推專業
作者:
Litfal (Litfal)
2023-04-09 11:18:00現在虛擬化的效能很不錯,損失也不大,但問題是到client中間還是有一堆延遲和瓶頸
作者:
atpx (秋雨的心情)
2023-04-09 11:30:00推, 優質文
作者:
kaltu (ka)
2023-04-09 11:43:00我的舊版指是2.10以前,從2.11開始windows停止支援GPU
tensorflow官網文件提到用pip安裝Windows支援GPU
作者: lovebbqjim 2023-04-09 13:09:00
幫推,專業文可以多來幾篇
tf已經沒有windows原生gpu了 要wsl2才能支援
長知識推。 工作上有用到proxmox,但是只用到xeon內建GPU給VM用而已XD
作者: Ryzen1700 (KABAN) 2023-04-09 15:20:00
這種文再多我也不介意呀
作者: jjjj6 (lalala) 2023-04-09 15:32:00
推專業文
作者:
Amulet1 (AmuletHeart)
2023-04-09 16:45:00這是免費可以看的嗎
作者:
gugimi (gugimi)
2023-04-09 17:18:00推
作者:
fmp1234 (刁民H)
2023-04-09 19:18:00只懂到passthrough,SR-IOV還是很模糊。
作者: as222as222a (W9450Kk) 2023-04-09 19:40:00
推專業文
作者:
israelii (chris)
2023-04-09 20:02:00這是專業文吧,看了半天還是看不懂,感覺很專業!
作者:
TacoEater (ABBBB ABBAAA)
2023-04-09 20:48:00Proxmox是在qemu/kvm上套一層自己的介面,算level 1MXGPU其實有打出市場,Instinct MI系列一直混的不差,只是消費級看得到吃不到,開源支援幾乎是零最近還有一種玩法是GPU-over-IP,直接跳過硬體層
作者:
amows ( ™)
2023-04-09 22:03:00雖然不太了解 不過推專業
這篇超專業好嗎...有本事自己打一篇別只出張嘴...
作者:
dsin (dior)
2023-04-09 23:18:00推專業
作者:
dmeiki (熊麻吉)
2023-04-10 09:43:00推,感謝分享
作者:
froce (froce)
2023-04-10 11:47:00這種文還不夠格新開一篇,待會來看看一樓都寫些什麼神級論文發在PTT。科科TF可以在windows下用GPU啦,就算到WSL2下也是要把windows下該裝的CUDA裝好之前裝2.10還有,2.11我就不清楚了
作者:
ry3298 (null)
2023-04-10 18:39:00推
作者:
saedn (~自掛東南枝~)
2023-04-11 17:57:00可以敲碗就下集嗎??
作者:
g36maid (過膝襪學姐)
2023-04-14 09:16:00專業給推