code: def parse_args():
      parser = argparse.ArgumentParser()
  
      parser.add_argument(
          "--gpus_per_node",
          type=int,
          default=8,
          help="# GPUs per node",
          required=False,
      )
  
      parser.add_argument(
          "--num_epochs",
          type=int,
          default=1,
          help="Number of training epochs",
          required=False,
      )
  
      parser.add_argument(
          "--batch_size",
          type=int,
          default=512,
          help="Batch size",
          required=False,
      )
  
      parser.add_argument(
          "--fanout",
          type=str,
          default="10_10_10",
          help="Fanout",
          required=False,
      )
  
      parser.add_argument(
          "--sample_dir",
          type=str,
          help="Directory with stored bulk samples (required for cuGraph run)",
          required=False,
      )
  
      parser.add_argument(
          "--output_file",
          type=str,
          help="File to store results",
          required=True,
      )
  
      parser.add_argument(
          "--framework",
          type=str,
          help="The framework to test (PyG, cuGraphPyG)",
          required=True,
      )
  
      parser.add_argument(
          "--model",
          type=str,
          default="GraphSAGE",
          help="The model to use (currently only GraphSAGE supported)",
          required=False,
      )
  
      parser.add_argument(
          "--replication_factor",
          type=int,
          default=1,
          help="The replication factor for the dataset",
          required=False,
      )
  
      parser.add_argument(
          "--dataset_dir",
          type=str,
          help="The directory where datasets are stored",
          required=True,
      )
  
      parser.add_argument(
          "--train_split",
          type=float,
          help="The percentage of the labeled data to use for training.  The remainder is used for testing/validation.",
          default=0.8,
          required=False,
      )
  
      parser.add_argument(
          "--val_split",
          type=float,
          help="The percentage of the testing/validation data to allocate for validation.",
          default=0.5,
          required=False,
      )
  
      return parser.parse_args()
  
file_path: cugraph/benchmarks/cugraph/standalone/bulk_sampling/bench_cugraph_training.py
imports: import os
  import argparse
  import json
  import warnings
  import torch
  import numpy
  import pandas
  import torch.distributed
  from datasets import OGBNPapers100MDataset
  from cugraph.testing.mg_utils import enable_spilling
label_desc: Use image node_id 2 for calling a global function with example usage: parse_args() and returns: parser