Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

vLLM Optimizer

Alpha status: native Linux, real vLLM 0.28, L40/H100, tensor-parallel, and multi-GPU evidence remain hardware validation pending.

vLLM Optimizer is a local-first benchmarking and optimization tool for vLLM serving configurations. Users define the parameters and workloads they care about; the vllm-opt CLI manages the server lifecycle, runs repeatable benchmarks, explores the search space, and reports which configurations performed best.

vLLM Optimizer is alpha software targeting Linux with NVIDIA GPUs and Python 3.11–3.12. Install vllm-optimizer, import vllm_optimizer, and run vllm-opt. The former vtune aliases remain available for one release cycle.

This independent community project is not affiliated with the vLLM project.

Documentation · Quick start · PyPI

The current code is verified with vLLM 0.28.0 and GuideLLM 0.7.3 on WSL2 with an RTX 3080. That host required VLLM_USE_V2_MODEL_RUNNER: "0" because UVA was unavailable and VLLM_USE_FLASHINFER_SAMPLER: "0" because the CUDA compiler toolkit was not installed. Native Linux systems may not require these settings.

Other combinations may work but are not yet verified.

Each new trial stores a typed execution assignment in its trial result and manifest. a5/a6 runs may lack it. Reports show only statistics supplied by the benchmark backend; a7 offline regeneration corrects derived a6 summaries in a new destination without changing the source run.

The published py3-none-any wheel installs on Linux and Windows. Configuration validation and stored-result inspection work on Windows, but starting an experiment is supported only on Linux because vLLM has no native Windows runtime.

Installation

Choose the installation that matches what you want to do:

Goal Command Platform
Run complete experiments pip install "vllm-optimizer[runtime]" Linux/WSL with NVIDIA GPU
Read configs, results, and reports pip install vllm-optimizer Linux, Windows, or macOS

The core package intentionally does not install GPU frameworks. The runtime extra adds vLLM and GuideLLM, which select large PyTorch/CUDA dependencies for the machine. See the installation guide for virtual environments, CUDA guidance, and verification commands.

Quick start

Create and activate a Python 3.11 or 3.12 virtual environment on Linux or WSL, then install the complete experiment runtime:

python3 -m venv .venv
source .venv/bin/activate
python -m pip install "vllm-optimizer[runtime]"
vllm --help
guidellm --help

Create experiment.yaml:

experiment:
  name: first-run
server:
  model: /models/opt-125m
  gpu-memory-utilization: 0.8
tune:
  max-num-seqs:
    values: [8, 16]
benchmark:
  engine: guidellm  # Default. Use vllm for `vllm bench serve`.
  max_failure_percentage: 2  # Accept up to 2% errored or incomplete requests.
  # accept_any_request_failures: true  # Ignore the percentage (one success still required).
  runs:
    - name: throughput
      profile:
        kind: throughput
        max_concurrency: 16
      constraints:
        - kind: max_requests
          count: 10
      data:
        - kind: synthetic_text
          prompt_tokens: 32
          output_tokens: 16
optimization:
  maximize: output_tokens_per_second
  sampler: tpe
  trials: 2
timeouts:
  benchmark: 20m

Run it:

vllm-opt --config experiment.yaml

The short form is vllm-opt -c experiment.yaml. The command validates the file, runs the experiment, persists results, and generates its exports and report. The vllm-opt CLI binds vLLM to 127.0.0.1 by default. Set server.host explicitly only when the benchmark server must be reachable from another host.

Already have a native vllm serve YAML file? Reference it instead of copying its values into experiment.yaml:

server:
  config: ./vllm-config.yaml
  gpu-memory-utilization: 0.9  # Optional CLI override of the native file.

The path is resolved relative to experiment.yaml. The native file must define model; any other server settings, tuned values, and runtime-assigned values are passed on the command line and take precedence over the native file.

LMCache runtime verification was completed on an RTX 3080 with vLLM 0.28.0, LMCache 0.5.5, and Qwen2.5-0.5B-Instruct. Both the native YAML form above, with a nested kv-transfer-config, and the legacy inline JSON form launched successfully, completed two shared-prefix inference requests, stored 160 tokens, and reported a 160-token LMCache hit. The Ubuntu WSL test environment used VLLM_USE_V2_MODEL_RUNNER=0 to work around vLLM's WSL UVA limitation; this setting is not required by the configuration mapping feature.

