code: def replicate_cudf_dataframe(cudf_dataframe):
      """
      Replicate dataframe across all GPUs
  
      Parameters
      ----------
  
      cudf_dataframe: cudf.DataFrame or dask_cudf.DataFrame
  
      Returns
      -------
      df : dask_cudf.DataFrame
          A distributed dataframe where each partition contains the
          combined dataframe from all GPUs. If a cudf.DataFrame was passed
          as input, the dataframe will be replicated across all the other
          GPUs in the cluster. If as dask_cudf.DataFrame was passed as input,
          each partition will be filled with the datafame of all partitions
          in the dask_cudf.DataFrame.
  
      """
  
      supported_types = [np.int32, np.int64, np.float32, np.float64]
      if not all(
          dtype in supported_types for dtype in cudf_dataframe.dtypes
      ):
          raise TypeError(
              "The supported types are 'int32', 'int64', 'float32', 'float64'"
          )
  
      _client = default_client()
  
      if not isinstance(cudf_dataframe, dask_cudf.DataFrame):
          if isinstance(cudf_dataframe, cudf.DataFrame):
              df = dask_cudf.from_cudf(
                  cudf_dataframe, npartitions=len(Comms.get_workers())
              )
          elif not isinstance(cudf_dataframe, dask_cudf.DataFrame):
              raise TypeError(
                  "The variable 'cudf_dataframe' must be of type "
                  f"'cudf/dask_cudf.dataframe', got type {type(cudf_dataframe)}"
              )
      else:
          df = cudf_dataframe
  
      df = persist_dask_df_equal_parts_per_worker(df, _client)
      df = get_persisted_df_worker_map(df, _client)
  
      ddf = _mg_call_plc_replicate(
          _client,
          Comms.get_session_id(),
          df,
          "dataframe",
      )
  
      return ddf
  
file_path: cugraph/python/cugraph/cugraph/structure/replicate_edgelist.py
imports: import dask_cudf
  import cudf
  from dask.distributed import wait, default_client
  import numpy
  from pylibcugraph import ResourceHandle, replicate_edgelist
  from cugraph.dask.common.part_utils import get_persisted_df_worker_map, persist_dask_df_equal_parts_per_worker
  import dask
  import cupy
  import cugraph.dask.comms.comms
  from typing import Union, Tuple
label_desc: Use image node_id 7 for calling a global function with example usage: replicate_cudf_dataframe(cudf_dataframe) and returns: ddf