顯卡驅(qū)動CUDA?和?pytorch?CUDA?之間的區(qū)別
寫在前面
我的 CUDA 版本是什么? 這個問題本身就是有問題的,因為沒有搞清楚cuda的分類
- 這里的 CUDA 說的是 Driver CUDA 還是 Runtime CUDA?
- 如果是 Runtime CUDA,那系統(tǒng)可能有多個,說的是哪個?用 apt-get 裝的?PyTorch 自帶的?
想知道答案的話往下看,相信看完之后應該有所感悟
如何查看CUDA 版本
常見的查看CUDA版本的指令有如下幾個
nvidia-smi nvcc --version python -c "import torch; print(torch.version.cuda)"
nvidia-smi
nvcc --version
我先在用的是Windows電腦,這里是一張Linux 網(wǎng)圖
python -c “import torch; print(torch.version.cuda)”
為何三個指令 三種結(jié)果?
nvidia-smi
這個命令一旦裝完顯卡驅(qū)動(nvidia-driver)就可以使用了,驅(qū)動程序提供最底層的程序接口,直接與硬件打交道。插上顯卡的計算機也必須要裝上驅(qū)動程序才能使用顯卡。所以 nvidia-smi 的輸出幾乎都是顯卡的硬件信息。
系統(tǒng)同一時間只能安裝一個版本的驅(qū)動程序,如果安裝多套版本可能會導致未定義的錯誤,另外驅(qū)動程序保持最新版本即可。
那這里的 CUDA Version 是代表什么呢?其實驅(qū)動程序也有 CUDA,叫做 Driver CUDA,這里指的是 Driver CUDA 的版本。而幾乎所有的框架程序,所使用的 CUDA 都不是 Driver CUDA,而是 NVIDIA 提供的更上層的編程接口,叫做 Runtime CUDA
nvcc 和 torch.version.cuda
首先 nvcc 是一個編譯器,這個編譯器是用戶在安裝 Runtime CUDA 的時候附帶的。因此 nvcc 打印的是 Runtime CUDA 的版本。同樣的,torch.version.cuda 打印的也是 Runtime CUDA 的版本,那這兩個版本為什么也不同呢?我們需要先了解Runtime CUDA。
Runtime CUDA
Runtime CUDA 是 NVIDIA 封裝的上層接口,幾乎所有的應用程序,都是直接調(diào)用 Runtime CUDA 的 API,而 Runtime CUDA 內(nèi)部調(diào)用 Driver 的接口。所以通常所說的 CUDA 都是指的 Runtime CUDA(除非是驅(qū)動開發(fā)的人員)。另外 NVIDIA 有一個規(guī)則,Runtime CUDA 的版本號必須小于等于Driver CUDA 的版本號,所以 nvidia-smi
輸出的 CUDA 版本可以理解為該系統(tǒng)所能安裝的最高 CUDA 版本號是多少。
安裝方法
nvcc --version
輸出的是當前安裝的 CUDA 的版本,而系統(tǒng)同一時間還可以安裝多套 CUDA,并且安裝的方式還多種多樣,一般來說有以下幾種安裝方式:
PyTorch 本身自帶 CUDA
# 會自動安裝 CUDA 10.2 pip3 install torch # 會自動安裝 CUDA 11.3 pip3 install torch --extra-index-url https://download.pytorch.org/whl/cu113 # 會自動安裝 CUDA 11.6 pip3 install torch --extra-index-url https://download.pytorch.org/whl/cu116
有人可能會問:為什么裝了 PyTorch 之后,沒有 nvcc
這個命令,或是 nvcc --version
顯示的 CUDA 和 PyTorch 安裝的 CUDA 版本對不上?
上文說了,一個系統(tǒng)可能有多套 CUDA,如果 nvcc --version
顯示的 CUDA 對不上號,是因為系統(tǒng)本身安裝了其他版本的 CUDA。另外,PyTorch 自帶的 CUDA 只包含庫文件,沒有 nvcc
編譯器,所以沒有 nvcc
這個命令。
通過 Ubuntu 的官方源安裝
sudo apt-get install nvidia-cuda-toolkit
通過 conda 安裝
conda search -c conda-forge cudatoolkit # 列出所有可以安裝的版本 conda install -c conda-forge cudatoolkit=xx.x.x
通過官方安裝包訪問下面的鏈接,可以下載到不同版本的安裝包:toolkits
torch官網(wǎng)有詳細的安裝cuda的步驟,自己去官網(wǎng)找一下就好了
到此這篇關于顯卡驅(qū)動CUDA 和 pytorch CUDA 之間的區(qū)別的文章就介紹到這了,更多相關顯卡驅(qū)動CUDA 和 pytorch CUDA內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
利用Python進行時間序列數(shù)據(jù)分析與可視化的代碼示例
隨著時間序列數(shù)據(jù)在金融、氣象、生態(tài)等領域的廣泛應用,利用Python進行時間序列數(shù)據(jù)分析和可視化已成為重要的技能之一,本文將介紹如何使用Python進行時間序列數(shù)據(jù)分析和可視化,并給出相應的代碼示例,需要的朋友可以參考下2023-11-11termux中matplotlib無法顯示中文問題的解決方法
這篇文章主要介紹了termux中matplotlib無法顯示中文問題的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-01-01python中的selenium安裝的步驟(瀏覽器自動化測試框架)
這篇文章主要介紹了python中的selenium安裝的步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-03-03解決Tensorflow使用pip安裝后沒有model目錄的問題
今天小編就為大家分享一篇解決Tensorflow使用pip安裝后沒有model目錄的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06