Yes, I want to use DDP but have a single copy in the CPU.

In this case, you might need to use multiprocess communication 2 to share tensors.
Sorry that I still don’t fully understand the use case. Some pseudo code would be helpful.