docstr: Return a directed representation of the graph.
  
  Returns
  -------
  G : Graph(directed=True)
      A directed graph with the same nodes, and each edge (u,v,weights)
      replaced by two directed edges (u,v,weights) and (v,u,weights).
  
  Examples
  --------
  >>> M = dask_cudf.read_csv(datasets_path / 'karate.csv', delimiter=' ',
  ...                   dtype=['int32', 'int32', 'float32'], header=None)
  >>> G = cugraph.Graph()
  >>> G.from_dask_cudf_edgelist(M, '0', '1')
  >>> DiG = G.to_directed()
docstr_tok: ["Return","a","directed","representation","of","the","graph",".","Returns","--","--","--","-","G",":","Graph","(","directed=True",")","A","directed","graph","with","the","same","nodes",",","and","each","edge","(","u",",","v",",","weights",")","replaced","by","two","directed","edges","(","u",",","v",",","weights",")","and","(","v",",","u",",","weights",")",".","Examples","--","--","--","--",">",">",">","M","=","dask_cudf.read_csv","(","datasets_path","\/","'karate.csv","'",",","delimiter=","'","'",",","...","dtype=","[","'int32","'",",","'int32","'",",","'float32","'","]",",","header=None",")",">",">",">","G","=","cugraph.Graph","(",")",">",">",">","G.from_dask_cudf_edgelist","(","M",",","'","0","'",",","'","1","'",")",">",">",">","DiG","=","G.to_directed","(",")"]
code: def to_directed(self, G):
      """
      Return a directed representation of the graph.
  
      Returns
      -------
      G : Graph(directed=True)
          A directed graph with the same nodes, and each edge (u,v,weights)
          replaced by two directed edges (u,v,weights) and (v,u,weights).
  
      Examples
      --------
      >>> M = dask_cudf.read_csv(datasets_path / 'karate.csv', delimiter=' ',
      ...                   dtype=['int32', 'int32', 'float32'], header=None)
      >>> G = cugraph.Graph()
      >>> G.from_dask_cudf_edgelist(M, '0', '1')
      >>> DiG = G.to_directed()
  
      """
      # TODO: Add support
      raise NotImplementedError("Not supported for distributed graph")
  
imports: import gc
  from typing import Union
  import warnings
  import cudf
  import cupy
  import dask
  import dask_cudf
  from dask import delayed
  from dask.distributed import wait, default_client
  import numpy
  from pylibcugraph import MGGraph, ResourceHandle, GraphProperties, get_two_hop_neighbors, select_random_vertices
  from cugraph.structure import graph_primtypes_wrapper
  from cugraph.structure.graph_primtypes_wrapper import Direction
  from cugraph.structure.number_map import NumberMap
  from cugraph.structure.symmetrize import symmetrize
  from cugraph.dask.common.part_utils import get_persisted_df_worker_map, persist_dask_df_equal_parts_per_worker
  from cugraph.dask.common.mg_utils import run_gc_on_dask_cluster
  from cugraph.dask import get_n_workers
  import cugraph.dask.comms.comms
label_desc: Use image node_id 18 for calling the simpleDistributedGraphImpl obj's underlying member method code with example usage: obj.to_directed(G) without return types