rpc_sync

paddle.distributed.rpc. rpc_sync ( to, fn, args=None, kwargs=None, timeout=- 1 ) [源代码]

发起一个阻塞的 RPC 调用,在 to 上运行函数 fn。注意:请用户务必在安全的网络环境下使用本功能。

参数

  • to (str) - 目标 worker 的名字。

  • fn (fn) - 一个可调用的函数,比如 Python 的函数。

  • args (tuple,可选) - 函数 fn 的参数,默认为 None。

  • kwargs (str,可选) - 函数 fn 的字典参数,默认是 None。

  • timeout (int,可选) - RPC 调用的超时时间,使用秒表示。如果该 RPC 调用没有在此时间内完成,则会引发异常,表示 RPC 调用超时。该值小于或等于 0 表示无限大的超时时间,即永远不会引发超时异常。默认为 -1。

返回

返回以 args 和 kwargs 作为参数的函数 fn 的运行结果

代码示例

>>> import paddle.distributed.rpc as rpc

>>> def add(a, b):
...     return a + b

>>> rpc.init_rpc("worker0", rank=0, world_size=1,
...         master_endpoint="127.0.0.1:8002")

>>> ret = rpc.rpc_sync("worker0", add, args=(2, 3))
>>> rpc.shutdown()