Importing RRef, rpc_async, remote from RPC

Hey guys

I just started using RPC yesterday for SEED_RL and I have a problem importing RRef, rpc_async, remote from torch.distributed.rpc

if I run
from torch.distributed.rpc import RRef, rpc_async, remote

It keeps saying, "cannot import name ‘RRef’ or ‘rpc_async’ or ‘remote’ from ‘torch.distributed.rpc’

I tried it on Windows and also WSL (Ubuntu)

Hey
@ptrblck
Can you make some suggestions, please?

Thank you

I cannot reproduce the issue on Linux:

from torch.distributed.rpc import RRef, rpc_async, remote
RRef
# torch.distributed.rpc.api.RRef
rpc_async
# <function torch.distributed.rpc.api.rpc_async(to, func, args=None, kwargs=None, timeout=-1.0)>
remote
# <function torch.distributed.rpc.api.remote(to, func, args=None, kwargs=None, timeout=-1.0)>

using 2.4.0.dev20240423+cu121.

Hello
@ptrblck I am also having a similar issue for Windows 11 with python 3.8 and pytorch 2.3.0 where I am unable to import any of the three imports mentioned. When testing I also find rpc.is_available() to be False but cannot seem to find out why.
Can you make some suggestions as to what I can do to solve this

Thank you

I’m not familiar with the Windows support and don’t know if RPC is implemented using Gloo, but @kwen2501 might know.