Hi,
@ptrblck ,
Thank you!
I did many experiments and found out that the process won’t exit if I enumerate dataload in my train function.
the interesting thing is:
if I use torch.distributed.launch to launch 2 processes, the loader will result in the process won’t exit.
If I run 1 process directly(python train.py), the process will exit correctly.
Furthermore, I confirm no process use the GPU as I am doing experiment on the machine myself.
I suspect there might be 2 reasons:

as you said some Tensor or memory is not released. is there a way to check/confirm this?
generator(like yeild in dataloader) might not exit.

is there any way to check/confirm above 2 issues?
or do you have any idea about what I explained?