cuda 各个版本的官方的安装指导,官方文档涵盖了 cuda8.0 到最新版本的安装指导。
英伟达(nvidia)在人工智能时代获得了极大的成功,其重要原因在于他们软硬件一体的布局和率先占领市场的可编程软件架构 cuda(07 年,nvidia 就发布了 cuda 编程模型,从此开发人员可以使用 cuda 在 n 卡上进行并行编程)。cuda 对新手友好,且更新迅速,并针对图片和语音、并行计算、机器学习、深度学习、游戏渲染等方面发展了许多加速库(cudnn)、加速架构等等
显卡:硬件层面 ;
驱动:将操作系统和硬件相联系;
CUDA:一个并行计算平台和编程模型,能够使得使用GPU进行通用计算变得简单和优雅;
cudatoolkit:简单理解为用它来使用cuda,多个组件(包括compiler,tools, libraires, cuda samples, cuda driver);
cudnn是nvidia专用于深度学习的cuda加速库,点击here了解更多;
高级运算推理模块如pytorch,tensorflow直接使用。
更多名词解释移步知乎某博士的解释,介绍较为详细,小白值得一看。
从上一小节我们知道了使用 cuda 编程的大致图谱,那么你可以参考以下的安装顺序,当然你可能已经安装了一两步比如你应该有显卡驱动,你可以参考官方的安装文档,官方文档涵盖了 cuda8.0 到最新的安装指导。
首先确定你具有一块 CUDA-capable 的 GPU,你可以移步here查看你电脑 gpu 的 Compute Capability
显卡驱动应该是都有的,但是还是推荐你移步here,选择最新版本的驱动,这里的 type 可以选择不针对游戏的类型
cudn 需要 Visual Studio(MSVC 编译器)的支持(说实话我没安装这个照样用gpu的pytorch,但还是安装上吧),移步vs download page选择版本比较新的版本安装,下面以 cuda10.2 版本为例给出系统要求
cl.exe
查看 C++ compiler 是否安装成功,给出一些 MSVC 的版本对照表:
MSVC++ 14.24 _MSC_VER == 1924 (Visual Studio 2019 version 16.4)
MSVC++ 14.23 _MSC_VER == 1923 (Visual Studio 2019 version 16.3)
MSVC++ 14.22 _MSC_VER == 1922 (Visual Studio 2019 version 16.2)
MSVC++ 14.21 _MSC_VER == 1921 (Visual Studio 2019 version 16.1)
MSVC++ 14.2 _MSC_VER == 1920 (Visual Studio 2019 version 16.0)
MSVC++ 14.16 _MSC_VER == 1916 (Visual Studio 2017 version 15.9)
MSVC++ 14.15 _MSC_VER == 1915 (Visual Studio 2017 version 15.8)
MSVC++ 14.14 _MSC_VER == 1914 (Visual Studio 2017 version 15.7)
MSVC++ 14.13 _MSC_VER == 1913 (Visual Studio 2017 version 15.6)
MSVC++ 14.12 _MSC_VER == 1912 (Visual Studio 2017 version 15.5)
MSVC++ 14.11 _MSC_VER == 1911 (Visual Studio 2017 version 15.3)
MSVC++ 14.1 _MSC_VER == 1910 (Visual Studio 2017 version 15.0)
MSVC++ 14.0 _MSC_VER == 1900 (Visual Studio 2015 version 14.0)
MSVC++ 12.0 _MSC_VER == 1800 (Visual Studio 2013 version 12.0)
MSVC++ 11.0 _MSC_VER == 1700 (Visual Studio 2012 version 11.0)
MSVC++ 10.0 _MSC_VER == 1600 (Visual Studio 2010 version 10.0)
MSVC++ 9.0 _MSC_FULL_VER == 150030729 (Visual Studio 2008, SP1)
MSVC++ 9.0 _MSC_VER == 1500 (Visual Studio 2008 version 9.0)
MSVC++ 8.0 _MSC_VER == 1400 (Visual Studio 2005 version 8.0)
MSVC++ 7.1 _MSC_VER == 1310 (Visual Studio .NET 2003 version 7.1)
MSVC++ 7.0 _MSC_VER == 1300 (Visual Studio .NET 2002 version 7.0)
MSVC++ 6.0 _MSC_VER == 1200 (Visual Studio 6.0 version 6.0)
MSVC++ 5.0 _MSC_VER == 1100 (Visual Studio 97 version 5.0)
你需要考虑你使用的 tensorflow 或者 pytorch 的版本
至2020.7, pytorch 最高支持 cudatoolkit 10.2, tensorflow-gpu 支持 cudatoolkit10.1
不知道选哪个cuda版本建议安装 10.1 版本以便 pytorch 和 tensorflow 都可以使用 gpu 加速。点击here选择一个自己需要的版本。安装的时候选择自定义安装,可以自己选择安装的盘符,注意这里不需要自己添加环境变量,如果你之前安装了 cudatoolkit,会自动覆盖 CUDA_PATH 并将新的路径写进环境变量的 PATH 里(如果之前已经有 cudatoolkit 则会将新的 path 放置在原来 path 上方,这样系统检索的时候不会检索到下方的 path
使用(Deep Learning Libraries),即常说的 cuDNN。点击here选择"Deep Learning",点击"NVIDIA cuDNN"下方的"Learn More"下载 cudnn,没有 nvdia 账号的话需要注册一个然后填一份问卷,有账号的话登进去就可以了。here是官方的安装教程下载后 cudnn 是一个压缩包,解压后有三个文件夹,分别将其拷贝到对应的 cuda 文件夹即可(自定义安装的文件夹自行修改):
根据上文我们已经成功安装了 cuda 并使用了 cudnn 加速库,如果按照推荐安装了 cuda10.1及其对应的cudnn加速库,则直接参考官网命令安装即可 命令行输入
conda install pytorch torchvision cudatoolkit=10.1 -c pytorch
这里我加了一个 torchtext,这个有可能需要用到。下图可以看到确实选择到了 pytorch channel
由下图,我们直接根据对应的 cuda 版本来安装即可,命令行输入(版本自己注意,重要的是需要和自己的 cuda 以及 cudnn 版本相对应),上文推荐安装了 cuda10.1 和 cudnn8.0,因此直接安装最新版本的 tensorflow-gpu 即可
pip install tensorflow-gpu==2.3.0
安装后在 python 环境中输入
import tensorflow as tf
下文完全按照官网的说法
需要安装:python, msvc, bazel, cudnn, cuda,msys2
上文我们安装了 msvc, cudnn, cuda,现在需要安装 bazel 和 msys2
bazel version
查看是否安装成功pacman -S git patch unzip
将 cudn 目录下的 bin, extras\CUPTI\lib64, include 添加到环境变量,你也可以用下面的命令行完成这个操作(注意修改路径)
SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin;%PATH%
SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\extras\CUPTI\lib64;%PATH%
SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\include;%PATH%
SET PATH=C:\tools\cuda\bin;%PATH%
git clone https://github.com/tensorflow/tensorflow.git
cd tensorflow
git checkout branch_name # r1.9, r1.10, etc.
python ./configure.py
bazel build //tensorflow/tools/pip_package:build_pip_package
tensorflow 1.xbazel build --config=v1 //tensorflow/tools/pip_package:build_pip_package
cpu-onlybazel build --config=opt //tensorflow/tools/pip_package:build_pip_package
gpu supportbazel build --config=opt --config=cuda --define=no_tensorflow_py_deps=true //tensorflow/tools/pip_package:build_pip_package
bazel-bin\tensorflow\tools\pip_package\build_pip_package C:/tmp/tensorflow_pkg
pip3 install C:/tmp/tensorflow_pkg/tensorflow-version-cp36-cp36m-win_amd64.whl