推理、部署与运行时

memra

avifenesh/memra

一个从零开始使用 Rust 和 CUDA 构建的 LLM 推理引擎,专门针对 RTX 5090 (sm_120a) 和 H100 (sm_90a) 架构进行优化,在不依赖 ggml 等框架的情况下提供精确性约束的性能。

★ 312星级
⑂ 35Fork 数
0未解决的问题
Rust语言
MIT许可证
Q@project.QualityScore编辑评分

项目截图

memra 的截图 memra 的截图 memra 的截图 memra 的截图 memra 的截图 memra 的截图

概览

memra 是一个从零开始用 Rust 和 CUDA 编写的高性能 LLM 推理引擎。它针对两种特定的 GPU 架构——NVIDIA RTX 50 系列 Blackwell (sm_120a) 和 H100 Hopper (sm_90a)——在构建时进行自动检测。该引擎的显著特点在于严格的精确性约束:推测性和图重放的输出保证与普通解码在 token 级别完全一致,并且在并发负载下贪婪服务是隔离一致的,确保速度和批处理不会改变模型输出。它具有根据测量的硬件极限调优的手写内核,并包含针对 llama.cpp 和 vLLM 的全面单模型性能基准测试。

主要功能

  • 从零开始构建的 Rust + CUDA 引擎,无 ggml 依赖
  • 针对 RTX 5090 (sm_120a) 和 H100 (sm_90a) 的自动检测双架构支持
  • 严格的精确性约束推理,确保 token 级别的输出一致
  • 具有自适应草稿深度和置信度截断的 MTP 推测解码
  • 通过常驻专家机制和 AUTO-KQUANT 在 24GB 显存上运行 MoE
  • Hopper wgmma/TMA 内核和 FA3 级别的预填充注意力
  • 具有最少主机流量的 CUDA 图解码
  • 兼容 OpenAI 的服务器,支持批量解码和跨请求预填充批处理
  • m 不变的预填充路由器,确保隔离一致的并发服务

要求、安装和快速入门

GitHub 发布页面提供了预构建的 Linux x86_64 二进制文件 (sm_120a)。要从源代码构建,请使用 `cargo build --release`。构建过程会探测 GPU 的计算能力并自动选择架构;可以使用 `MEMRA_CUDA_ARCH` 进行覆盖。在启动时,引擎会验证二进制文件是否与设备匹配,如果不匹配则会提前失败并提示重新构建(设置 `MEMRA_ARCH_CHECK=0` 可绕过此检查)。

用法

运行 `./target/release/kernel-check` 以根据 CPU 参考验证每个内核(必须以 `ALL GREEN` 结束)。对于生成任务,使用 `MEMRA_CHAT=1 ./target/release/run-gen /path/to/model.gguf --prompt "Explain KV caches."`。对于推测解码,使用 `MEMRA_SPEC_K=3 ./target/release/run-spec /path/to/model.gguf`。要从 Hugging Face 自动下载并运行,使用 `./target/release/run-gen hf:owner/repo:Q4_K_M --prompt "hi"`。要启动兼容 OpenAI 的服务器,运行 `./target/release/memra-server`。

模型兼容性与使用场景

支持的模型包括 Qwen3.5-9B、Qwen3.6-27B、Qwen3.6-35B-A3B MoE、Gemma-4 12B、Gemma-4 26B-A4B MoE、Gemma-4 31B、Gemma-4 E4B、Ornith-1.0-9B 和 Ornith-1.0-35B。支持 Hy3 Layer103.5 但仍在调优中。KAT-Coder-V2.5 和 Qwen-AgentWorld-35B-A3B 正在引入中。MiniMax-M3 REAP50 正在进行中。

许可证与风险说明

仓库元数据显示许可证为 MIT。发布或商用前,请核对仓库中的 LICENSE 文件、版权声明及依赖项许可条款。

Editorial verification 2026-08-02: repository URL, owner, description, license and repository statistics were reviewed. License metadata: MIT. README was fetched for the channel draft; re-check repository dependencies, releases and model terms before production use.

发布与维护

Not stated in the repository metadata

OpenVINO

openvinotoolkit/openvino

★ 10.6KC++

GPUStack

gpustack/gpustack

★ 5.4KPython