How to configure shared memory size?

I want to put the elements in a list to shared memory. The code (main.py) is as follows.

import torch
if __name__=='__main__':
    mylist = []
    list_len = 10000
    for i in range(list_len):
        element = torch.randn(10)
        mylist.append(element)

    for element in mylist:
        element.share_memory_()

The problem is that, when I run “python main.py” from command line, it outputs the following error

Traceback (most recent call last):
  File "main.py", line 9, in <module>
  File "/home/rozyang/anaconda3/lib/python3.6/site-packages/torch/tensor.py", line 217, in share_memory_
  File "/home/rozyang/anaconda3/lib/python3.6/site-packages/torch/storage.py", line 104, in share_memory_
RuntimeError: unable to open shared memory object </torch_1543_4219316339> in read-write mode at /opt/conda/conda-bld/pytorch_1524590031827/work/aten/src/TH/THAllocator.c:342

However, no error appears when I run the same code in PyCharm. I have checked that PyCharm is using the same python interpreter and same pytorch.

If I change “list_len=10000” to “list_len=100”, the command line “python main.py” also works.

So I am wondering where there is somewhere I can set the shared memory size (i.e. the number of shared variables). Many thanks to any hints to solve this!

P.S. I am using anaconda python 3.6 and pytorch 0.4.0

1 Like

Meet the same problem here. Have you found any solution?