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
→
05/06 16:17,
6月前
, 1F
05/06 16:17, 1F
→
05/06 16:17,
6月前
, 2F
05/06 16:17, 2F
推
05/06 16:57,
6月前
, 3F
05/06 16:57, 3F
→
05/06 16:57,
6月前
, 4F
05/06 16:57, 4F
→
05/06 16:57,
6月前
, 5F
05/06 16:57, 5F
→
05/06 16:57,
6月前
, 6F
05/06 16:57, 6F
→
05/06 16:57,
6月前
, 7F
05/06 16:57, 7F
→
05/06 21:16,
6月前
, 8F
05/06 21:16, 8F
→
05/07 04:52,
6月前
, 9F
05/07 04:52, 9F
→
05/07 04:54,
6月前
, 10F
05/07 04:54, 10F
→
05/07 04:55,
6月前
, 11F
05/07 04:55, 11F
→
05/07 04:57,
6月前
, 12F
05/07 04:57, 12F
推
05/07 13:55,
6月前
, 13F
05/07 13:55, 13F
推
05/07 18:30,
6月前
, 14F
05/07 18:30, 14F
推
05/08 09:26,
6月前
, 15F
05/08 09:26, 15F
推
05/08 16:23,
6月前
, 16F
05/08 16:23, 16F
討論串 (同標題文章)
DataScience 近期熱門文章
PTT數位生活區 即時熱門文章