def METHOD_NAME(parser, start_program, main_program, test_program, 
               model, graph, label, split_idx, exe, run_id, wf=None):
    #build up training program
    exe.run(start_program)
    max_acc=0  # best test_acc
    max_step=0 # step for best test_acc 
    max_val_acc=0 # best val_acc
    max_cor_acc=0 # test_acc for best val_acc
    max_cor_step=0 # step for best val_acc
    #training loop
    for epoch_id in tqdm(range(parser.epochs)):
        #start training  
        if parser.use_label_e:
            feed_dict=model.gw.to_feed(graph)