conda安装的cudatoolkit 与Nvidia官方提供的cudatoolkit是不一样的。

1、实际上,Nvidia 官方提供安装的 CUDA Toolkit 包含了进行 CUDA 相关程序开发的编译、调试等过程相关的所有组件。

2、但对于 Pytorch 之类的深度学习框架而言,其在大多数需要使用 GPU 的情况中只需要使用 CUDA 的动态链接库支持程序的运行( Pytorch 本身与 CUDA 相关的部分是提前编译好的 ),不需要重新进行编译过程。在安装了 cudatoolkit 后,只要系统上存在与当前的 cudatoolkit 所兼容的 Nvidia 驱动,就可以直接运行。

3、在大多数情况下,上述 cudatoolkit 是可以满足 Pytorch 等框架的使用需求的。但对于一些特殊需求,如需要为 Pytorch 框架添加 CUDA 相关的拓展时( Custom C++ and CUDA Extensions ),需要对编写的 CUDA 相关的程序进行编译等操作,则需安装完整的 Nvidia 官方提供的 CUDA Toolkit.

4、系统上只需要存在cuda的动态链接库,即可编译安装pytorch(只安装了nvidia驱动,没有官方安装cuda),因此nvidia-smi显示的cuda版本,只是pytorch安装时编译安装的版本,而pytorch运行时真正使用的cuda版本为annaconda为其安装的cudatoolkit中cuda的版本(只安装了nvidia驱动,没有官方安装cuda),这块不明白的,请看:https://blog.csdn.net/qq_40947610/article/details/114746940

 

 

 

 

从上图可以看到,系统上的cuda版本为11.1,而conda使用的版本为11.0,根据上面的解释这就不矛盾了!!!

5、安装pytorch的官网上,提供的cuda信息,是安装完成时conda安装的cudatoolkit版本,另外执行cuda版本执行顺序,见:https://blog.csdn.net/qq_40947610/article/details/114746940

 

 

6、以上部分是个人见解,如有不对的,请大佬批评指正!!!

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