code: def test_dask_mg_sorensen(
      dask_client, benchmark, input_expected_output
  ):
      dg = input_expected_output["MGGraph"]
      use_weight = input_expected_output["is_weighted"]
  
      result_sorensen = benchmark(
          dcg.sorensen,
          dg,
          input_expected_output["vertex_pair"],
          use_weight=use_weight,
      )
  
      result_sorensen = (
          result_sorensen.compute()
          .sort_values(["first", "second"])
          .reset_index(drop=True)
          .rename(
              columns={"sorensen_coeff": "mg_cugraph_sorensen_coeff"}
          )
      )
  
      expected_output = (
          input_expected_output["sg_cugraph_results"]
          .sort_values(["first", "second"])
          .reset_index(drop=True)
      )
  
      # Update the dask cugraph sorensen results with sg cugraph results for easy
      # comparison using cuDF DataFrame methods.
      result_sorensen["sg_cugraph_sorensen_coeff"] = expected_output[
          "sorensen_coeff"
      ]
  
      sorensen_coeff_diffs1 = result_sorensen.query(
          "mg_cugraph_sorensen_coeff - sg_cugraph_sorensen_coeff > 0.00001"
      )
      sorensen_coeff_diffs2 = result_sorensen.query(
          "mg_cugraph_sorensen_coeff - sg_cugraph_sorensen_coeff < -0.00001"
      )
  
      assert len(sorensen_coeff_diffs1) == 0
      assert len(sorensen_coeff_diffs2) == 0
  
file_path: cugraph/python/cugraph/cugraph/tests/link_prediction/test_sorensen_mg.py
imports: import gc
  import random
  import pytest
  import cugraph
  import dask_cudf
  import cugraph.dask
  from cugraph.testing import utils
  from cugraph.dask.common.mg_utils import is_single_gpu
  from pylibcugraph.testing import gen_fixture_params_product
label_desc: Use image node_id 4 for calling a global function with example usage: test_dask_mg_sorensen(dask_client, benchmark, input_expected_output) without return types