code: def main(args):
      print(
          f"Running dgl dataloading benchmark with the following parameters:\n"
          f"Dataset path = {args.dataset_path}\n"
          f"Replication factors = {args.replication_factors}\n"
          f"Fanouts = {args.fanouts}\n"
          f"Batch sizes = {args.batch_sizes}\n"
          f"Use UVA = {args.use_uva}\n"
          f"{'=' * 30}"
      )
  
      time_ls = []
      for replication_factor in args.replication_factors:
          start_time = time.time()
          g, label_data, feat_data = create_dgl_graph_from_disk(
              args.dataset_path, replication_factor
          )
          elapsed_time = time.time() - start_time
  
          print(
              f"Replication factor = {replication_factor}\n"
              f"G has {g.num_edges():,} edges and took {elapsed_time:.2f} seconds to load",
              flush=True,
          )
  
          train_idx = {"paper": label_data["paper"]["train_idx"]}
          y = label_data["paper"]["y"]
          r_time_ls = e2e_benchmark(
              g,
              feat_data,
              y,
              train_idx,
              args.fanouts,
              args.batch_sizes,
              use_uva=args.use_uva,
          )
          [
              x.update({"replication_factor": replication_factor})
              for x in r_time_ls
          ]
          [x.update({"num_edges": g.num_edges()}) for x in r_time_ls]
          time_ls.extend(r_time_ls)
  
          print(
              f"Benchmark completed for replication factor = {replication_factor}\n{'=' * 30}",
              flush=True,
          )
  
      df = pd.DataFrame(time_ls)
      df.to_csv("dgl_e2e_benchmark.csv", index=False)
      print(
          f"Benchmark completed for all replication factors\n{'=' * 30}",
          flush=True,
      )
  
file_path: cugraph/benchmarks/cugraph-dgl/scale-benchmarks/dgl_benchmark.py
imports: import json
  import os
  import time
  import dgl
  from dgl.dataloading import MultiLayerNeighborSampler, DataLoader
  import pandas
  import torch
  from model import run_1_epoch
  from argparse import ArgumentParser
  from load_graph_feats import load_edges_from_disk, load_node_labels, load_node_features
label_desc: Use image node_id 3 for calling a global function with example usage: main(args) without return types