PTT推薦

Re: [閒聊]AMD顯卡可以跑CUDA程式,那就不必特地買N

看板PC_Shopping標題Re: [閒聊]AMD顯卡可以跑CUDA程式,那就不必特地買N作者
wuyiulin
(機掰客家人)
時間推噓23 推:24 噓:1 →:51

各位早安,
這裡是禮拜六早上的 R&D。

※ 引述 《amduser (重返榮耀)》 之銘言:
:  
: 之前新聞
: https://news.mydrivers.com/1/963/963717.htm
:  
: NVIDIA CUDA通過多年耕耘,鑄就了牢不可破的生態壁壘,外人各種嘗試都無法進入,包: 括AMD ROCm開發平台,但其實也不是沒有辦法。
: 開發者Andrzej Janik就憑借一己之力,借助Intel oneAPI,開發了CUDA兼容方案“ZLUDA: ”,能夠在Intel硬件上原生運行CUDA應用,后來就被停了
: 之后在AMD的支持下,ZLUDA重啟了該項目,能夠讓AMD顯卡原生運行CUDA應用,不需要任: 何轉移,也不需要調整代碼。
: 唯一要做的,就是用ZLUDA庫替代CUDA。
: 雖然它不能保證每一款CUDA應用都跑起來,但已經是以一個巨大的突破。
: 非常可惜,AMD支持這一項目做了兩年,也給停了——不知道是不是受到了NVIDIA的壓力: 。
: 幸運的是,ZLUDA項目并未徹底消散,已經免費開源,感興趣有能力的開發者都可以使用: ,而且確認可以在AMD ROCm平台上無縫運行CUDA應用。
: 比如說,可以將CUDA作為Blender 4.0或者V-Ray的渲染API,尤其是Blender本來就有
: Radeon HIP計算渲染器,如今跑在ZLUDA上速度還會更快。
: Andrzej Janik也在繼續研究ZLUDA,其中一個目標就是要讓AMD顯卡運行NVIDIA DLSS。: 內部測試表明,對比OpenCL方案,其性能大部分時候都更好,最多可以領先超過75%,但: 因為還在開發之中,部分時候效率反而更低。
:  
: 大家都知道NVIDIA最喜歡搞特規G-SYNC、DLSS、CUDA、閉源軟體一大堆不開放給其他家用: ,現在ZLUDA可以讓AMD顯卡跑CUDA程式,那以後就不必特地買N卡了,應該以後會有人拿: AMD顯卡來搞AI了吧!
:  
: https://github.com/vosen/ZLUDA
:  


ZLUDA 這東西我研究過一陣子,
當然不是現在這個 Fork,
而是三年前那個版本。

平台使用 Ubuntu 22.04 64bit


我研究後發現 ZLUDA 的運作原理是這樣:

ZLUDA 會去模擬一套 CUDA API,
然後內部再自己實現功能。

這代表什麼呢?

假設你有一套程式支援 CUDA 8 好了,
現在 CUDA 要更新變成 CUDA 9 囉!

N 家能在歷史版本裡面找到 舊版CUDA來套,
那你程式就能順利跑了。

如果你用 ZLUDA ,
之前的問題就是他只支援某特定版本 CUDA,
還沒有 Released 他是 depend 哪一版?

ZLUDA 是照某板的 API 下去寫的!


所以你想支援機器學習框架?
(e.g. TensorFlow, PyTorch)

那要先找到這個是用哪版 CUDA,
找到後還要確定這版的框架你裝得起來。

個人是認為這難度:

https://i.imgur.com/OBzSNCH.gif

圖 AMD顯卡可以跑CUDA程式,那就不必特地買N

除去框架,
實測能夠用 ZLUDA 跑起來的 CUDA 程式:
Geekbench 5

也嘗試過從底層像是 Numba 重寫演算法
拿去 Benchmark performance 。

一樣遇到 Numba 卡版本問題。


退一萬步說 ZLUDA 可能有用,
但是老黃一版更他就會死翹翹,
而且死很久。

開源的東西都這樣,蘇媽也不是做慈善的。

既然主流的框架(e.g. PyTorch)
都有支援 ROCm,幹嘛出大錢搞 ZLUDA?


結論:

ZLUDA 要真正可以商用,
就是要有人花錢去幫每一版 CUDA 寫 API,
然後拿出一張表對標版本支援才有用。

現在商用想逃離 NV 還是推 OpenCL 解決方案,
以上。


--
作者 villagermess (我是女生) 看板 Tech_Job 標題 [討論] 為什麼不開基本薪資 然後分紅給50萬 時間 Fri May 14 10:21:35 2021 ───────────────────────────────────────

supereva: 只能吸引你 不能吸引人才05/14 10:31
supereva: 所以沒人這樣開05/14 10:32

--

※ PTT留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.170.78.182 (臺灣)

※ 文章網址:
https://www.ptt.cc/PC_Shopping/E.KrABzwmXiefs

crimsonmoon9 03/02 09:07跟wine概念差不多?

※ 編輯: wuyiulin (1.170.78.182 臺灣), 03/02/2024 09:11:05

kira925 03/02 09:18應該就是 然後這部分除非CUDA的API公開

kira925 03/02 09:18不然很難跟得到

kira925 03/02 09:19你也不是有個Valve 盡量幫你通通接好

enonrick 03/02 09:36就好像買mac裝windows 一樣, 不用人家

enonrick 03/02 09:36的生態還要裝, 要泡cuda 買nv 就好 ,

