code: def bench_add_edges_cyber(gpubenchmark, dask_client, N):
      from cugraph.experimental import MGPropertyGraph
  
      # Partition the dataframe to add in chunks
      cyber_df = cyber.get_edgelist()
      chunk = (len(cyber_df) + N - 1) // N
      dfs = [
          dask_cudf.from_cudf(
              cyber_df.iloc[i * chunk : (i + 1) * chunk], npartitions=2
          )
          for i in range(N)
      ]
  
      def func():
          mpG = MGPropertyGraph()
          for df in dfs:
              mpG.add_edge_data(df, ("srcip", "dstip"))
          df = mpG.get_edge_data().compute()
          assert len(df) == len(cyber_df)
  
      gpubenchmark(func)
  
imports: import gc
  import pytest
  import pandas
  import numpy
  import cudf
  import cugraph
  import dask_cudf
  import cupy
  import cugraph.dask
  from cupy.testing import assert_array_equal
  from cudf.testing import assert_frame_equal, assert_series_equal
  from pylibcugraph.testing.utils import gen_fixture_params_product
  from cugraph.dask.common.mg_utils import is_single_gpu
  from cugraph.datasets import cyber, netscience
label_desc: Use image node_id 33 for calling a global function with example usage: bench_add_edges_cyber(gpubenchmark, dask_client, N) without return types