So when running on a single node with multiple GPUs, could I only use one optimiser?

You will need one optimizer per DDP process, regardless of where those DDP processes are. I hope the following note could help explain it:  https://pytorch.org/docs/master/notes/ddp.html 12