Repository navigation
RFC: Add Atlas Inference backend for native Windows/Linux ROCm inference via pure Rust #3643
AzeezIsh
started this conversation in
Request for Comment (RFC)
Replies: 3 comments 5 replies
|
I mean it looks good to me and is the first RUST engine we have. It could prove nice to adopt something RUST with high performance. |
2 replies
|
🍋 |
0 replies
|
The AGPL license will be challenging for us, we'd need to put this through AMD legal review. @AzeezIsh in order to help motivate the legal review, can you give me some high-level quantitative claims? Using apples-to-apples numbers, why would someone use Atlas instead of llama.cpp (any backend), Donato's toolboxes, Halogen, and vLLM? Install size? Performance? |
3 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Proposal size
Major feature (spans multiple well-scoped PRs)
Updates
No response
User story
As an AMD user on Windows or Linux, I want to run local models through Lemonade using a native, pure-Rust ROCm backend (atlas-inference, https://github.com/Atlas-Inf/atlas), so that I get maximum inference throughput and deterministic latency without needing WSL2 or bloated Python/PyTorch runtimes.
Today this is painful because running modern LLMs on AMD hardware under native Windows has historically lacked stable, performant runtime support forcing users into WSL2 virtualization, heavy container setups, or runtimes with significant Windows performance and accuracy trade-offs. Running natively as the checkpoint intended, without Vulkan or fancy GGUFs.
High-level design
I propose adding atlas-inference as a first-class inference backend option in Lemonade:
1. The Core Backend (atlas-inf)
• Pure Rust + Direct ROCm/HIP: Built from the ground up in Rust without Python or PyTorch dependencies, talking directly to ROCm user-mode drivers on Windows and Linux.
• Native Windows First: First-class acceleration for AMD RDNA3/3.5 architecture delivering full performance and accuracy natively on Windows without virtualization.
• Speed & Determinism: High TTFT efficiency, low token latency, and reproducible outputs critical for multi-step agentic pipelines.
• External Validation: Backed by published results in MLPerf Inference v6.1 Edge/Agentic https://mlcommons.org/2026/07/mlperf-inference-v61-edge-agentic/ and enterprise testing by StorageReview https://www.storagereview.com, showing competitive parity with NVIDIA baselines.
2. Lemonade Integration Surface
Following Lemonade's standard backend pattern (adding-a-backend.md), integration requires one directory and three appends:
Descriptor (
src/cpp/include/lemon/backends/atlas/atlas.h):• Server Class (
src/cpp/server/backends/atlas/atlas_server.{h,cpp}): Subclasses WrappedServer, orchestrating the lifecycle (load(), unload(), chat_completion()) over a local subprocess or IPC.Wiring & Models:
• One-line append to CMakeLists.txt: LEMON_BACKENDS += "atlas|atlas"
• Version-pinned binary release in
src/cpp/resources/backend_versions.json• Supported model entries in
src/cpp/resources/server_models.jsonBreaking changes
None. This adds an opt-in backend alongside existing providers.
Maintenance plan
Binary Distribution: I can provide pre-built, version-pinned atlas-server binaries for Windows (x86_64) and Linux (x86_64) hosted on public releases.
CI & Testing: Add automated integration tests in CI verifying descriptor registration, BackendModeContractTest compliance, and mock/headless lifecycle testing.
Windows and Linux AMD hardware regression testing maintained by me. I can also maintain the adapter and bump
backend_versions.jsonas new engine optimizations and model architectures are released.Risks
Hardware & Driver Compatibility requires recent AMD ROCm/Adrenalin drivers on host machines. Lemonade will detect driver availability at startup and fall back gracefully with clear setup documentation if requirements are not met.
CC @jeremyfowers @Geramy
All reactions