vinx13 edited a comment on pull request #9032:
URL: https://github.com/apache/tvm/pull/9032#issuecomment-921848437


   I see. If I understand correctly, the issue is when popen worker got a copy 
of `args` here 
https://github.com/apache/tvm/blob/main/python/tvm/exec/popen_worker.py#L77 and 
call `timed_rpc_run`, it create new ndarrays as elements of `args`. When 
`timed_rpc_run` finishes, it doesn't free these ndarrays. This looks like 
python gc issue? Note that `args` is not a global dictionary, it is a local 
copy in each worker, seems you don't need to record the indices of ndarrays (in 
the alternative fix you provided). Did you try set `args=None` or set all 
elements to None (the predefined arrays are also converted to ndarray from 
numpy array here in each popen workers locally, which should also be freed) 
Otherwise the alternative fix looks good to me as it avoids deep copying


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@tvm.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to