enonrick 03/02 09:36 qemu 比較貼切

soulgem 03/02 09:37或是 Windows 內的 WSL 跟真 linux

oopFoo 03/02 09:48不只是版本問題,ZLUDA三年後還是Alpha版

oopFoo 03/02 09:49相容性很差,除了一些Benchmark,正常程式

oopFoo 03/02 09:51幾乎沒一個可用。最重要的Pytorch支援也完

oopFoo 03/02 09:52全不行。Intel跟AMD都相繼放棄不是沒原因

twinkleAshed 03/02 10:23對AMD on Windows來說,

twinkleAshed 03/02 10:23就像是效率比較好的DirectML.

afacebook 03/02 10:23借問Rocm目前支援度如何

afacebook 03/02 10:23推薦買嗎

afacebook 03/02 10:24pytorch

afacebook 03/02 10:26linux系統的話

oopFoo 03/02 10:34Pytorch支援ROCM,但要有能力debug,

oopFoo 03/02 10:35最好用docker,常常需要重新設定。最重要

oopFoo 03/02 10:37的事,選有支援GPU,現在要7900xtx/xt/gre

nicetw20xx 03/02 10:50

friedpig 03/02 11:11牙膏one API 有一部分是在做類似的事情

friedpig 03/02 11:11啊 不過人家是商業團隊一堆人在寫 都問

friedpig 03/02 11:11題不少了

avans 03/02 11:45推實測說明

Ceferino 03/02 11:557系列都能跑rocm啊至少我畫圖沒問題,

Ceferino 03/02 11:55誰說要7900的

qazws931 03/02 11:56你先看那是什麼ID

oppoR20 03/02 12:23https://bit.ly/49VCNGx

oppoR20 03/02 12:24人家在問linux跑pytorch rocm結果你在說

oppoR20 03/02 12:24畫圖 更好笑的是有人要洗別人粉絲意向單

oppoR20 03/02 12:24官方就真的寫只支援那三張(遊戲卡)

Ceferino 03/02 12:26沒有裝過的別裝懂好嗎

crimsonmoon9 03/02 12:30官方只有保證那三張可以穩跑 其他出

crimsonmoon9 03/02 12:30錯要自己debug

crimsonmoon9 03/02 12:31SD在linux上是用ROCm的torch框架

gameguy 03/02 13:02對公司這等級的就花錢了事買Nvidia工程繪

gameguy 03/02 13:02圖卡,在誰在跟你搞土炮在那搞來搞去的

labbat 03/02 13:12這種api串接有沒有專門的名詞啊,常常聽

labbat 03/02 13:12到執行編譯需要軟體A特定版本B配C平台

kivan00 03/02 13:22開發者本來在I家上班的 初始是I家的專案

kivan00 03/02 13:23後來弄一弄I家覺得沒搞頭 換AMD贊助這個

kivan00 03/02 13:23專案 但是AMD後來也覺得沒搞頭 所以依照

kivan00 03/02 13:24跟AMD的合約才開源

Rollnmeow 03/02 14:28畢竟我自家也有,為什麼要跑你的CUDA

Rollnmeow 03/02 14:29AMD還有hipify能轉換CUDA原始碼

HanadaIru 03/02 16:28給AI寫不就好了

as920909 03/02 17:14A卡乖乖玩遊戲就好了 別搞這些有的沒的

as920909 03/02 17:15比windows arm跑x86程式還沒意義

rail02000 03/02 17:45ROCm官網保證特定消費顯卡,但其他卡

rail02000 03/02 17:45其實也有機會跑。我這邊Linux+ROCm 6

rail02000 03/02 17:45+RX6600可以跑Pytorch。雖然我也是玩S

rail02000 03/02 17:45D畫圖。

rail02000 03/02 17:47身為非開發者的我,遇到的問題是要特

rail02000 03/02 17:47定的Pytorch版本才能跑(我沒在Docker

rail02000 03/02 17:47上跑)

oopFoo 03/02 18:55不支援的GPU其實大部分可跑,但問題會更多

oopFoo 03/02 18:56而且不能file bug report。換句話說,真有

oopFoo 03/02 18:57問題,AMD不會處理。現在ROCM的AI相容性

oopFoo 03/02 18:58越來越好,花點錢買有在支援名單上的划算

afacebook 03/02 19:13所以rocm其實可以嘗試的意思吧,nv的

afacebook 03/02 19:13卡又貴又難買,有事沒事還缺貨

afacebook 03/02 19:15我看7900xtx fp32比4080s還高

oopFoo 03/02 19:36可以嘗試,但4080s的ai會比較強,n家有

oopFoo 03/02 19:36tensor core。但7900xtx有24GB,大記憶體

oopFoo 03/02 19:37比效能要重要。

oopFoo 03/02 19:39但這建立在你能處理問題上。n家的ai是沒

oopFoo 03/02 19:40煩惱,支援完整。

d8511557 03/02 19:58AMD這點沒辦法.但時間可以解決就是

d8511557 03/02 19:59AI方面A卡支援度會越來越好就是.

d8511557 03/02 19:59不考慮生產力7900XTX就是比4080S強的

tcchu 03/02 20:06nvidia f u

aegis43210 03/02 21:21tensor core要L40s才完全解放性能

kira925 03/03 14:04畢竟大家都要Second Source

kira925 03/03 14:05牙膏看起來就是沒有方案 Altera 都拆分了