import os, psutil, torch process = psutil.Process(os.getpid()) print(process.memory_info() / float(2**20)) cuda_tensor = torch.cuda.FloatTensor([0.0]) print(process.memory_info() / float(2**20))
The above snippet outputs ~90MB before creating the tensor and ~1280MB after creation, and nvidia-smi shows ~281MB usage on the GPU. Multiple topics on discuss explain the GPU RAM usage as overhead for various contexts, but I am puzzled by the very high CPU RAM usage. Is this the expected amount of RAM needed for using PyTorch’s CUDA module, and why does it use so much?
I tested this snippet on ubuntu 14.04/16.04 using pytorch 0.2.0/0.3.0 and CUDA 8/9.