code: def split_factor(
      device: Optional[Union[ivy.Device, ivy.NativeDevice]] = None,
      /,
  ) -> float:
      """Get a device's global split factor, which can be used to scale the
      device's batch splitting chunk sizes across the codebase.
  
      If the global split factor is set for a given device,
          returns the split factor value for the device from the split factors dictionary
      If the global split factor for a device is not configured,
          returns the default value which is 0.0
  
      Parameters
      ----------
      device
          The device to query the split factor for. Sets the default device by default.
  
      Returns
      -------
      ret
          The split factor for the specified device.
  
      Examples
      --------
      >>> x = ivy.split_factor()
      >>> print(x)
      0.0
  
      >>> y = ivy.split_factor("gpu:0")
      >>> print(y)
      0.0
      """
      global split_factors
      device = ivy.default(device, default_device())
      return split_factors.setdefault(device, 0.0)
  
imports: import os
  import gc
  import abc
  import math
  import psutil
  import warnings
  import types
  from typing import Type, Optional, Tuple
  from typing import Union, Callable, Iterable, Any
  import ivy
  from ivy.func_wrapper import handle_out_argument, to_native_arrays_and_back, inputs_to_native_arrays, handle_nestable, handle_array_like_without_promotion, handle_backend_invalid
  from ivy.utils.exceptions import handle_exceptions
label_desc: Use image node_id 25 for calling a global function with example usage: split_factor() and returns: split_factors