Thanks for implementing this by yourself.
I must ask a couple of questions though:

What was the version of Python you used? I know that some stuff changed in how Python pickles data since version 3.8.
I use mp.spawn to start the processes, where mp is imported from torch.multiprocessing.

Could that be a problem?
Anyways this looks interesting. Thanks again.