code: def test_distrib_hvd(gloo_hvd_executor):
      device = torch.device(
          "cpu" if not torch.cuda.is_available() else "cuda"
      )
      nproc = (
          4
          if not torch.cuda.is_available()
          else torch.cuda.device_count()
      )
  
      gloo_hvd_executor(
          _test_distrib_multiclass_images,
          (device,),
          np=nproc,
          do_init=True,
      )
      gloo_hvd_executor(
          _test_distrib_accumulator_device,
          (device,),
          np=nproc,
          do_init=True,
      )
  
imports: import os
  import numpy
  import pytest
  import torch
  from sklearn.metrics import accuracy_score, confusion_matrix, precision_score, recall_score
  import ignite.distributed
  from ignite.exceptions import NotComputableError
  from ignite.metrics import ConfusionMatrix, IoU, JaccardIndex, mIoU
  from ignite.metrics.confusion_matrix import cmAccuracy, cmPrecision, cmRecall, DiceCoefficient
label_desc: Use image node_id 24 for calling a global function with example usage: test_distrib_hvd(gloo_hvd_executor) without return types