code: def _test_native_distrib_single_node_spawn(
      init_method, backend, device, **kwargs
  ):
      world_size = (
          4
          if torch.device(device).type == "cpu"
          else torch.cuda.device_count()
      )
      idist.spawn(
          backend,
          _test_distrib_config,
          args=(backend, world_size, device),
          nproc_per_node=world_size,
          init_method=init_method,
          **kwargs,
      )
  
imports: import os
  import pytest
  import torch
  import torch.distributed
  from packaging.version import Version
  import ignite.distributed
  from ignite.distributed.utils import has_native_dist_support
  from tests.ignite.distributed.utils import _test_distrib__get_max_length, _test_distrib_all_gather, _test_distrib_all_gather_group, _test_distrib_all_reduce, _test_distrib_all_reduce_group, _test_distrib_barrier, _test_distrib_broadcast, _test_distrib_config, _test_distrib_new_group, _test_distrib_one_rank_only, _test_distrib_one_rank_only_with_engine, _test_sync
label_desc: Use image node_id 4 for calling a global function with example usage: _test_native_distrib_single_node_spawn(init_method, backend, device) without return types