code: def is_gds_supported(device_id=0):
      global is_gds_supported_var
      if is_gds_supported_var is not None:
          return is_gds_supported_var
  
      compute_cap = 0
      cuda_drv_ver = 0
      try:
          import pynvml
  
          pynvml.nvmlInit()
          handle = pynvml.nvmlDeviceGetHandleByIndex(device_id)
          compute_cap = pynvml.nvmlDeviceGetCudaComputeCapability(
              handle
          )
          compute_cap = compute_cap[0] + compute_cap[1] / 10.0
          cuda_drv_ver = pynvml.nvmlSystemGetCudaDriverVersion()
      except ModuleNotFoundError:
          print("Python bindings for NVML not found")
  
      # for CUDA < 12.2 only x86 platform is supported, above aarch64 is supported as well
      is_gds_supported_var = (
          platform.processor() == "x86_64"
          or (
              dali_b.__cuda_version__ >= 12200 and cuda_drv_ver >= 12020
          )
      ) and compute_cap >= 6.0
      return is_gds_supported_var
  
imports: from nvidia.dali import Pipeline, pipeline_def
  import nvidia.dali.fn
  import nvidia.dali.types
  import nvidia.dali.backend
  import numpy
  from numpy.testing import assert_array_equal
  import os
  import platform
  import random
  import tempfile
  from nose_utils import assert_raises
  from nose import SkipTest
  from nose2.tools import params, cartesian_params
  from test_utils import compare_pipelines, to_array
label_desc: Use image node_id 1 for calling a global function with example usage: is_gds_supported(device_id) and returns: is_gds_supported_var, is_gds_supported_var