由于需要跑前几年论文的代码,所以需要cuda多个版本切换。
显卡驱动、cuda和cudnn的关系
显卡驱动和cuda并不一样,显卡驱动就是用来驱动显卡的程序,它是硬件所对应的软件。驱动程序即添加到操作系统中的一小块代码,其中包含有关硬件设备的信息。CUDA的本质是一个工具包,是NVIDIA推出的用于自家GPU的并行计算框架。
NVIDIA显卡驱动和CUDA工具包本身是不具有捆绑关系的,也不是一一对应的关系,只不过是离线安装的CUDA工具包会默认携带与之匹配的最新的驱动程序,如果已经安装驱动,可以选择不进行安装。我们可以在同一个设备上安装很多个不同版本的CUDA工具包,但是只需要安装最新版本的显卡驱动。
cuDNN是一个SDK,是一个专门用于神经网络的加速包,需要和cuda的版本进行对应。
cuda、cuDNN安装
查询tensorflow各个版本需要的CUDA版本以及Cudnn的对应关系的网址
安装的cuda版本的查询
nvcc -V
版本切换
版本切换可以通过改变环境变量来实现。
当最上面的环境变量是cuda11
改变cuda版本的顺序
不过实际上,windows多个不同版本的CUDA使用时不需要切换,只要环境变量PATH中有相应的CUDA路径即可,无需手动切换。tensorflow在运行的时候会自动在环境变量中寻找合适的CUDA版本,直到找到为止,如果没有,则会报错。
引用
tensorflow各个版本的CUDA以及Cudnn版本对应关系
win10下安装多个cuda(cuda9.0和10.0),并自由切换版本
windows下同一个显卡配置多个CUDA工具包以及它们之间的切换