class_docstr: Initialize the Distributed Graph Server
  
  Args:
      root_dir: the graph data dir 
  
      node_types: the node type configs
  
      edge_types: the edge type configs.
  
      symmetry: whether the edges are symmetry
  
      slots: the node feature slot 
  
      token_slot: for erniesage token slot input
  
      slot_num_for_pull_feature: total slot feature number we should pull
  
      num_parts: the sharded parts of graph data
  
      metapath_split_opt: whether use metapath split optimization
docstr: Pull whole graph edges from disk into cpu memory, then load into gpu.
  After that, release memory on cpu.
docstr_tok: ["Pull","whole","graph","edges","from","disk","into","cpu","memory",",","then","load","into","gpu",".","After","that",",","release","memory","on","cpu","."]
code: def load_edge(self):
      """Pull whole graph edges from disk into cpu memory, then load into gpu.
      After that, release memory on cpu.
      """
      if self.metapath_split_opt:
          return self.load_edge_serial()
  
      load_begin_time = time.time()
      self.graph.load_edge_file(
          self.edge_types,
          self.root_dir,
          self.num_parts,
          self.reverse,
          [],
          self.use_weight,
      )
      load_end_time = time.time()
      log.info(
          "STAGE [CPU LOAD EDGE] finished, time cost: %f sec"
          % (load_end_time - load_begin_time)
      )
  
      load_begin_time = time.time()
      for i in range(len(self.etype_list)):
          log.info(
              "begin to upload edge_type: [%s] to GPU"
              % self.etype_list[i]
          )
          self.graph.upload_batch(
              0, len(get_cuda_places()), self.etype_list[i]
          )
      load_end_time = time.time()
      log.info(
          "STAGE [GPU LOAD EDGE] finished, time cost: %f sec"
          % (load_end_time - load_begin_time)
      )
  
      release_begin_time = time.time()
      self.graph.release_graph_edge()
      release_end_time = time.time()
      log.info(
          "STAGE [CPU RELEASE EDGE] finished, time cost: %f sec"
          % (release_end_time - release_begin_time)
      )
  
imports: import sys
  import time
  from paddle.fluid.core import GraphGpuWrapper
  from pgl.utils.logger import log
  import helper
  import util
  from place import get_cuda_places
label_desc: Use image node_id 4 for calling the DistGraph obj's underlying member method code with example usage: obj.load_edge() and returns: self