code: def cugraph_call(
      benchmark_callable, graph_file, input_df=None, use_weight=False
  ):
      G = cugraph.Graph()
      G = graph_file.get_graph(ignore_weights=not use_weight)
  
      # If no vertex_pair is passed as input, 'cugraph.sorensen' will
      # compute the 'sorensen_similarity' with the two_hop_neighbor of the
      # entire graph while nx compute with the one_hop_neighbor. For better
      # comparaison, get the one_hop_neighbor of the entire graph for 'cugraph.sorensen'
      # and pass it as vertex_pair
      if isinstance(input_df, cudf.DataFrame):
          vertex_pair = input_df.rename(
              columns={
                  SRC_COL: VERTEX_PAIR_FIRST_COL,
                  DST_COL: VERTEX_PAIR_SECOND_COL,
              }
          )
          vertex_pair = vertex_pair[
              [VERTEX_PAIR_FIRST_COL, VERTEX_PAIR_SECOND_COL]
          ]
      else:
          vertex_pair = cudf.DataFrame(
              columns=[VERTEX_PAIR_FIRST_COL, VERTEX_PAIR_SECOND_COL],
              dtype=G.edgelist.edgelist_df["src"].dtype,
          )
  
      # cugraph Sorensen Call
      df = benchmark_callable(
          cugraph.sorensen, G, vertex_pair=vertex_pair
      )
  
      df = df.sort_values(
          [VERTEX_PAIR_FIRST_COL, VERTEX_PAIR_SECOND_COL]
      ).reset_index(drop=True)
  
      return (
          df[VERTEX_PAIR_FIRST_COL].to_numpy(),
          df[VERTEX_PAIR_SECOND_COL].to_numpy(),
          df[SORENSEN_COEFF_COL].to_numpy(),
      )
  
imports: import gc
  import pytest
  import networkx
  import cudf
  import cugraph
  from cugraph.testing import utils, UNDIRECTED_DATASETS
  from cugraph.datasets import netscience
  from cudf.testing import assert_series_equal
  from cudf.testing.testing import assert_frame_equal
label_desc: Use image node_id 3 for calling a global function with example usage: cugraph_call(benchmark_callable, graph_file, input_df, use_weight) and returns: df,  df,  df