AMD PACE
High-performance LLM inference and serving on AMD EPYC CPUs. PACE combines a PyTorch C++ extension, CPU-native KV-cache backends, fused operators, and a production-ready serving stack. Check out the GitHub repository for more information.
Highlights
- Inference server -
pace-serverprovides a router/engine serving stack with acontinuous_batchscheduler that combines chunked prefills and decodes, multi-instance NUMA-aware execution, and built-in Prometheus and scheduler metrics. - FusedMoE - BF16 routed and shared Mixture-of-Experts execution with an optimized TPP expert backend.
- Automatic prefix caching -
pace-serverreuses complete prompt-prefix blocks across requests withSLAB_POOLandPAGED. - Broad model support - Llama 3 and text-only Llama 4, Qwen2/2.5/3 (including Qwen3 MoE), Phi3/4, Gemma 3 and text-only Gemma 4, GPT-J, OPT, and GPT-OSS under one operator and backend framework.
- Speculative decoding (PARD) - built-in parallel-draft speculation for greedy decoding.
- PACE Agent - the repository also includes a LangGraph-based runtime for profiling, deterministic replay, and optimization of non-model agent work. See the PACE Agent README.
Requirements
- Linux x86_64 with AVX512F + AVX512_BF16 (AMD Zen4 or newer)
- Python 3.10 – 3.14
Install
# 1. CPU PyTorch (the +cpu build is not on PyPI; needs PyTorch's index).
pip install --extra-index-url https://download.pytorch.org/whl/cpu torch==2.13.0+cpu
# 2. amd-pace
pip install amd-pace
Quick example
Inference server (router + engine, OpenAI-compatible endpoint):
pace-server --server_model meta-llama/Llama-3.1-8B --kv_cache_type SLAB_POOL --serve_type continuous_batch
For offline programmatic generation, pace.llm.LLMModel resolves the tokenizer
and applies default operator backends unless they are explicitly overridden.
See the runnable scripts at
examples/ --
pace_llm_basic.py
is the smallest starting point.
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
AMD PACE is licensed under the MIT License. See the LICENSE file for details. Third-party notices are in NOTICE.
Metadata
Release files for amd-pace 1.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| amd_pace-1.3.0-py3-none-manylinux_2_34_x86_64.whl | Python 3 | none | Linux glibc 2.34+ x86-64 | Details |
Release files / amd_pace-1.3.0-py3-none-manylinux_2_34_x86_64.whl
| Download URL | amd_pace-1.3.0-py3-none-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 23.4 MB |
| Tags | Linux glibc 2.34+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
5a46c4007944b7f26725773bb4d27e3829d4edf56435f249f7c3f9c96d418252
|
|
BLAKE2b-256 checksum How to use checksums |
a60b60252c4d8b7a04aece2528daa0bcf3c772050e3583228f51ea09bd41856e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Security for amd-pace 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.