code: def construct_graph(dask_dataframe, directed=False, renumber=False):
      """
      Args:
          dask_dataframe:
              dask_dataframe contains weighted and undirected edges with self
              loops. Multiple edges will likely be present as well.
          directed:
              If True, the graph will be directed.
          renumber:
              If True, the graph will be renumbered.
      Returns:
          G:  cugraph.Graph
      """
      st = time.time()
      G = cugraph.Graph(directed=directed)
      G.from_dask_cudf_edgelist(
          dask_dataframe,
          source="src",
          destination="dst",
          renumber=renumber,
      )
      et = time.time()
      g_creation_time = et - st
      print(f"Graph creation time = {g_creation_time} s")
      return G, g_creation_time
  
file_path: cugraph/benchmarks/cugraph/standalone/cugraph_graph_creation.py
imports: from cugraph.testing.mg_utils import generate_edgelist_rmat, get_allocation_counts_dask_persist, get_allocation_counts_dask_lazy, sizeof_fmt, get_peak_output_ratio_across_workers, restart_client
  from cugraph.testing.mg_utils import start_dask_client, stop_dask_client, enable_spilling
  from cugraph.structure.symmetrize import symmetrize_ddf
  import cugraph
  import cudf
  from time import sleep
  import pandas
  import time
label_desc: Use image node_id 1 for calling a global function with example usage: construct_graph(dask_dataframe, directed, renumber) and returns: G,  g_creation_time