Skip to content

vllm.entrypoints.cli.benchmark.main

BENCHMARK_CMD_MODULES module-attribute

BENCHMARK_CMD_MODULES = [latency, serve, throughput]

BenchmarkSubcommand

Bases: CLISubcommand

The bench subcommand for the vLLM CLI.

Source code in vllm/entrypoints/cli/benchmark/main.py
class BenchmarkSubcommand(CLISubcommand):
    """ The `bench` subcommand for the vLLM CLI. """

    def __init__(self):
        self.name = "bench"
        super().__init__()

    @staticmethod
    def cmd(args: argparse.Namespace) -> None:
        args.dispatch_function(args)

    def validate(self, args: argparse.Namespace) -> None:
        if args.bench_type in self.cmds:
            self.cmds[args.bench_type].validate(args)

    def subparser_init(
            self,
            subparsers: argparse._SubParsersAction) -> FlexibleArgumentParser:
        bench_parser = subparsers.add_parser(
            "bench",
            help="vLLM bench subcommand.",
            description="vLLM bench subcommand.",
            usage="vllm bench <bench_type> [options]")
        bench_subparsers = bench_parser.add_subparsers(required=True,
                                                       dest="bench_type")
        self.cmds = {}
        for cmd_module in BENCHMARK_CMD_MODULES:
            new_cmds = cmd_module.cmd_init()
            for cmd in new_cmds:
                cmd.subparser_init(bench_subparsers).set_defaults(
                    dispatch_function=cmd.cmd)
                self.cmds[cmd.name] = cmd
        return bench_parser

name instance-attribute

name = 'bench'

__init__

__init__()
Source code in vllm/entrypoints/cli/benchmark/main.py
def __init__(self):
    self.name = "bench"
    super().__init__()

cmd staticmethod

cmd(args: Namespace) -> None
Source code in vllm/entrypoints/cli/benchmark/main.py
@staticmethod
def cmd(args: argparse.Namespace) -> None:
    args.dispatch_function(args)

subparser_init

subparser_init(
    subparsers: _SubParsersAction,
) -> FlexibleArgumentParser
Source code in vllm/entrypoints/cli/benchmark/main.py
def subparser_init(
        self,
        subparsers: argparse._SubParsersAction) -> FlexibleArgumentParser:
    bench_parser = subparsers.add_parser(
        "bench",
        help="vLLM bench subcommand.",
        description="vLLM bench subcommand.",
        usage="vllm bench <bench_type> [options]")
    bench_subparsers = bench_parser.add_subparsers(required=True,
                                                   dest="bench_type")
    self.cmds = {}
    for cmd_module in BENCHMARK_CMD_MODULES:
        new_cmds = cmd_module.cmd_init()
        for cmd in new_cmds:
            cmd.subparser_init(bench_subparsers).set_defaults(
                dispatch_function=cmd.cmd)
            self.cmds[cmd.name] = cmd
    return bench_parser

validate

validate(args: Namespace) -> None
Source code in vllm/entrypoints/cli/benchmark/main.py
def validate(self, args: argparse.Namespace) -> None:
    if args.bench_type in self.cmds:
        self.cmds[args.bench_type].validate(args)

cmd_init

cmd_init() -> list[CLISubcommand]
Source code in vllm/entrypoints/cli/benchmark/main.py
def cmd_init() -> list[CLISubcommand]:
    return [BenchmarkSubcommand()]