当我们的电脑安装了nvidia 的显卡后。我们想将于运用于深度学习的话,我们需要安装显卡对应的 驱动, cuda toolkit 和 cuDNN 。
现在我们来了解这几个东西之间的概念,和关系。
1. 显卡驱动是干什么的?
做过软件开发的同学,都知道接口。接口是用来提供能力的。那么这个驱动就好比是一个接口,他可以帮你提供使用GPU 的能力。
2. cuda toolkit 是干什么的?
CUDA Toolkit 是用于开发和运行基于 CUDA 的应用程序的软件包。它包含了编译器、库、工具和示例等组件,用于编写、构建和优化 CUDA 应用程序。CUDA Toolkit 还提供了与 GPU 相关的驱动程序和运行时库,以便在系统上正确配置和管理 GPU。
搞过编程的同学知道,我们要调用一些系统底层功能,是不是要调用一些库。不管是开发c,cpp, 还是golang ,java ,python ,当我们需要做一件事情的时候,通常我们都是看看有没有这方面的库,有的话直接拿来用,而不是自己重写一个,造个轮子,那样太费时费力了。那么这个工具集就给你提供了很多的工具,和库,让你来方便操作,不用自己去搞。这个库的主要目的是帮你封装好了很多的操作这个gpu ,也就是操作这个 cuda 驱动的库。
特别是搞java 的同学都知道,java 有个 sdk ,全称 soft development kit 软件开发包,这个java sdk 给你提供了很多开发,编译的工具和库。那么这个 cuda toolkit 一样,给你提供了很多cuda 相关的 工具集合,让你方便的使用gpu 的能力。
3. cuDNN 是干什么的?
cuDNN(CUDA Deep Neural Network library)是 NVIDIA 为深度学习框架提供的加速库。它为深度神经网络的训练和推理提供了高性能的 GPU 加速支持。cuDNN 提供了一系列优化的算法和函数,用于加速卷积、池化、归一化等常用的深度学习操作。它与 CUDA 和 CUDA Toolkit 配合使用,提供了对深度学习框架(如TensorFlow、PyTorch等)的 GPU 加速能力
综上:
因此,CUDA Toolkit 是用于开发和构建基于 CUDA 的应用程序的软件包,包括编译器、库和工具等。而 cuDNN 则是用于加速深度学习框架的 GPU 计算库,它建立在 CUDA 和 CUDA Toolkit 的基础上。在使用深度学习框架进行 GPU 加速时,通常需要安装和配置正确版本的 CUDA Toolkit 和 cuDNN,以便充分利用 GPU 的计算能力。
4.确定显卡驱动版本
当我们拿到了显卡后,我们如何确定,我们应该给该显卡安装什么版本的驱动,才能使用驱动该显卡呢?
首先我们要知道我们的显卡型号。例如我这里的是R