A high-throughput and memory-efficient inference and serving engine for LLMs
Mirrored from https://github.com/tduncan-lum/Nvidia-Optimization-Stack---VLLM.git
Synced Nov 15, 06:00 UTC
[Misc] Modularize CLI Argument Parsing in Benchmark Scripts (#19593)
Signed-off-by: reidliu41 <reid201711@gmail.com> Co-authored-by: reidliu41 <reid201711@gmail.com>
Reid committed
Jun 14, 2025 at 16:54 UTC
6fa718a46007ae97e98a5bb3bcfb506748a2473e
7 files changed
+47
-8
benchmarks/benchmark_latency.py
+7
-1
@@ -123,7 +123,7 @@ def main(args: argparse.Namespace):
123
save_to_pytorch_benchmark_format(args, results)
124
125
126
-if __name__ == "__main__":
126
+def create_argument_parser():
127
parser = FlexibleArgumentParser(
128
description="Benchmark the latency of processing a single batch of "
129
"requests till completion."
@@ -171,6 +171,12 @@ if __name__ == "__main__":
171
# V1 enables prefix caching by default which skews the latency
172
# numbers. We need to disable prefix caching by default.
173
parser.set_defaults(enable_prefix_caching=False)
174
+
175
+ return parser
176
+
177
+
178
+if __name__ == "__main__":
179
+ parser = create_argument_parser()
180
args = parser.parse_args()
181
if args.profile and not envs.VLLM_TORCH_PROFILER_DIR:
182
raise OSError(
benchmarks/benchmark_long_document_qa_throughput.py
+7
-1
@@ -142,7 +142,7 @@ def main(args):
142
)
143
144
145
-if __name__ == "__main__":
145
+def create_argument_parser():
146
parser = FlexibleArgumentParser(
147
description="Benchmark the performance with or "
148
"without automatic prefix caching."
@@ -192,5 +192,11 @@ if __name__ == "__main__":
192
)
193
194
parser = EngineArgs.add_cli_args(parser)
195
+
196
+ return parser
197
+
198
+
199
+if __name__ == "__main__":
200
+ parser = create_argument_parser()
201
args = parser.parse_args()
202
main(args)
benchmarks/benchmark_prefix_caching.py
+7
-1
@@ -218,7 +218,7 @@ def main(args):
218
)
219
220
221
-if __name__ == "__main__":
221
+def create_argument_parser():
222
parser = FlexibleArgumentParser(
223
description="Benchmark the performance with or without "
224
"automatic prefix caching."
@@ -268,5 +268,11 @@ if __name__ == "__main__":
268
)
269
270
parser = EngineArgs.add_cli_args(parser)
271
+
272
+ return parser
273
+
274
+
275
+if __name__ == "__main__":
276
+ parser = create_argument_parser()
277
args = parser.parse_args()
278
main(args)
benchmarks/benchmark_prioritization.py
+7
-1
@@ -161,7 +161,7 @@ def main(args: argparse.Namespace):
161
json.dump(results, f, indent=4)
162
163
164
-if __name__ == "__main__":
164
+def create_argument_parser():
165
parser = FlexibleArgumentParser(description="Benchmark the throughput.")
166
parser.add_argument(
167
"--backend", type=str, choices=["vllm", "hf", "mii"], default="vllm"
@@ -204,6 +204,12 @@ if __name__ == "__main__":
204
)
205
206
parser = EngineArgs.add_cli_args(parser)
207
+
208
+ return parser
209
+
210
+
211
+if __name__ == "__main__":
212
+ parser = create_argument_parser()
213
args = parser.parse_args()
214
if args.tokenizer is None:
215
args.tokenizer = args.model
benchmarks/benchmark_serving.py
+6
-2
@@ -875,7 +875,7 @@ def main(args: argparse.Namespace):
875
save_to_pytorch_benchmark_format(args, result_json, file_name)
876
877
878
-if __name__ == "__main__":
878
+def create_argument_parser():
879
parser = FlexibleArgumentParser(
880
description="Benchmark the online serving throughput."
881
)
@@ -1225,6 +1225,10 @@ if __name__ == "__main__":
1225
"script chooses a LoRA module at random.",
1226
)
1227
1228
- args = parser.parse_args()
1228
+ return parser
1229
+
1230
1231
+if __name__ == "__main__":
1232
+ parser = create_argument_parser()
1233
+ args = parser.parse_args()
1234
main(args)
benchmarks/benchmark_serving_structured_output.py
+6
-1
@@ -850,7 +850,7 @@ def main(args: argparse.Namespace):
850
json.dump(results, outfile, indent=4)
851
852
853
-if __name__ == "__main__":
853
+def create_argument_parser():
854
parser = FlexibleArgumentParser(
855
description="Benchmark the online serving throughput."
856
)
@@ -1034,5 +1034,10 @@ if __name__ == "__main__":
1034
help="Ratio of Structured Outputs requests",
1035
)
1036
1037
+ return parser
1038
+
1039
+
1040
+if __name__ == "__main__":
1041
+ parser = create_argument_parser()
1042
args = parser.parse_args()
1043
main(args)
benchmarks/benchmark_throughput.py
+7
-1
@@ -595,7 +595,7 @@ def validate_args(args):
595
)
596
597
598
-if __name__ == "__main__":
598
+def create_argument_parser():
599
parser = FlexibleArgumentParser(description="Benchmark the throughput.")
600
parser.add_argument(
601
"--backend",
@@ -717,6 +717,12 @@ if __name__ == "__main__":
717
)
718
719
parser = AsyncEngineArgs.add_cli_args(parser)
720
+
721
+ return parser
722
+
723
+
724
+if __name__ == "__main__":
725
+ parser = create_argument_parser()
726
args = parser.parse_args()
727
if args.tokenizer is None:
728
args.tokenizer = args.model