code: def get_uniform_neighbor_sample_args(
      G, num_verts, seed, batch_size, fanout, with_replacement
  ):
      """
      Return a dictionary containing the args for uniform_neighbor_sample based
      on the graph and desired args passed in. For example, if a large start list
      and small fanout list is desired, a "large" (based on graph size) list of
      valid vert IDs for the graph passed in and a "small" list of fanout values
      will be returned.
  
      The dictionary return value allows for easily supporting other args without
      having to maintain an order of values in a return tuple, for example.
      """
      if with_replacement not in [True, False]:
          raise ValueError(f"got unexpected value {with_replacement=}")
  
      # start_list is a random sampling of the src verts.
      # Dask series only support the frac arg for getting n samples.
      num_start_verts = batch_size
      srcs = G.edgelist.edgelist_df["src"]
      frac = num_start_verts / num_verts
      start_list = srcs.sample(frac=frac, random_state=seed)
  
      # Attempt to automatically handle a dask Series
      if hasattr(start_list, "compute"):
          start_list = start_list.compute()
  
      # frac does not guarantee exactly num_start_verts, so ensure only
      # num_start_verts are returned
      start_list = start_list[:num_start_verts]
      assert len(start_list) == num_start_verts
      start_list = start_list.to_numpy().tolist()
  
      return {
          "start_list": start_list,
          "fanout": fanout,
          "with_replacement": with_replacement,
      }
  
file_path: cugraph/benchmarks/cugraph/pytest-based/bench_cugraph_uniform_neighbor_sample.py
imports: import os
  import pytest
  import numpy
  import cupy
  from cugraph.testing.mg_utils import start_dask_client, stop_dask_client
  import cudf
  import dask_cudf
  import rmm
  from cugraph import MultiGraph, uniform_neighbor_sample
  from cugraph.generators import rmat
  from cugraph.experimental import datasets
  from cugraph.dask import uniform_neighbor_sample
  from cugraph_benchmarking import params
  from cugraph_benchmarking.timer import TimerContext
label_desc: Use image node_id 3 for calling a global function with example usage: get_uniform_neighbor_sample_args(G, num_verts, seed, batch_size, fanout, with_replacement) and returns: dict