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_integration_multiclass,
          (device,),
          np=nproc,
          do_init=True,
      )
      gloo_hvd_executor(
          _test_distrib_integration_multilabel,
          (device,),
          np=nproc,
          do_init=True,
      )
      gloo_hvd_executor(
          _test_distrib_accumulator_device,
          (device,),
          np=nproc,
          do_init=True,
      )
      gloo_hvd_executor(
          _test_distrib_multilabel_accumulator_device,
          (device,),
          np=nproc,
          do_init=True,
      )
  
imports: import os
  import warnings
  import pytest
  import torch
  from sklearn.exceptions import UndefinedMetricWarning
  from sklearn.metrics import recall_score
  import ignite.distributed
  from ignite.exceptions import NotComputableError
  from ignite.metrics import Recall
label_desc: Use image node_id 19 for calling a global function with example usage: test_distrib_hvd(gloo_hvd_executor) without return types