code: def run_tf_dataset_multigpu_eager_manual_placement(
      get_pipeline_desc=get_image_pipeline, to_dataset=to_image_dataset
  ):
      num_devices = num_available_gpus()
      batch_size = 8
      num_threads = 4
      iterations = 8
  
      dali_datasets = []
      standalone_pipelines = []
      for device_id in range(num_devices):
          standalone_pipeline, dali_dataset = get_pipe_dataset(
              batch_size,
              num_threads,
              "gpu",
              device_id,
              num_devices,
              get_pipeline_desc=get_pipeline_desc,
              to_dataset=to_dataset,
              dali_on_dev_0=False,
          )
          dali_datasets.append(dali_dataset)
          standalone_pipelines.append(standalone_pipeline)
  
      dataset_results = run_dataset_eager_mode(
          dali_datasets, iterations
      )
      standalone_results = run_pipeline(
          standalone_pipelines, iterations, "gpu"
      )
  
      compare(
          dataset_results, standalone_results, iterations, num_devices
      )
  
imports: import math
  import numpy
  import nvidia.dali.fn
  import nvidia.dali.plugin.tf
  import nvidia.dali.types
  import os
  import tensorflow
  from contextlib import contextmanager
  from nose import SkipTest
  from nvidia.dali.pipeline import Pipeline
  from tensorflow.python.client import device_lib
  from test_utils import to_array, get_dali_extra_path
label_desc: Use image node_id 19 for calling a global function with example usage: run_tf_dataset_multigpu_eager_manual_placement(get_pipeline_desc, to_dataset) without return types