code: def __send_rb(args, variables=None, wait=False, jit=False):
      x, target_rank, y = args[:3]
      if RawHIPBuffer and x.__class__ is RawHIPBuffer:
          check(hip.hipSetDevice(x._device))
          check(hip.hipDeviceSynchronize())
      else:
          if isinstance(x, RawBufferCopyInOut):
              x._copyout(np.frombuffer(y._buffer(), dtype=x.dtype.np))
          else:
              y.fromCPU(x.toCPU())
      dist.OOB.send(None, target_rank)
      if DEBUG >= 2:
          print(
              f"{colored('****', 'magenta' if jit else None)}  rank {getenv('RANK')} sent {x} to rank {target_rank}"
          )
  
imports: import ctypes
  from extra import dist
  from multiprocessing import shared_memory
  from tinygrad.helpers import DEBUG, colored, getenv
  from tinygrad.lazy import LazyBuffer
  from tinygrad.runtime.lib import RawBuffer, RawBufferCopyInOut
  from tinygrad.runtime.ops_disk import RawDiskBuffer
  from tinygrad.jit import CacheCollector
  from tinygrad.tensor import Tensor, Function
  import numpy
label_desc: Use image node_id 1 for calling a global function with example usage: __send_rb(args, variables, wait, jit) without return types