This repository gives accelerator vendors and community maintainers a shared place to publish, document, and maintain device integrations for LMCache.
LMCache core defines the DeviceSpec and DeviceOps interfaces and discovers installed plugins through Python entry points. This companion repository hosts integrations built against those interfaces; it is not a fork of LMCache, and plugins hosted here are not bundled into the core lmcache package unless explicitly stated.
The repository is at an early stage. We plan to grow shared CI, hardware compatibility testing, contribution templates, and integration documentation over time.
- Install and use a device plugin
- Learn how to add a new device backend
- LMCache documentation
- LMCache core repository
Vendors and community maintainers can contribute in either of two ways:
- Host the implementation here. Contribute the plugin source, packaging metadata, tests, and documentation to this repository.
- Maintain the implementation elsewhere. Keep the source, native build, and release process in a vendor-owned project, then contribute an integration document here that links to the wheel, source, support channel, and compatibility information.
Both models are welcome. In either case, an integration should clearly identify its maintainer, license, supported LMCache and PyTorch versions, supported hardware, installation steps, and validation status.
| Consideration | Maintained in this repository | Maintained in a vendor repository |
|---|---|---|
| Discoverability | Listed with other LMCache integrations in one upstream-maintained location | Discoverability depends on the vendor project; a documentation entry here can provide a common entry point |
| Review and standards | Benefits from shared LMCache community review and future common checks | Uses the vendor's own review, release, and support processes |
| Release cadence | May need to follow shared repository conventions and coordinated compatibility work | Can track the vendor's driver, runtime, and hardware release cadence |
| CI and hardware | Can participate in common CI as the repository adds it; vendor hardware is still needed for authoritative validation | Vendor has full control of specialized hardware, drivers, credentials, and test infrastructure |
| Native packaging | Must fit the repository's shared open-source and packaging conventions | Can use vendor-specific build systems, binary distribution, or package indexes |
| Maintenance responsibility | Shared visibility, with an explicitly identified vendor or community owner | Vendor retains primary responsibility for compatibility, releases, and support |
Choose the model that produces the most reliable integration for users. A documentation-only contribution is encouraged when native components or hardware validation need an independent lifecycle.
Before opening a pull request:
- Read the upstream device backend guide.
- Decide whether the pull request will contain the implementation or an integration document that points to an external project.
- Document supported LMCache, PyTorch, driver, runtime, and hardware versions, plus the responsible maintainer.
- Register the wheel through the
lmcache.device_pluginsentry-point group and document any optional selection variables. - Describe correctness, multi-worker, and performance tests, including access requirements for the target hardware.
Open an issue first when the interface or repository layout needs coordination with LMCache maintainers.
Unless a subproject states otherwise, content in this repository is licensed under the Apache License 2.0. External projects linked from this repository may use their own licenses.