Ubuntu安装CUDA Driver(显卡驱动)
方法如链接
https://blog.csdn.net/qq_34972053/article/details/126707938
——————————————————————————————
显卡,显卡驱动,nvcc, cuda driver,cudatoolkit,cudnn到底是什么?
https://www.cnblogs.com/marsggbo/p/11838823.html
——————————————————————————————
stackoverflow上的一个解释如下:
CUDA有两个主要的API:runtime(运行时) API和driver API。这两个API都有对应的CUDA版本(如9.2和10.0等)。
- 用于支持driver API的必要文件(如
libcuda.so
)是由GPU driver installer安装的。nvidia-smi就属于这一类API。 - 用于支持runtime API的必要文件(如
libcudart.so
以及nvcc
)是由CUDA Toolkit installer安装的。(CUDA Toolkit Installer有时可能会集成了GPU driver Installer)。nvcc是与CUDA Toolkit一起安装的CUDA compiler-driver tool,它只知道它自身构建时的CUDA runtime版本。它不知道安装了什么版本的GPU driver,甚至不知道是否安装了GPU driver。
即使nvidia-smi和nvcc -V的cuda版本不同,我们设置的编译环境变量是我们需要的即可。
Linux中PATH、 LIBRARY_PATH、 LD_LIBRARY_PATH的区别
PATH
PATH
是可执行文件路径,是三个中我们最常接触到的,因为我们命令行中的每句能运行的命令,如ls、top、ps等,都是系统通过PATH找到了这个命令执行文件的所在位置,再run这个命令(可执行文件)。
LIBRARY_PATH和LD_LIBRARY_PATH
这两个路径可以放在一起讨论,
LIBRARY_PATH
是程序编译期间查找动态链接库时指定查找共享库的路径
LD_LIBRARY_PATH
是程序加载运行期间查找动态链接库时指定除了系统默认路径之外的其他路径
两者的共同点是库,库是这两个路径和PATH路径的区别,PATH是可执行文件。
两者的差异点是使用时间不一样。一个是编译期,对应的是开发阶段,如gcc编译;一个是加载运行期,对应的是程序已交付的使用阶段。
综上,如果driver API和runtime API的CUDA版本不一致可能是因为你使用的是单独的GPU driver installer,而不是CUDA Toolkit installer里的GPU driver installer。