Fixed vLLM flags go directly under server; tunable flags use top-level tune. Fixed and tunable environment variables use env and tune_env. See the configuration guide for categorical, boolean, integer-range, float-range, list, and environment examples. The complete YAML and benchmark guide show every supported control with copyable examples.

To use vLLM's native benchmark, set benchmark.engine: vllm. Its args map directly to vllm bench serve flags; the vllm-opt CLI supplies the model, server address, and JSON output path:

benchmark:
  engine: vllm
  runs:
    - name: throughput
      args:
        dataset-name: random
        random-input-len: 32
        random-output-len: 16
        num-prompts: 100
        request-rate: inf
        max-concurrency: 16

Interactive terminal output uses color and remains concise by default. Set the standard NO_COLOR environment variable to disable color. To stream server and benchmark logs:

vllm-opt --config experiment.yaml --verbose

The persistent equivalent uses GuideLLM's logging level names:

logging:
  level: DEBUG

Supported levels are DEBUG, INFO, WARNING, ERROR, and CRITICAL. Full per-trial log files are always saved and benchmark logs are flushed while the command runs. Request-limited runs show a live request counter; duration-only runs show an elapsed/limit timer. --verbose also mirrors subprocess output to the terminal and overrides the configured level with DEBUG for that invocation.

Retry one or more selected trials into a new immutable linked run:

vllm-opt retry --run runs/EXPERIMENT/RUN_ID \
  --trial trial-0001 --trial trial-0004

The source run is never modified.

Display every stored vLLM and GuideLLM command for a trial without executing anything:

vllm-opt reproduce --run runs/EXPERIMENT/RUN_ID --trial trial-0001

Each completed run also contains a self-contained report.html decision dashboard with the best observed configuration, per-benchmark elapsed time, average/median/P99 latency, baseline comparison, score history, throughput/latency tradeoff, metric definitions, and observed parameter effects.

Random and TPE runs never execute the same resolved configuration twice. If optimization.trials exceeds the unique search space, the vllm-opt CLI warns and runs every unique configuration once.

Multiple independent trials can run on explicitly assigned, non-overlapping GPU sets and ports. A sequential or tensor-parallel server receives port 8000 unless server.port overrides it; local-parallel trials use their configured port range. Sequential execution remains the default. See parallel trials for the YAML and measurement caveats.

Product documents

The MVP specification defines the first releasable version and its acceptance criteria. The roadmap describes capabilities that should be designed for now but implemented after the core experiment loop is reliable.

vLLM Optimizer is available under the MIT License.

Metadata

Release files for vllm-optimizer 0.1.0a14

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for vllm-optimizer 0.1.0a14
File Size Uploaded Provenance
vllm_optimizer-0.1.0a14.tar.gz 113.1 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for vllm-optimizer 0.1.0a14
File Interpreter ABI Platform
vllm_optimizer-0.1.0a14-py3-none-any.whl Python 3 none any Details

Total release size: 249.7 kB

Release files / vllm_optimizer-0.1.0a14.tar.gz

Download URL vllm_optimizer-0.1.0a14.tar.gz
Size 113.1 kB
Tags Source
SHA-256 checksum
How to use checksums
f5e1352d55c869a216e8b33f0238e049f277c474f7b4770f9a8d618742183576
BLAKE2b-256 checksum
How to use checksums
e65132045b4d20e057b6edf74327a7437da5a85edaf55b4cef29dcd1c42893fd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 13, 2026.

Transparency log

Release files / vllm_optimizer-0.1.0a14-py3-none-any.whl

Download URL vllm_optimizer-0.1.0a14-py3-none-any.whl
Size 136.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d0ee81ca1817b114629c8b821c8f986a418a4ff18af8a93489586833e9cd6920
BLAKE2b-256 checksum
How to use checksums
6c9f4da915be33a067d6a1f7a53dd56fdc03ff43cc2ac11004386ec480287a8f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 13, 2026.

Transparency log

Security for vllm-optimizer 0.1.0a14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for vllm_optimizer-0.1.0a14.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 13, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page