我对运行 which nvcc 和 nvidia-smi 所显示的不同 CUDA 版本感到非常困惑。我的 ubuntu 16.04 上安装了 cuda9.2 和 cuda10。现在我将 PATH 设置为指向 cuda9.2。所以...
和 which nvcc
显示的不同 CUDA 版本感到非常困惑 nvidia-smi
。我的 ubuntu 16.04 上安装了 cuda9.2 和 cuda10。现在我将 PATH 设置为指向 cuda9.2。因此,当我运行
$ which nvcc
/usr/local/cuda-9.2/bin/nvcc
然而,当我跑步时
$ nvidia-smi
Wed Nov 21 19:41:32 2018
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 410.72 Driver Version: 410.72 CUDA Version: 10.0 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 106... Off | 00000000:01:00.0 Off | N/A |
| N/A 53C P0 26W / N/A | 379MiB / 6078MiB | 2% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 1324 G /usr/lib/xorg/Xorg 225MiB |
| 0 2844 G compiz 146MiB |
| 0 15550 G /usr/lib/firefox/firefox 1MiB |
| 0 19992 G /usr/lib/firefox/firefox 1MiB |
| 0 23605 G /usr/lib/firefox/firefox 1MiB |
那么,我是按照建议使用 cuda9.2 which nvcc
,还是按照建议使用 cuda10 nvidia-smi
?我 看到了这个答案 ,但它并没有直接解答我的困惑,只是要求我们重新安装 CUDA 工具包,而我已经这样做了。
和 nvcc --version
报告的 CUDA 版本之间的差异 nvidia-smi
是由于它们报告系统 CUDA 设置的不同方面。
nvcc --version
报告您安装的 CUDA 工具包的版本。这是用于编译 CUDA 代码的版本。
nvidia-smi
另一方面,报告您的 GPU 驱动程序支持的最高 CUDA 版本。
在您的情况下, nvcc --version
报告的是 CUDA 10.1,因为这是您安装的 CUDA 工具包的版本。 nvidia-smi
报告的是不同的版本,因为您的 GPU 驱动程序最高可以支持该 CUDA 版本。
运行 CUDA 程序时,所使用的 CUDA 版本由编译程序时使用的 CUDA 工具包版本决定。但是,程序使用的 CUDA 版本也必须得到 GPU 驱动程序的支持。如果您的 GPU 驱动程序不支持程序使用的 CUDA 版本,您将遇到错误。