
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-10-25 · 当前星标 ★ 1328
使用教程
ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。
环境要求
- Linux 环境下的 C++ 构建工具链(meson、ninja、编译器)
- uv(即使已有其他 Python 虚拟环境管理器也必须安装)
- tomlkit Python 包
- PyTorch(按官网说明安装对应版本)
- CUDA 12 或 CUDA 13 环境(用于编译对应平台的 nixl-cu12 / nixl-cu13 包)
安装与启动步骤
-
1克隆仓库
从 GitHub 拉取 NIXL 源码,后续所有构建命令都在仓库根目录执行。
git clone https://github.com/ai-dynamo/nixl.git cd nixl -
2安装 uv 与依赖
先装 uv 并加入 PATH,再创建 Python 3.12 虚拟环境并安装 tomlkit。
curl -LsSf https://astral.sh/uv/install.sh | sh export PATH="$HOME/.local/bin:${PATH}" uv venv .venv --python 3.12 source .venv/bin/activate uv pip install tomlkit -
3安装 PyTorch
按 PyTorch 官网给出的本地安装方式装好与本机 CUDA 匹配的 PyTorch,README 未固定版本。
-
4构建安装主库
用 meson 配置构建目录,ninja 编译并将 NIXL 二进制安装到系统前缀。
pip install . meson setup build ninja -C build install -
5装 CUDA 平台包
CUDA 12 直接走默认流程;CUDA 13 需先用 tomlutil 把 wheel 名改为 nixl-cu13。
pip install build/src/bindings/python/nixl-meta/nixl-*-py3-none-any.whl -
6验证导入
创建 nixl_agent 实例,看是否打印 UCX 后端实例化与 agent 初始化日志。
python3 -c "import nixl; agent = nixl.nixl_agent('agent1')" -
7跑两节点示例
先起 target 进程再起 initiator 进程,本地回环地址 127.0.0.1 端口 4242 传数据。
python3 examples/python/expanded_two_peers.py --mode=target --use_cuda=true --ip=127.0.0.1 --port=4242 & sleep 5 python3 examples/python/expanded_two_peers.py --mode=initiator --use_cuda=true --ip=127.0.0.1 --port=4242 -
8构建容器镜像
可选:在仓库根目录构建预装 Python 绑定的镜像,默认 Ubuntu 24.04。
./contrib/build-container.sh
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
--wheel-name | 否 | 通过 tomlutil 修改 pyproject.toml 中的 wheel 名,CUDA 13 需设为 nixl-cu13 | nixl-cu13 |
--os | 否 | build-container.sh 的选项,用于指定容器基础系统版本 | ubuntu22 |
--etcd-endpoints | 否 | nixlbench 使用的 ETCD 元数据交换服务地址 | http://localhost:2379 |
--backend | 否 | nixlbench 指定传输后端 | UCX |
--initiator_seg_type | 否 | nixlbench 发起端使用的内存段类型,示例为显存 | VRAM |
如何确认成功
执行 python3 -c "import nixl; agent = nixl.nixl_agent('agent1')" 后输出 Backend UCX was instantiated 与 Initialized NIXL agent
常见问题
Q:可以使用系统 Python 或 virtualenv 吗?
A:可以。README 给出 virtualenv 和系统级 Python 两种示例,但无论哪种都必须先安装 uv,系统级方式则直接 pip install tomlkit。
Q:CUDA 13 与 CUDA 12 安装差别在哪?
A:CUDA 13 需在 meson setup 之前执行 ./contrib/tomlutil.py --wheel-name nixl-cu13 pyproject.toml,其余构建与安装步骤一致。
Q:ETCD 示例运行前要准备什么?
A:先启动一个 ETCD 服务,例如 docker run -d -p 2379:2379 quay.io/coreos/etcd:v3.5.1,再让两个 agent 通过该地址交换元数据。
Q:构建容器时有什么前提?
A:需先克隆仓库,并确认当前机器可以正常拉取容器镜像,然后在仓库根目录执行 contrib/build-container.sh。
注意事项
- README 中 meson setup 的构建目录名为占位符,示例统一用 build,可自行改名但后续 ninja -C 路径要同步修改。
- ninja install 完成后,文档会放在安装前缀的 share/doc/nixl/ 目录下。
- 容器镜像默认基于 Ubuntu 24.04,可用 --os ubuntu22 切换到 Ubuntu 22.04。
- 容器内已预装基于自身 PyTorch 源码编译的 Python 绑定,需要可分发的 wheel 时改用 wheel 构建脚本或已发布的 nixl 包。
核心亮点
- 统一抽象多种存储与传输后端,减少推理框架重复适配成本
- 异步批量传输与事件通知机制,便于与推理流水线重叠隐藏搬运延迟
- 由 NVIDIA 主导并配套 Python 绑定,与 GPU 推理生态集成路径清晰
不足之处
- 项目较新、星标规模有限,生产环境长期稳定性待验证
- 文档与示例相对精简,非 NVIDIA 生态用户上手成本较高
适用场景
- 分离式推理架构中 KV Cache 在预填充与解码实例间的高效搬运
- 多级存储场景下模型权重与中间张量在显存、内存、远端存储间调度
- 自研推理框架需要统一的数据传输层以适配多种后端
替代项目
NCCL、UCX、Mooncake
上一篇:onnxruntime
下一篇:ai-inference
同类项目推荐
pymilo
开源
统一序列化 ML 模型,跨框架安全保存与加载
PyMilo: Python for ML I/O
books-for-bots
开源
把电子书变成智能体能高效导航的 Markdown,省 token 又精准。
Rust CLI that converts EPUBs into a single YAML-headed Markdown file with per-chapte···
docker-diffusers-api
开源
把 Stable Diffusion 装进 Docker,一行命令起 REST API,快速集成图像生成。
Diffusers / Stable Diffusion in docker with a REST API, supporting various models, p···
NpgsqlRest
开源
数据库直接变 REST API,省掉写后端代码
Transform Your PostgreSQL Database into a Production-Ready, Blazing-Fast Standalone ···
toolport
开源
一个端口管所有 AI 工具,省 token 又安全
Local-first MCP gateway. Set up MCP servers once and use them in every AI client, wi···
MyScaleDB
开源
用SQL同时搞定向量搜索和全文检索,AI应用数据底座一步到位
A @ClickHouse fork that supports high-performance vector search and full-text search···
claude-code-router
开源
本地路由层,让 AI Agent 自由切换模型、组合能力、掌控成本
One local control plane for every AI agent: route across models, fuse new capabiliti···
AVH
开源
用 Arm 虚拟硬件,免开发板跑嵌入式软件
This repository explains the usage of Arm Virtual Hardware Fixed Virtual Platforms (···
homelab-monitor
开源
一个容器搞定 homelab 监控,AI 代理也能直接查
Self-hosted homelab dashboard in one container — GPU, local-AI VRAM, Docker, system···