code: def _get_extensionty_size(ty):
      """
      Return the size of an extension type in bytes
      """
      target_data = ll.create_target_data(_nvvm_data_layout)
      llty = default_manager[ty].get_value_type()
      return llty.get_abi_size(target_data)
  
imports: import os
  from typing import Any, Callable, Dict
  import cachetools
  import cupy
  import llvmlite.binding
  import numpy
  from cuda import cudart
  from numba import cuda, typeof
  from numba.core.datamodel import default_manager, models
  from numba.core.errors import TypingError
  from numba.core.extending import register_model
  from numba.np import numpy_support
  from numba.types import CPointer, Poison, Record, Tuple, boolean, int64, void
  import rmm
  from cudf._lib.strings_udf import column_from_udf_string_array, column_to_string_view_array
  from cudf.api.types import is_scalar
  from cudf.core.column.column import as_column
  from cudf.core.dtypes import dtype
  from cudf.core.udf.masked_typing import MaskedType
  from cudf.core.udf.strings_typing import str_view_arg_handler, string_view, udf_string
  from cudf.utils import cudautils
  from cudf.utils._numba import _CUDFNumbaConfig, _get_ptx_file
  from cudf.utils.dtypes import BOOL_TYPES, DATETIME_TYPES, NUMERIC_TYPES, STRING_TYPES, TIMEDELTA_TYPES
  from cudf.utils.nvtx_annotation import _cudf_nvtx_annotate
  from cudf.utils.utils import initfunc
label_desc: Use image node_id 14 for calling a global function with example usage: _get_extensionty_size(ty) and returns: llty