code: def numba_cuda_is_supported(min_version: str) -> bool:
      """
      Tests if an appropriate version of numba is installed, and if it is,
      if cuda is supported properly within it.
  
      Args:
          min_version: The minimum version of numba that is required.
  
      Returns:
          bool, whether cuda is supported with this current installation or not.
      """
      module_available = numba_cpu_is_supported(min_version)
  
      # If numba is not installed
      if module_available is None:
          return False
  
      # If numba version is installed and available
      if module_available is True:
          from numba import cuda
  
          # this method first arrived in 0.53, and that's the minimum version required
          if hasattr(cuda, "is_supported_version"):
              try:
                  cuda_available = cuda.is_available()
                  if cuda_available:
                      cuda_compatible = cuda.is_supported_version()
                  else:
                      cuda_compatible = False
  
                  if is_numba_compat_strict():
                      return cuda_available and cuda_compatible
                  else:
                      return cuda_available
  
              except OSError:
                  # dlopen(libcudart.dylib) might fail if CUDA was never installed in the first place.
                  return False
          else:
              # assume cuda is supported, but it may fail due to CUDA incompatibility
              return False
  
      else:
          return False
  
file_path: NeMo/nemo/core/utils/numba_utils.py
imports: import contextlib
  import logging
  import operator
  import os
  from typing import Tuple, Union
  from nemo.utils import model_utils
label_desc: Use image node_id 5 for calling a global function with example usage: numba_cuda_is_supported(min_version) and returns: False, False, False, unknown, cuda_available, False