code: def _unique_instance_name(instance: InstanceType) -> str:
      if instance.resources.spot:
          name = f"{instance.name}-spot"
      else:
          name = instance.name
      if not instance.resources.gpus:
          return name
      gpu = instance.resources.gpus[0]
      return f"{name}-{gpu.name}-{gpu.memory_mib}"
  
imports: from collections import defaultdict
  from typing import Callable, Dict, List, Optional, Tuple
  import google.api_core.exceptions
  import google.cloud.compute_v1
  import dstack._internal.core.backends.gcp.auth
  import dstack._internal.core.backends.gcp.resources
  from dstack._internal.core.backends.base.compute import Compute, get_gateway_user_data, get_instance_name, get_user_data
  from dstack._internal.core.backends.base.offers import get_catalog_offers
  from dstack._internal.core.backends.gcp.config import GCPConfig
  from dstack._internal.core.errors import NoCapacityError, ResourceNotFoundError
  from dstack._internal.core.models.backends.base import BackendType
  from dstack._internal.core.models.instances import InstanceAvailability, InstanceOffer, InstanceOfferWithAvailability, InstanceType, LaunchedGatewayInfo, LaunchedInstanceInfo, Resources
  from dstack._internal.core.models.runs import Job, Requirements, Run
label_desc: Use image node_id 3 for calling a global function with example usage: _unique_instance_name(instance) and returns: name, str, gpu, str, gpu, name