2 问题探索
2.1 CUDA固有显存
在实验开始前,先清空环境,终端输入nvidia-smi
接下来向GPU存入一个小的张量
import torch
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
torch.randn((2, 3), device=device)
占用显存情况如下,共计448M
而当我们增大张量的尺寸,例如
torch.randn((200, 300, 200, 20), device=device)
此时GPU占用也随之上升,共计1362M
这表明:GPU显存占用率和存入的数据尺寸成正相关,越大的数据占用显存越多,这其实是废话,但是把这句话反过来:越小的数据占用显存越小吗?做个实验
torch.randn((1, 1), device=device)
仍然占用448M
事实上,这是因为CUDA运行时,其固件会占用一定的显存,在本机软硬件环境下是448M
,不同的CUDA版本或显卡型号固件显存不同。换言之,