ai-dynamo/nixl
机器学习为 AI 推理框架提供跨 CPU、GPU 与存储的点对点数据传输库。
NIXL(NVIDIA Inference Xfer Library)是一个基于 C++ 的库,用于在 NVIDIA Dynamo 等 AI 推理框架中做点对点数据搬运。它的核心价值是用统一抽象覆盖不同内存类型(CPU、GPU)和存储类型(文件、块存储、对象存储),并通过模块化插件实现。它适合构建推理基础设施、希望把 agent、内存区域和存储后端连接起来而不为每种传输方式单独写代码的团队。
工作机制
NIXL 以 agent 和可替换后端为核心组织。Python API 通过 pybind11 封装 C++ 核心;UCX、POSIX、GDS、Mooncake 等后端都是插件,各有自己的构建说明,仓库还提供了后端开发指南 架构概览、后端指南、Python API。分布式场景下可选用 ETCD 交换 agent 元数据并协调节点,通过环境变量配置,仓库附有示例程序 README。
支持的安装和使用方式
- PyPI wheel:
pip install nixl提供 Python API、UCX 以及 CUDA 12 和 CUDA 13 两套后端,运行时根据 PyTorch 报告的 CUDA 版本自动选择 README。 - 源码构建:使用 Meson/Ninja,需要 C++20 编译器(GCC 11+ 或 Clang 14+),测试针对 UCX 1.23.x。GDRCopy 是可选项,但文档称其为获得最高性能所必需 README。
- Python/Rust 绑定:Python 绑定可从源码构建,需要
uv、tomlkit 和 PyTorch;Rust 绑定通过 Meson 选项或cargo构建 README。 - 容器和 wheel 脚本:仓库提供脚本用于构建 Ubuntu 22.04/24.04 容器和 wheel README。
要求与限制
该库只支持 Linux,已在 Ubuntu 22.04/24.04 和 Fedora 上测试,不支持 macOS 和 Windows README。可选功能各有前提:ETCD 需要服务端和 etcd-cpp-apiv3 客户端;Mooncake、POSIX、GDS 等部分插件有额外构建要求 README、插件说明。ROCm 路径存在但不完整:ROCm 下 LIBFABRIC 插件被禁用,且尚无与 NVSHMEM 对等的后端 README。性能测试位于 NIXLBench 和 KVBench;它们是基准测试工具,并不构成对具体部署的性能承诺 NIXLBench、KVBench。
许可证需要留意:项目标注 Apache-2.0,但 PyPI wheel 打包了采用专有许可证的 NVIDIA 模块,README 也提示使用中会下载并安装第三方开源组件,下游用户应自行核对这些条款 README、NVIDIA 许可证。
本文由 AI 根据项目 README 生成,更新于 2026年10月30日,以项目官方文档为准。