broadcast_object_list

paddle.distributed. broadcast_object_list ( object_list, src, group=None ) [source]

Broadcast picklable objects from the source to all others. Similiar to broadcast(), but python object can be passed in.

Parameters
  • object_list (list) – The list of objects to send if current rank is the source, or the list of objects to receive otherwise.

  • src (int) – The source rank in global view.

  • group (Group) – The group instance return by new_group or None for global default group.

Returns

None.

Warning

This API only supports the dygraph mode.

Examples

# required: distributed
import paddle.distributed as dist

dist.init_parallel_env()
if dist.get_rank() == 0:
    object_list = [{"foo": [1, 2, 3]}]
else:
    object_list = [{"bar": [4, 5, 6]}]
dist.broadcast_object_list(object_list, src=1)
print(object_list)
# [{"bar": [4, 5, 6]}] (2 GPUs)