import torch
print(torch.version.cuda)
!nvcc -V
10.0.130
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2018 NVIDIA Corporation
Built on Sat_Aug_25_21:08:01_CDT_2018
Cuda compilation tools, release 10.0, V10.0.130
###############################查看CPU##############################
!cat /proc/cpuinfo | grep "cpu cores" | uniq
!cat /proc/cpuinfo |grep "processor"|wc -l
运行后会发现是单核双线程
###############################查看GPU##############################
命令:
!apt install lshw -y
!lshw -C display
结果:
*-display
description: 3D controller
product: GP100GL
vendor: NVIDIA Corporation
physical id: 4
bus info: pci@0000:00:04.0
version: a1
width: 64 bits
clock: 33MHz
capabilities: bus_master cap_list
configuration: driver=nvidia latency=0
resources: iomemory:80-7f iomemory:c0-bf irq:33 memory:fc000000-fcffffff memory:800000000-bffffffff memory:c00000000-c01ffffff ioport:c000(size=128)
------------------------------------------------------------------------------------
命令:
!nvidia-smi
结果:
Fri Sep 20 09:32:32 2019
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 418.67 Driver Version: 418.67 CUDA Version: 10.1 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 Tesla P100-PCIE... On | 00000000:00:04.0 Off | 0 |
| N/A 34C P0 25W / 250W | 0MiB / 16280MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
------------------------------------------------------------------------------------
命令:
!nvidia-smi --query-gpu=name --format=csv,noheader
结果:
Tesla P100-PCIE-16GB
#################################################################################
根据[1]:最好的经验法则是:如果用RNN,请看带宽;如果用卷积,
请看FLOPS(floating point operation);如果有钱,上Tensor Cores(除非你必须购买Tesla)
显存爆炸可以调整batch_size
使用了kaggle的Tesla P100-PCIE-16GB和实地Titan 2080做比较.
对RSNA颅内出血比赛的数据集进行测试.一个epoch:
Tesla P100-PCIE-16GB:7小时
Titan 2080:3.5小时不到
爆内存的话可以考虑batch_size
这个现象很古怪,为什么Titan 2080 比Tesla P100-PCIE-16GB 还快呢?
这是因为后者是在虚拟机中被分配出来的GPU,而不是真实的物理机GPU
调度时间占据了大量的训练时间。
和高校中的硕博聊天发现,大部分实验室都喜欢一台服务器(高配版的GPU)被多个人同时训练使用,导致每个人的训练速度还不如单独一台电脑+一个低配版的GPU
所以AI训练中,大家共同占用一个GPU并不是什么很好的习惯,对于学术论文中给出的数据也应该辨证地对待。
另外:
Titan2080有四个接口可以链接四个显示器,但是被训练的显卡连接的显示器可能会发生屏幕抖动。
Reference: