code: def _number_connected_components(G, symmetrize=None):
      if G.src_indices.size == 0:
          return len(G)
      unused_node_ids, labels = plc.weakly_connected_components(
          resource_handle=plc.ResourceHandle(),
          graph=G._get_plc_graph(symmetrize=symmetrize),
          offsets=None,
          indices=None,
          weights=None,
          labels=None,
          do_expensive_check=False,
      )
      return cp.unique(labels).size
  
file_path: cugraph/python/nx-cugraph/nx_cugraph/algorithms/components/connected.py
imports: import cupy
  import networkx
  import pylibcugraph
  from nx_cugraph.convert import _to_undirected_graph
  from nx_cugraph.utils import _groupby, networkx_algorithm, not_implemented_for
label_desc: Use image node_id 2 for calling a global function with example usage: _number_connected_components(G, symmetrize) and returns: cp, len