文章来源 | 恒源云社区
原文地址 | 【小技巧-显卡篇】
1、如何看显卡占用的情况?
通过终端执行 nvidia-smi 命令可以查看显卡的情况,可以查看显卡功耗、显存占用等情况。
root@I15b96311d0280127d:~# nvidia-smiMon Jan 11 13:42:18 2021+-----------------------------------------------------------------------------+| NVIDIA-SMI 460.27.04 Driver Version: 460.27.04 CUDA Version: 11.2 ||-------------------------------+----------------------+----------------------+| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC || Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. || | | MIG M. ||===============================+======================+======================|| 0 GeForce RTX 3090 On | 00000000:02:00.0 Off | N/A || 63% 55C P2 298W / 370W | 23997MiB / 24268MiB | 62% Default || | | N/A |+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+| Processes: || GPU GI CI PID Type Process name GPU Memory || ID ID Usage ||=============================================================================|+-----------------------------------------------------------------------------
复制代码
因为实例均为 Docker 容器,因容器 PID 隔离的限制使用 nvidia-smi 会看不到进程。
在终端中执行 py3smi 命令可以查看到是否有进程正在使用显卡。
root@I15b96311d0280127d:~# py3smiMon Jan 11 13:43:00 2021+-----------------------------------------------------------------------------+| NVIDIA-SMI Driver Version: 460.27.04 |+---------------------------------+---------------------+---------------------+| GPU Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |+=================================+=====================+=====================+| 0 63% 55C 2 284W / 370W | 23997MiB / 24268MiB | 80% Default |+---------------------------------+---------------------+---------------------+
+-----------------------------------------------------------------------------+| Processes: GPU Memory || GPU Owner PID Uptime Process Name Usage |+=============================================================================+| 0 ??? 10494 23995MiB |+-----------------------------------------------------------------------------+
复制代码
2、训练时 GPU 利用率上不去?
在训练过程中查看显卡的使用率,发现核心利用率和显卡功耗低,没有完全利用显卡。
这种情况有可能是每一次训练的步骤中,除了使用 GPU 外,还有大部分时间消耗在了 CPU,造成了 GPU 利用率成周期变化。
解决利用率的问题需要改进代码,可以参考夕小瑶的 训练效率低?GPU利用率上不去? 的这篇文章。
3、CUDA、CUDNN 版本是多少?
使用 nvidia-smi 所查看到的 CUDA Version 为当前驱动支持的版本,不代表实例已安装的版本。
具体版本以创建实例时选择的官方镜像版本的为准。
# 查看 CUDA 版本root@I15b96311d0280127d:~# nvcc -Vnvcc: NVIDIA (R) Cuda compiler driverCopyright (c) 2005-2021 NVIDIA CorporationBuilt on Sun_Feb_14_21:12:58_PST_2021Cuda compilation tools, release 11.2, V11.2.152Build cuda_11.2.r11.2/compiler.29618528_0
# 查看 CUDNN 版本root@I15b96311d0280127d:~# dpkg -l | grep libcudnn | awk '{print $2}'libcudnn8libcudnn8-dev
# 查看 CUDNN 位置root@I15b96311d0280127d:~# dpkg -L libcudnn8 | grep so/usr/lib/x86_64-linux-gnu/libcudnn.so.8.1.1...
复制代码
4、在 RTX 30 系列显卡上开始训练会卡住?
查看库所使用的 CUDA 版本是否低于 11.0。
RTX 3000 系列显卡最低要求 CUDA 11 及以上的版本,使用低于 11 的版本会造成进程卡住。
评论