fiber.experimental.ring
Ring allows you to create a Ring like topology easily on a computer cluster.
RingNode
RingNode(self, rank)
A RingNode represents a node in the Ring.
Arguments:
rank: The id assigned to this node. Each node will be assigned a unique id calledrank. Rank 0 is the control node of theRing.Ring
Ring(self, processes, func, initializer, initargs=None)
Create a ring of nodes (processes). Each node runs a copy of the same function.
Arguments:
processes: Number of ring nodes in this Ring.func: the target function that each ring node will run.initializer: the initialization function that each ring node runs. This is used to setup the custom ring structure like PyTorch's torch.distributed, Horovod, etc.initargs: positional arguments that are passed to initializer. Currently this is not used.run
Ring.run()
Start this Ring. This will start the ring 0 process on the same machine and start all the other ring nodes with Fiber processes.