運行Pytorch代碼的時候遇到:
RuntimeError: cuda runtime error (35) : CUDA driver version is insufficient for CUDA runtime version at /pytorch/aten/src/THC/THCGeneral.cpp:74
可能原因:每一個pytorch版本都有對應的cuda版本,可能是在安裝pytorch的時候,選擇的pytorch版本所對應的版本cuda版本與本機所安裝的cuda版本不相符。
check步驟:
#查看pytorch版本
import torch
torch.__version__
#查看pytorch版本對應的cuda版本
torch.version.cuda
#查看cuda是否可用
torch.cuda.is_available()
#查看Linux server安裝的cuda版本
#切換到/usr/local/cuda/samples/1_Utilities/deviceQuery
然後運行
./deviceQuery
出現類似以下信息:
./deviceQuery Starting...
CUDA Device Query (Runtime API) version (CUDART static linking)
Detected 1 CUDA Capable device(s)
Device 0: "GeForce GTX TITAN Black"
CUDA Driver Version / Runtime Version 8.0 / 8.0
CUDA Capability Major/Minor version number: 3.5
Total amount of global memory: 6080 MBytes (6375407616 bytes)
(15) Multiprocessors, (192) CUDA Cores/MP: 2880 CUDA Cores
GPU Max Clock rate: 1072 MHz (1.07 GHz)
Memory Clock rate: 3500 Mhz
Memory Bus Width: 384-bit
L2 Cache Size: 1572864 bytes
Maximum Texture Dimension Size (x,y,z) 1D=(65536), 2D=(65536, 65536), 3D=(4096, 4096, 4096)
Maximum Layered 1D Texture Size, (num) layers 1D=(16384), 2048 layers
Maximum Layered 2D Texture Size, (num) layers 2D=(16384, 16384), 2048 layers
Total amount of constant memory: 65536 bytes
Total amount of shared memory per block: 49152 bytes
Total number of registers available per block: 65536
Warp size: 32
Maximum number of threads per multiprocessor: 2048
Maximum number of threads per block: 1024
Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
Max dimension size of a grid size (x,y,z): (2147483647, 65535, 65535)
Maximum memory pitch: 2147483647 bytes
Texture alignment: 512 bytes
Concurrent copy and kernel execution: Yes with 1 copy engine(s)
Run time limit on kernels: No
Integrated GPU sharing Host Memory: No
Support host page-locked memory mapping: Yes
Alignment requirement for Surfaces: Yes
Device has ECC support: Disabled
Device supports Unified Addressing (UVA): Yes
Device PCI Domain ID / Bus ID / location ID: 0 / 1 / 0
Compute Mode:
< Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >
deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 8.0, CUDA Runtime Version = 8.0, NumDevs = 1, Device0 = GeForce GTX TITAN Black
Result = PASS
比對前後兩個cuda版本是否一致,如果不一致,就需要卸載並安裝與本機cuda版本相同的pytorch(當然應該也可以改本機的cuda版本,只不過相對比較麻煩)
pip3 uninstall pytorch
pip3 install [pytorch-version-link]
打開鏈接,選擇合適版本版本,右鍵複製鏈接地址,替換上面的pytorch-version-link,執行命令就行。
這樣應該就可以解決了。