1+ #! /bin/bash
2+ # Wrapper script to run the components of ParEval.
3+ # It can be run as:
4+ # pareval <command> [options]
5+ #
6+ # Commands:
7+ # generate - Generate LLM outputs for ParEval. See generate/generate.py for full argument list.
8+ # evaluate - Evaluate LLM outputs for ParEval. See evaluate/evaluate.py for full argument list.
9+ # help | -h | --help - Show a help message.
10+ # version | -v | --version - Show the version of ParEval.
11+
12+ VERSION=" v1.1"
13+
14+ if [[ " $# " -eq 0 ]]; then
15+ echo " No command provided. Use 'pareval help' for usage information."
16+ exit 1
17+ fi
18+
19+ command=" $1 "
20+ shift
21+
22+ MODE=" "
23+ case " $command " in
24+ generate)
25+ MODE=" generate"
26+ ;;
27+ evaluate)
28+ MODE=" evaluate"
29+ ;;
30+ help | -h | --help)
31+ echo " ParEval - A framework for evaluating LLMs on parallel code generation tasks."
32+ echo " Usage: pareval <command> [options]"
33+ echo " "
34+ echo " Commands:"
35+ echo " generate Generate LLM outputs for ParEval. See generate/generate.py for full argument list."
36+ echo " evaluate Evaluate LLM outputs for ParEval. See evaluate/evaluate.py for full argument list."
37+ echo " help Show this help message."
38+ echo " -h, --help Show this help message."
39+ echo " version Show the version of ParEval."
40+ echo " -v, --version Show the version of ParEval."
41+ echo " "
42+ echo " For detailed usage of each command, run 'pareval <command> --help'."
43+ echo " "
44+ echo " For more information, visit the ParEval GitHub repository: https://github.com/parallelcodefoundry/ParEval"
45+ echo " "
46+ exit 0
47+ ;;
48+ version | -v | --version)
49+ echo " ParEval version: $VERSION "
50+ exit 0
51+ ;;
52+ * )
53+ echo " Unknown command: $command . Use 'pareval help' for usage information."
54+ exit 1
55+ ;;
56+ esac
57+
58+ # check that mode is valid
59+ if [[ " $MODE " != " generate" && " $MODE " != " evaluate" ]]; then
60+ echo " Invalid mode: $MODE . Use 'pareval help' for usage information."
61+ exit 1
62+ fi
63+
64+ # generate mode
65+ if [[ " $MODE " == " generate" ]]; then
66+ # Check if the generate script exists
67+ if [[ ! -f " generate/generate.py" ]]; then
68+ echo " Error: generate script not found. Please ensure you are in the correct directory."
69+ exit 1
70+ fi
71+
72+ python generate/generate.py " $@ "
73+ fi
74+
75+ # evaluate mode
76+ if [[ " $MODE " == " evaluate" ]]; then
77+ # Check if the evaluate script exists
78+ if [[ ! -f " drivers/run-all.py" ]]; then
79+ echo " Error: evaluate script not found. Please ensure you are in the correct directory."
80+ exit 1
81+ fi
82+
83+ python3 drivers/run-all.py " $@ "
84+ fi
0 commit comments