顯示廣告
隱藏 ✕
※ 本文轉寄自 ptt.cc 更新時間: 2024-03-03 18:30:08
看板 PC_Shopping
作者 wuyiulin (機掰客家人)
標題 Re: [閒聊]AMD顯卡可以跑CUDA程式,那就不必特地買N
時間 Sat Mar  2 09:05:22 2024



各位早安,
這裡是禮拜六早上的 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

除去框架,
實測能夠用 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: 所以沒人這樣開

--
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.170.78.182 (臺灣)
※ 作者: wuyiulin 2024-03-02 09:05:22
※ 文章代碼(AID): #1budjKbm (PC_Shopping)
※ 文章網址: https://www.ptt.cc/bbs/PC_Shopping/M.1709341524.A.970.html
crimsonmoon9: 跟wine概念差不多?1F 111.83.80.84 台灣 03/02 09:07
※ 編輯: wuyiulin (1.170.78.182 臺灣), 03/02/2024 09:11:05
kira925: 應該就是 然後這部分除非CUDA的API公開2F 42.72.91.105 台灣 03/02 09:18
kira925: 不然很難跟得到
kira925: 你也不是有個Valve 盡量幫你通通接好
enonrick: 就好像買mac裝windows 一樣, 不用人家5F 61.231.5.191 台灣 03/02 09:36
enonrick: 的生態還要裝, 要泡cuda 買nv 就好 ,
enonrick:  qemu 比較貼切
soulgem: 或是 Windows 內的 WSL 跟真 linux8F 140.112.30.188 台灣 03/02 09:37
oopFoo: 不只是版本問題,ZLUDA三年後還是Alpha版9F 219.70.128.119 台灣 03/02 09:48
oopFoo: 相容性很差,除了一些Benchmark,正常程式
oopFoo: 幾乎沒一個可用。最重要的Pytorch支援也完
oopFoo: 全不行。Intel跟AMD都相繼放棄不是沒原因
twinkleAshed: 對AMD on Windows來說,13F 223.136.64.62 台灣 03/02 10:23
twinkleAshed: 就像是效率比較好的DirectML.
afacebook: 借問Rocm目前支援度如何15F 180.217.245.102 台灣 03/02 10:23
afacebook: 推薦買嗎
afacebook: pytorch
afacebook: linux系統的話
oopFoo: Pytorch支援ROCM,但要有能力debug,19F 219.70.128.119 台灣 03/02 10:34
oopFoo: 最好用docker,常常需要重新設定。最重要
oopFoo: 的事,選有支援GPU,現在要7900xtx/xt/gre
nicetw20xx: 推22F 36.234.36.167 台灣 03/02 10:50
friedpig: 牙膏one API 有一部分是在做類似的事情23F 125.228.96.10 台灣 03/02 11:11
friedpig: 啊 不過人家是商業團隊一堆人在寫 都問
friedpig: 題不少了
avans: 推實測說明26F 111.71.102.21 台灣 03/02 11:45
Ceferino: 7系列都能跑rocm啊至少我畫圖沒問題,27F 123.193.242.14 台灣 03/02 11:55
Ceferino: 誰說要7900的
qazws931: 你先看那是什麼ID29F 61.230.198.196 台灣 03/02 11:56
oppoR20: https://bit.ly/49VCNGx30F 123.195.146.51 台灣 03/02 12:23
oppoR20: 人家在問linux跑pytorch rocm結果你在說
oppoR20: 畫圖 更好笑的是有人要洗別人粉絲意向單
oppoR20: 官方就真的寫只支援那三張(遊戲卡)
Ceferino: 沒有裝過的別裝懂好嗎34F 123.193.242.14 台灣 03/02 12:26
crimsonmoon9: 官方只有保證那三張可以穩跑 其他出35F 111.83.80.84 台灣 03/02 12:30
crimsonmoon9: 錯要自己debug
crimsonmoon9: SD在linux上是用ROCm的torch框架
gameguy: 對公司這等級的就花錢了事買Nvidia工程繪38F 180.217.15.184 台灣 03/02 13:02
gameguy: 圖卡,在誰在跟你搞土炮在那搞來搞去的
labbat: 這種api串接有沒有專門的名詞啊,常常聽40F 27.53.147.38 台灣 03/02 13:12
labbat: 到執行編譯需要軟體A特定版本B配C平台
kivan00: 開發者本來在I家上班的 初始是I家的專案42F 122.118.2.107 台灣 03/02 13:22
kivan00: 後來弄一弄I家覺得沒搞頭 換AMD贊助這個
kivan00: 專案 但是AMD後來也覺得沒搞頭 所以依照
kivan00: 跟AMD的合約才開源
Rollnmeow: 畢竟我自家也有,為什麼要跑你的CUDA46F 114.37.175.226 台灣 03/02 14:28
Rollnmeow: AMD還有hipify能轉換CUDA原始碼
HanadaIru: 給AI寫不就好了48F 101.12.48.73 台灣 03/02 16:28
as920909: A卡乖乖玩遊戲就好了 別搞這些有的沒的49F 36.225.166.242 台灣 03/02 17:14
as920909: 比windows arm跑x86程式還沒意義
rail02000: ROCm官網保證特定消費顯卡,但其他卡51F 111.83.241.150 台灣 03/02 17:45
rail02000: 其實也有機會跑。我這邊Linux+ROCm 6
rail02000: +RX6600可以跑Pytorch。雖然我也是玩S
rail02000: D畫圖。
rail02000: 身為非開發者的我,遇到的問題是要特
rail02000: 定的Pytorch版本才能跑(我沒在Docker
rail02000: 上跑)
oopFoo: 不支援的GPU其實大部分可跑,但問題會更多58F 219.70.128.119 台灣 03/02 18:55
oopFoo: 而且不能file bug report。換句話說,真有
oopFoo: 問題,AMD不會處理。現在ROCM的AI相容性
oopFoo: 越來越好,花點錢買有在支援名單上的划算
afacebook: 所以rocm其實可以嘗試的意思吧,nv的62F 1.171.164.132 台灣 03/02 19:13
afacebook: 卡又貴又難買,有事沒事還缺貨
afacebook: 我看7900xtx fp32比4080s還高
oopFoo: 可以嘗試,但4080s的ai會比較強,n家有65F 219.70.128.119 台灣 03/02 19:36
oopFoo: tensor core。但7900xtx有24GB,大記憶體
oopFoo: 比效能要重要。
oopFoo: 但這建立在你能處理問題上。n家的ai是沒
oopFoo: 煩惱,支援完整。
d8511557: AMD這點沒辦法.但時間可以解決就是70F 114.36.21.67 台灣 03/02 19:58
d8511557: AI方面A卡支援度會越來越好就是.
d8511557: 不考慮生產力7900XTX就是比4080S強的
tcchu: nvidia f u73F 1.200.150.242 台灣 03/02 20:06
aegis43210: tensor core要L40s才完全解放性能74F 175.182.111.21 台灣 03/02 21:21
kira925: 畢竟大家都要Second Source75F 220.135.86.145 台灣 03/03 14:04
kira925: 牙膏看起來就是沒有方案 Altera 都拆分了

--
※ 看板: PC_Shopping 文章推薦值: 0 目前人氣: 0 累積人氣: 147 
作者 wuyiulin 的最新發文:
點此顯示更多發文記錄
分享網址: 複製 已複製
guest
x)推文 r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