code: def all_reduce(dtype, use_mpi=False):
      if dtype in "hH":
          return  # nccl does not support int16
  
      def run_all_reduce(rank, dtype, use_mpi=False):
          dev = cuda.Device(rank)
          dev.use()
          comm = NCCLBackend(N_WORKERS, rank, use_mpi=use_mpi)
          in_array = cupy.arange(2 * 3 * 4, dtype="f").reshape(2, 3, 4)
          out_array = cupy.zeros((2, 3, 4), dtype="f")
  
          comm.all_reduce(in_array, out_array)
          testing.assert_allclose(out_array, 2 * in_array)
  
      if use_mpi:
          from mpi4py import MPI
  
          # This process was run with mpiexec
          run_all_reduce(MPI.COMM_WORLD.Get_rank(), dtype, True)
      else:
          _launch_workers(run_all_reduce, (dtype,))
  
imports: import sys
  import time
  import warnings
  import cupy
  from cupy import cuda
  from cupy.cuda import nccl
  from cupy import testing
  from cupyx.distributed import init_process_group
  from cupyx.distributed._nccl_comm import NCCLBackend
  from cupyx.distributed._store import ExceptionAwareProcess
  from cupyx.scipy import sparse
label_desc: Use image node_id 4 for calling a global function with example usage: all_reduce(dtype, use_mpi) without return types