You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mxnet.apache.org by GitBox <gi...@apache.org> on 2019/02/23 09:03:01 UTC

[GitHub] nkhdiscovery edited a comment on issue #4659: gpu memory allocate will be error when using multiprocessing.Process

nkhdiscovery edited a comment on issue #4659: gpu memory allocate will be error when using multiprocessing.Process
URL: https://github.com/apache/incubator-mxnet/issues/4659#issuecomment-466630959
 
 
   @leezu 
   Here is something even more complex which works, I thought anybody else may come here and needs the solution - which does not work if you do not force  `mp.set_start_method('forkserver', force=True)`
   ```
   import random
   import numpy as np
   import mxnet as mx
   import multiprocessing as mp
   
   def test():
       mx.random.seed(random.randint(10,200))
       a = mx.nd.random_normal(shape=(2,2), ctx=mx.gpu(0))
       print('child no. ', mp.current_process().name, ':' , a)
   
   if __name__ == '__main__':
       mp.set_start_method('forkserver', force=True)
       ab = mx.nd.random_normal(shape=(2,2), ctx=mx.gpu(0))
       print('main proc.: ', ab)
       runs = [mp.Process(target=test) for i in range(3)]
       for p in runs:
         p.start()
       for p in runs:
         p.join()
   
       print('done')
   ```
   
   Hope it helps.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services