code: def cubical_graph(create_using=None):
      graph_class, inplace = _create_using_class(create_using)
      if graph_class.is_directed():
          raise nx.NetworkXError("Directed Graph not supported")
      src_indices = cp.array(
          [
              0,
              0,
              0,
              1,
              1,
              1,
              2,
              2,
              2,
              3,
              3,
              3,
              4,
              4,
              4,
              5,
              5,
              5,
              6,
              6,
              6,
              7,
              7,
              7,
          ],
          index_dtype,
      )
      dst_indices = cp.array(
          [
              1,
              3,
              4,
              0,
              2,
              7,
              1,
              3,
              6,
              0,
              2,
              5,
              0,
              5,
              7,
              3,
              4,
              6,
              2,
              5,
              7,
              1,
              4,
              6,
          ],
          index_dtype,
      )
      name = (
          ("Platonic Cubical Graph",)
          if _IS_NX32_OR_LESS
          else "Platonic Cubical Graph"
      )
      G = graph_class.from_coo(8, src_indices, dst_indices, name=name)
      if inplace:
          return create_using._become(G)
      return G
  
imports: import cupy
  import networkx
  import nx_cugraph
  from ..utils import index_dtype, networkx_algorithm
  from ._utils import _IS_NX32_OR_LESS, _create_using_class
label_desc: Use image node_id 3 for calling a global function with example usage: cubical_graph(create_using) and returns: G, create_using