CUDA,CuDNN,NVIDIA显卡驱动,nvcc 以及 Cudatoolkit之间的关系

CUDA

CUDA(Compute Unified Device Architecture)是由NVIDIA开发的一个并行计算平台和API模型,它允许软件开发者和软件工程师使用NVIDIA GPU进行通用处理。CUDA为开发人员提供了直接控制GPU架构的能力。

cuDNN

cuDNN(CUDA Deep Neural Network library)是一个GPU加速的库,专为深度神经网络(DNN)的计算而优化。它提供了高度优化的常规DNN操作,如卷积、池化等,是构建深度学习模型的关键组件之一。

NVIDIA显卡驱动

NVIDIA显卡驱动程序是操作系统与NVIDIA GPU之间的软件接口,负责管理和优化GPU的性能。它允许操作系统和应用程序访问硬件功能。

nvcc

作用:nvcc是CUDA程序的编译器,它接受CUDA C++代码作为输入,并产生GPU上运行的代码。它是CUDA开发工具链的一部分,允许开发者编写使用GPU进行并行计算的程序。
功能:nvcc能够将包含CUDA扩展的C++代码转换成GPU可执行代码。它处理CUDA代码中的扩展部分(如定义在global函数中的代码),并将剩余的标准C++代码交给系统的C++编译器处理。

安装PyTorch时的cudatoolkit

当你通过包管理器(如conda)安装PyTorch时,cudatoolkit是作为依赖项之一被安装的。它包含了CUDA开发工具包的一部分,主要是运行时库(用于GPU编程的API),允许PyTorch利用CUDA进行加速。
注意:这里的cudatoolkit并不包括cuDNN库,cuDNN通常需要另外安装,但PyTorch安装包已经预编译包含了cuDNN的支持,所以用户不需要手动安装cuDNN。

在虚拟环境中使用特定版本的CUDA ToolKit

虚拟环境(如conda环境、Python虚拟环境等)通常用于隔离Python软件包依赖,而CUDA Toolkit的安装通常是系统级别的,因此不能直接在虚拟环境内“安装”CUDA Toolkit。不过,你可以在虚拟环境中配置和使用系统级别安装的CUDA Toolkit。以下是一般步骤:

安装CUDA ToolKit

  1. 下载CUDA Toolkit:访问NVIDIA官方网站下载CUDA Toolkit的安装包。选择与你的操作系统和硬件配置兼容的版本。
  2. 安装CUDA Toolkit:按照官方指南进行安装。这通常包括运行安装程序并遵循指示完成安装过程。

配置环境变量

安装完成后,需要配置环境变量以确保CUDA Toolkit的编译器(nvcc)和库在系统级别可用。

  • 对于Linux和macOS:
    • 编辑你的shell配置文件(如~/.bashrc, ~/.zshrc等),添加以下行来设置PATH和LD_LIBRARY_PATH环境变量:
      bashCopy code
      export PATH=/usr/local/cuda/bin: P A T H e x p o r t L D L I B R A R Y P A T H = / u s r / l o c a l / c u d a / l i b 64 : PATHexport LD_LIBRARY_PATH=/usr/local/cuda/lib64: PATHexportLDLIBRARYPATH=/usr/local/cuda/lib64:LD_LIBRARY_PATH
    • 应用更改:
      bashCopy code
      source ~/.bashrc # 或对应的配置文件
  • 对于Windows:
    • 通过“控制面板” > “系统” > “高级系统设置” > “环境变量”来设置Path环境变量,添加CUDA的bin目录(如C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vX.Y\bin)。

在虚拟环境中使用CUDA

  • 当你在虚拟环境中安装需要CUDA的库(如PyTorch、TensorFlow等)时,确保安装的版本与系统级别安装的CUDA版本兼容。
  • 使用conda创建虚拟环境时,可以指定cudatoolkit版本以匹配系统级CUDA版本,但请注意,这并不会安装CUDA Toolkit,而是安装运行时库的版本,以便与PyTorch等库一起使用。

总结

  • CUDA是基础平台和API,提供了在NVIDIA GPU上进行计算的能力。
  • nvcc是CUDA Toolkit中的编译器,用于将CUDA代码编译成GPU上可执行的程序。
  • cuDNN是基于CUDA的库,专为深度学习算法优化,简化了在CUDA上开发深度学习应用的复杂度。(名如其名:基于CUDA的深度学习库)
  • 通常 CUDA、cuDNN、NVIDIA驱动以及PyTorch版本之间是需要进行兼容的。nvidia-smi可以查询当前显卡驱动能够支持的CUDA最高版本。CUDA 和CuDNN之间的对应关系是可以上网查看的,PyTorch安装的时候也会提示选择CUDA版本。
  • PyTorch目前自带了预先编译的CuDNN,是不需要手动安装的,并且安装PyTorch时提供的cudatoolkit也提供了运行CUDA应用所需的最小环境,不需要用户安装完整的CUDA Toolkit。但是如果开发者需要进行CUDA代码的编译和开发,那么系统上还是需要安装完整的CUDA Toolkit。
  • 21
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值