※ 本文轉寄自 ptt.cc, 文章原始頁面
Re: [問題] 新手每次跑模型時都是CPU滿載
更多細節可以讀這篇,他整理得很不錯,內容幾乎都是正確的
https://www.cnblogs.com/marsggbo/p/11838823.html
※ 引述《fragmentwing (片翼碎夢)》之銘言:
: 題外話,之前cmd那邊查cuda是11.8 設定找到的應用程式是11.6 torch是+cu113
: 這樣子竟然還能跑到想更新pytorch版本時才發現
nvidia-smi 查到的是 CUDA driver 版本
一般我們裝的 CUDA 指的是 CUDA runtime library (e.g. libcudart.so)
CUDA driver 提供 low-level API,而 CUDA runtime library 提供 high-level API
而 nvcc 是 CUDA compiler,個人認為跟上面的不完全相關,
只有在安裝 CUDA toolkit 的時候會整包一起下載,
此時的 nvcc 跟 CUDA runtime library 才會相同
到底有多少工具跟 "CUDA" 有關係,可以參考以下連結的 Table 5
https://docs.nvidia.com/cuda/cuda-installation-guide-linux/#meta-packages
所以我不怎麼推薦用 nvcc 去檢查 CUDA 版本...它甚至通常不需要下載
只不過偶爾還是會有神人寫 CUDA program 需要自己去編譯
PyTorch 是把 CUDA runtime library, cuDNN, 還有 NCCL 直接包在 package 裡面
https://discuss.pytorch.org/t/install-pytorch-with-cuda-12-1/174294/2
所以裝 PyTorch 才會不用先安裝 CUDA 那堆有的沒的
(反觀很久以前裝 TensorFlow 之前還要先裝 CUDA, cuDNN 版本號看半天...)
: --
: ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.77.107.182 (臺灣)
: ※ 文章網址: https://www.ptt.cc/bbs/DataScience/M.1712815245.A.08A.html
: 推 DaOppaiLoli: cmd 查的通常會是最高支援的版本 04/13 07:30
: → fragmentwing: 原來是這樣 我一直以為是我裝到哪個就是哪個 因為之 04/13 14:10
: → fragmentwing: 前看人家教學時都是要看cuda版本左邊的那個數字去找 04/13 14:10
: → fragmentwing: 相容性 原來根本可以跳過這步XD 04/13 14:10
: 推 DaOppaiLoli: 一個機器也可以多個 CUDA 共存,理論上 driver 支援 04/13 15:15
: → DaOppaiLoli: 的版本要大於實際安裝函式庫的版本,然後要大於應用 04/13 15:15
: → DaOppaiLoli: 程式的版本 04/13 15:15
: → DaOppaiLoli: 像你就是 driver 支援到 11.8,函式庫裝 11.6,然後 04/13 15:16
: → DaOppaiLoli: torch 是 11.3 04/13 15:16
: → DaOppaiLoli: 雖然還是建議都裝一樣的比較好 04/13 15:16
: → fragmentwing: 原來是剛好裝得有相容性 04/13 17:08
: → fragmentwing: 多個cuda共存是指同一張gpu嗎?這樣torch運行時會怎 04/13 17:08
: → fragmentwing: 麼選擇使用的cuda啊? 04/13 17:08
: 推 DaOppaiLoli: 在同一台機器,無論單張或多張卡,都可以有多個不同 04/15 09:01
: → DaOppaiLoli: 版本的 CUDA 函式庫共存,例如 Docker 或 Conda 就 04/15 09:01
: → DaOppaiLoli: 能做到這種多版本 CUDA 的管理,像這張圖裡 nvcc 告 04/15 09:01
: → DaOppaiLoli: 訴我們 CUDA 是 11.8 版,但 nvidia-smi 顯示的是 1 04/15 09:01
: → DaOppaiLoli: 2.2 版 04/15 09:01
nvidia-smi 跟 nvcc 看到的是不同的東西
不過確實是可以有多個不同版本的 CUDA runtime library 共存
它安裝起來看起來會像是這樣
(在 Linux)
/usr/local/cuda-11.8/
/usr/local/cuda-12.1/
/usr/local/cuda -> /usr/local/cuda-12.1/
(Windows 也行)
如果要降版使用,就改變 symbolic link 或是環境變數 (PATH, LD_LIBRARY_PATH) 即可
: → DaOppaiLoli: https://i.imgur.com/XLFRpgr.jpg 04/15 09:01
: → DaOppaiLoli: 至於 PyTorch 是如何判斷版本我是不太確定,但他可 04/15 09:01
: → DaOppaiLoli: 能會根據 nvcc 或 nvml 之類的來判斷,其他有些函式 04/15 09:01
: → DaOppaiLoli: 庫則可能會看 CUDA_HOME 環境變數來判斷 04/15 09:01
: → RumiManiac: nvidia-smi 查到的是 CUDA driver 版本,而 nvcc 查到 05/06 13:15
: → RumiManiac: 的是 CUDA compiler 版本,真正的 CUDA runtime lib 05/06 13:16
: → RumiManiac: 是根據不同安裝方式對應不同的路徑 e.g. /usr/local/ 05/06 13:16
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.127.105.44 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/DataScience/M.1714974351.A.0C3.html
Re: 回文串
510
[問題] 新手每次跑模型時都是CPU滿載
DataScience04/01 01:18
322
Re: [問題] 新手每次跑模型時都是CPU滿載
DataScience04/11 14:00
516
> Re: [問題] 新手每次跑模型時都是CPU滿載
DataScience05/06 13:45
16 則留言
RumiManiac 作者的近期文章
116LoL
[問題] 為什麼這次 LNG 被爆破這麼嚴重LNG vs T1 打得醜是很醜 但是被罵成這樣也太誇張了吧?似乎是 LPL 史上最嚴重的? 綜觀 LNG 整個世界賽: 1:0 C9 1:0 FNC 1:2 JDG (贏一場藍方,輸兩場紅方) 2:1 KT (紅藍方各贏一場,輸一場紅方)
12LoL
[閒聊] 會不會其實 GEN 的 BP 並不差?前天看前兩場的第一個印象就是這 BP 太扯了吧,尤其第二場竟然能全放版本 OP 角 然後再來看各大社群討論果然想得都差不多 但如果換位思考 GEN 教練可能在想什麼: 1. Bin 共共人太強不可能放,以搶代 ban 這沒問題 2. 訓練賽
186LoL
[閒聊] 是什麼改變讓 LPL 今年如此成功從上古時期 S3-S7 被大家認為 LOL 是韓國人的天下 如今轉變到今年歷史性的一刻: 四強四個 LPL (韓國也沒完成過) 四年四個世界冠軍 就只差一小步了 為什麼 LPL 會變得這麼強?大家討論一下巴
3LoL
[閒聊] 其實今年 EU 很強吧?EU 第三跟第四種子爛就是爛沒啥好講的 但如果仔細看 G2 FNC 這兩隊 G2: 屌打四強隊伍 WBG 小輸四強隊伍 BLG,前三場還能拿到一場 反觀 GEN 如果在這邊跟 BLG 打 BO3 會被 2:0 屌虐 為啥 BLG 沒跟 GE
→
→
推
→
→
→
→
→
→
→
→
→
推
推
推
推