code: def create_cuml_array_input(input_type, dtype, shape, order):
      """
      Creates a valid cuml array input.
  
      Parameters
      ----------
      input_type: str | None, default=cupy
          Valid input types are "numpy", "cupy", "series".
      dtype: Data type specifier
          A numpy/cupy compatible data type, e.g., numpy.float64.
      shape: int | tuple[int]
          Dimensions of the array to generate.
      order : str in {'C', 'F'}
          Order of arrays to generate, either F- or C-major.
  
      Returns
      -------
      A cuml array input array.
      """
  
      input_type = "cupy" if input_type is None else input_type
  
      multidimensional = isinstance(shape, tuple) and len(shape) > 1
      assume(
          not (
              input_type == "series"
              and (dtype in UNSUPPORTED_CUDF_DTYPES or multidimensional)
          )
      )
  
      array = cp.ones(shape, dtype=dtype, order=order)
  
      if input_type == "numpy":
          return np.array(cp.asnumpy(array), dtype=dtype, order=order)
  
      elif input_type == "series":
          return cudf.Series(array)
  
      elif input_type == "cupy":
          return array
  
      raise ValueError(
          "The value for 'input_type' must be "
          f"one of {', '.join(_CUML_ARRAY_INPUT_TYPES)}."
      )
  
imports: from cuml.internals.array import CumlArray
  from cuml.internals.safe_imports import cpu_only_import, gpu_only_import
  from hypothesis import assume
  from hypothesis.extra.numpy import array_shapes, arrays, floating_dtypes, integer_dtypes
  from hypothesis.strategies import composite, integers, just, none, one_of, sampled_from
  from sklearn.datasets import make_classification, make_regression
  from sklearn.model_selection import train_test_split
label_desc: Use image node_id 8 for calling a global function with example usage: create_cuml_array_input(input_type, dtype, shape, order) and returns: np, cudf, array