code: def test_send_recv(self):
      devs = [0, 1]
      comms = nccl.NcclCommunicator.initAll(devs)
      nccl.groupStart()
      for comm in comms:
          dev_id = comm.device_id()
          rank = comm.rank_id()
          assert rank == dev_id
  
          if rank == 0:
              with cuda.Device(dev_id):
                  sendbuf = cupy.arange(10, dtype=cupy.int64)
                  comm.send(
                      sendbuf.data.ptr,
                      10,
                      nccl.NCCL_INT64,
                      1,
                      cuda.Stream.null.ptr,
                  )
          elif rank == 1:
              with cuda.Device(dev_id):
                  recvbuf = cupy.zeros(10, dtype=cupy.int64)
                  comm.recv(
                      recvbuf.data.ptr,
                      10,
                      nccl.NCCL_INT64,
                      0,
                      cuda.Stream.null.ptr,
                  )
      nccl.groupEnd()
  
      # check result
      with cuda.Device(1):
          expected = cupy.arange(10, dtype=cupy.int64)
          assert (recvbuf == expected).all()
  
file_path: cupy/tests/cupy_tests/cuda_tests/test_nccl.py
imports: import pickle
  import unittest
  import cupy
  from cupy import cuda
  from cupy.cuda import nccl
  from cupy import testing
label_desc: Use image node_id 7 for calling the TestNCCL obj's underlying member method code with example usage: obj.test_send_recv() without return types