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