code: def get_cuda_version() -> Optional[str]:
      """
      Returns the major and minor cuda version without the '.'
      eg. 10.0 => 100, 9.2 => 92, etc.
      :return: CUDA version
      """
      logger.debug("Determining cuda version")
  
      try:
          logger.debug('Executing "nvcc -V"')
          nvcc_version = (
              check_output("nvcc -V".split(" ")).decode("UTF-8").strip()
          )
      except CalledProcessError as e:
          logger.error("Error getting nvcc version")
          logger.error(e)
          return None
  
      logger.debug(
          "Extracting cuda version from {}".format(nvcc_version)
      )
      # eg. "Cuda compilation tools, release 10.0, V10.0.130"
      match = re.search(r" ([0-9]+.[0-9]+)", nvcc_version)
      if match:
          cuda_version = match.group(1).replace(".", "")
          logger.debug("Found cuda version: {}".format(cuda_version))
          return cuda_version
  
      logger.debug(
          'Could not determine cuda version from "{}"'.format(
              nvcc_version
          )
      )
      return None
  
imports: import argparse
  import ctypes
  import glob
  import logging
  import os
  import re
  import sys
  from itertools import chain
  from subprocess import CalledProcessError, check_output
  from typing import Dict, List, Optional
  import boto3
  import botocore.exceptions
  import yaml
label_desc: Use image node_id 11 for calling a global function with example usage: get_cuda_version() and returns: None, cuda_version, None