all_gather_object

paddle.distributed. all_gather_object ( object_list, obj, group=None ) [source]

Gather picklable objects from all participators and all get the result. Similiar to all_gather(), but python object can be passed in.

Parameters
  • object_list (list) – A list of output object. The datatype of every element in the list is same as the input obj.

  • obj (Any) – The picklable object to send.

  • 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

>>> 
>>> import paddle
>>> import paddle.distributed as dist

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