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 from memory into gpu 
          
docstr_tok: ["Pull","whole","graph","from","memory","into","gpu"]
code: def load_graph_into_gpu(self):
      """Pull whole graph from memory into gpu"""
      gpuload_begin = time.time()
      log.info("STAGE [GPU Load] begin load edges from cpu to gpu")
      for i in range(len(self.etype_list)):
          self.graph.upload_batch(
              0, len(get_cuda_places()), self.etype_list[i]
          )
          log.info(
              "STAGE [GPU Load] end load edge into GPU, type["
              + self.etype_list[i]
              + "]"
          )
  
      slot_num = len(self.slots)
      log.info("STAGE [GPU Load] begin load node from cpu to gpu")
      if slot_num > 0:
          self.graph.upload_batch(1, len(get_cuda_places()), slot_num)
      log.info("STAGE [GPU Load] end load node from cpu to gpu")
      gpuload_end = time.time()
      log.info(
          "STAGE [GPU LOAD] finished, time cost: %f sec",
          gpuload_end - gpuload_begin,
      )
  
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 12 for calling the DistGraph obj's underlying member method code with example usage: obj.load_graph_into_gpu() without return types