def METHOD_NAME(self, cfg, args, iterations):
    processes = []
    results = Manager().dict()
    ctx = torch.multiprocessing.get_context("spawn")
    for rank in range(args.distributed_world_size):
        p = ctx.Process(
            target=single_gpu_training, args=(cfg, args, rank, iterations, results)
        )
        p.start()
        processes.append(p)
    for p in processes:
        p.join()
    return results