@tduncan / Nvidia-Optimization-Stack-VLLM Mirror · read-only / commits / 6fa718a460
Fork 0

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