提高GPU的利用率方法(内含nvcc显示不是内部或外部命令一类问题)

原因在于我发现我租用的GPU利用率极低,所以想学习提高GPU利用率的方法,以及由此带来的解决一系列问题的方法。

首先我的思路是想在本地学习,再去租用的GPU上用,结果发现我电脑上任务管理器独显看不了cuda。于是我想重新彻底安装好cuda+cudnn。

但按教程默认路径(很重要)安装完后cuda后,nvcc -V却没有用。

深度学习之CUDA+CUDNN详细安装教程 - 知乎 (zhihu.com)

任务管理器中GPU检测没有cuda带来的一系列问题(但最终无法解决):

(1)cuda或cudnn可能没装好?

1、nvcc -V显示不是内部或外部命令

首先,我认为这是一类xxx不是内部或外部命令的解决方案。

核心在于:没有正确添加进系统变量的path路径下。

解决方法:

首先我发现这两个安装后的路径有问题:

上图是修改后的,修改前是只到\v10.0,但我发现实际上nvcc.exe在\v10.0\bin下,所以我改了CUDA_PATH,然后另一个是我看了一篇博客,这里放出地址和链接:

cuda安装完输入nvcc -V显示不是内部或外部的命令(添加cuda环境变量)_plastic time的博客-CSDN博客_nvcc 环境变量

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\libnvvp

于是我修改了那两个系统变量的值(我得版本是10.0不是10.2),然后我又从另外一篇博客里学习了更合理添加至系统变量path的方法:

解决nvcc显示不是内部或外部命令的问题_charlotte_sue的博客-CSDN博客_nvcc' 不是内部或外部命令

 简而言之就是编辑系统变量里的Path,然后新建一个%xxx%(其中xxx就是要放入的的系统变量)

我这里放的就是:

然后在cmd中nvcc -V就好了。 

(2)没有关闭图形设置里的硬件加速GPU?(但我的电脑没这个选项)

1、windows版本没有高于2004

我用这个装的 

更新的时候发现virtual box有冲突,一直安装不了新版本windows

具体解决方案我就不记录了,百度的出来,但是我提几点最重要的注意,方便排查:

[1]本来可以卸载,但是我发现我的盘符换过,所以不能直接卸载。后面我又犯病用强力删除直接删除文件夹。实际上点修改,里面是有卸载的。以后卸载一定要注意这点。

[2]哪怕我的电脑里的卸载或更改程序中已经不显示这软件了,但还是显示无法安装,我最终记得是百度到C盘里还有一个路径下有这软件的残留文件,搜索一下并删掉那一整个文件夹就可以了。

实际上一开始windows我想直接用自己电脑更新,但更新显示什么安全啥啥啥,反正就是更新不了,还用过什么vcredist的解决方法等等都不好使,我得建议是就用我装的那个软件直接装新版本就行。

2、HwSchMode没修改

我尝试了网上说的这个方法,以及自建一个这个注册表都没啥用,我的电脑还是不显示那个GPU硬件加速。

3、好电脑真的很重要!

我最终放弃了解决这个问题,因为这个只是分支问题,我的核心问题还是调高GPU利用率,看不到cuda算了.

但这里比较提一嘴:一台好电脑真的省很多事,这是我大学以来的最大心得体会。包括我看别人电脑,cuda和那个GPU硬件加速都自己有了,根本都算不上一个问题.

GPU利用率调试经验:

主要是batch_size和num_workers,其他的我并没有学习(学习率之类的)。

大概做了点简易的对照实验:

总结:

1、注意jupyterlab终端一定要去第二栏里关,不然进程不会关闭(这也是为什么可以后台运行)

2、最重要的三项指标:nvidia-smi下的GPU利用率和显存占用,实例监控(autodl网站里的)下的CPU使用率。

GPU利用率是个很怪的数据,因为它不稳定显示,多输入几次nvidia-smi会显示,但每次都不太一样,所以我并不太清楚这玩意的调试方法。

GPU显存:主要和batch_size有关

CPU利用率:n核对应n00%,6核对应600%,应该是通过调整num_workers来调整这项,接近CPU核数对应的百分比,这样意味着CPU的性能基本得到利用,如果CPU利用率原没有达到这项,那一定要调高num_workers来提高至接近数值。

3、batch_size我粗略的看了一下,大概网上说适中即可???就蛮玄学的,所以我选了一个显存允许的快极限值。

4、我调整num_workers和batch_size似乎并不影响速度,所以我觉得下次最好一次多训练几个模型,反正速度一样,但是可以省钱。当然,这次先训练一个试试水。

5、

以下为未证实的可能有用结论

6、疑似num越多速度越小,但这个其实没快几分钟,不知道是误差还是什么,只能说不确定。

7、 python有些库要联网才能用

8、

后续计划:

1、autodl暂时告一段落了,稍微总结一下:

filezilla+vscode来传数据集和代码(镜像转移也行),然后vscode用来终端调试代码,jupyterlab来进行最后的训练并加上shutdown(记得关终端一定要去第二栏)。

2、之后应该就是去ubuntu搞瑞芯微的事了。

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值