Skip to main content

pace-vllm

vLLM platform plugin for AMD PACE. Once installed, vLLM auto-discovers it and routes its CPU worker through PACE's attention, SlabPool KV cache, Linear/RMSNorm, and eligible unquantized MoE implementations, with no changes to your vLLM scripts. Check out the GitHub repository for more information.

The PACE vLLM plugin brings PACE's CPU optimizations to vLLM with no application code changes. It supports PACE's fused MLP and FusedMoE paths, plus SlabPool prefix-cache integration.

What it does

pace-vllm registers PACE as a vLLM CPU platform via the vllm.platform_plugins entry point. The plugin replaces vLLM's stock CPU worker, attention backend, KV cache, and Linear/RMSNorm layers with PACE equivalents; in compile mode it also installs a post-grad pattern matcher that fuses gated/ungated MLP blocks into a single libxsmm call.

Highlights

  • Drop-in plugin - no changes to your vLLM serve script; the vllm.platform_plugins entry point is discovered automatically.
  • SlabPool KV cache - one slab per attention layer, owned by PACE, with sliding-window and sink-attention support.
  • Fused MLP pass - gated SwiGLU/GeGLU and ungated fc1->act->fc2 MLPs (silu / gelu-tanh / gelu-exact / relu) are rewritten into a single pace::libxsmm_fused_mlp call under compile mode.
  • FusedMoE - eligible gated, unquantized BF16 layers use PACE's TPP expert engine; unsupported shapes and non-gated layers fall back to vLLM's CPU path.
  • Prefix caching - complete prefix blocks are retained through PACE's SlabPool connector while at least one prompt token is recomputed, subject to the compatibility limits in the internals guide.

Requirements

  • Linux x86_64 with AVX512F + AVX512_BF16 (AMD Zen4 / EPYC 5th Gen or newer)
  • Python 3.10 – 3.14
  • vLLM 0.25.x – 0.28.0 (CPU build)

Install

# 1. vLLM CPU build (pace-vllm is a plugin; it no-ops without vllm).
pip install https://github.com/vllm-project/vllm/releases/download/v0.28.0/vllm-0.28.0+cpu-cp38-abi3-manylinux_2_34_x86_64.whl --extra-index-url https://download.pytorch.org/whl/cpu

# 2. pace-vllm
pip install pace-vllm

Quick example

CLI (vLLM auto-discovers the plugin):

vllm serve meta-llama/Llama-3.1-8B

Python:

from vllm import LLM, SamplingParams


def main() -> None:
    llm = LLM(model="meta-llama/Llama-3.1-8B", dtype="bfloat16")
    out = llm.generate(["The capital of France is"], SamplingParams(max_tokens=8))
    print(out[0].outputs[0].text)


if __name__ == "__main__":
    main()

The if __name__ == "__main__": guard is required: vLLM v1's engine spawns a subprocess for the worker, and without the guard the subprocess re-imports the script and recursively spawns until the OS refuses.

Support

We welcome feedback, suggestions, and bug reports. Should you have any of these, please kindly file an issue on the PACE GitHub page here.

License

pace-vllm is licensed under the MIT License. See the LICENSE file for details. Third-party notices are in NOTICE.

Metadata

Release files for pace-vllm 1.3.0

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

Built distribution (wheel)

Table of built distributions (wheels) for pace-vllm 1.3.0
File Interpreter ABI Platform Actions
pace_vllm-1.3.0-py3-none-manylinux_2_34_x86_64.whl Python 3 none Linux glibc 2.34+ x86-64 Details for pace_vllm-1.3.0-py3-none-manylinux_2_34_x86_64.whl

Release files / pace_vllm-1.3.0-py3-none-manylinux_2_34_x86_64.whl

Download URL pace_vllm-1.3.0-py3-none-manylinux_2_34_x86_64.whl
Size 23.1 MB
Tags Linux glibc 2.34+ x86-64 Python 3
SHA-256 checksum
How to use checksums
2d90ffbaa5084d8213fd7678fb3dabdcaaa7e6783b80611006605d4bdcb06c38
BLAKE2b-256 checksum
How to use checksums
084d12439713ef95e0f1b1acc4526d4b40c9f41ae324622688d3e7bf2676a6e5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Security for pace-vllm 1.3.0

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

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.

Release history Release notifications | RSS feed

This release

1.3.0 This release

1 release file No provenance

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