首页/新闻资讯/正文详情

Flex:ai是什么?一文看懂开源XPU虚拟化与AI训推智能调度的终极解析

发布时间:2026/9/25 6:07:41 来源:云帆数科 栏目:资讯中心
Flex:ai是什么?一文看懂开源XPU虚拟化与AI训推智能调度的终极解析
Flex:ai是什么一文看懂开源XPU虚拟化与AI训推智能调度的终极解析【免费下载链接】flexaiFlex:ai是一个面向AI容器场景的开源项目其核心能力包含两大部分分别是XPU虚拟化和多级智能调度。其中XPU虚拟化分为本地XPU虚拟化和跨节点拉远虚拟化本地XPU虚拟化支持将1台服务器上的XPU算力卡虚拟化分割出多个虚拟算力单元实现单张算力卡在多个容器的共享。跨节点拉远虚拟化支持通过RDMA或TCP网络访问远端节点上的算力卡。多级智能调度支持对切分出的虚拟卡进行Binpack等资源级调度以及对AI训推任务进行分时调度等能力。项目地址: https://gitcode.com/ModelEngine/flexaiFlex:ai是一个面向AI容器场景的开源项目由上海交通大学、西安交通大学、厦门大学、华为等联合发起。它的两大核心能力是XPU虚拟化和多级智能调度前者能把一张物理算力卡GPU/NPU虚拟切分成多个虚拟算力单元让单张算力卡被多个容器共享后者能对切分出的虚拟卡做 Binpack 等资源级调度并对 AI 训推任务进行分时调度从而大幅提升 AI 集群的算力利用率。为什么需要Flex:aiAI集群的算力浪费难题 在实际生产环境中AI 业务集群通常是大小模型混部的场景一方面运行 DeepSeek、Qwen 系列等大模型往往独占整卡甚至多卡另一方面还有大量小参数量模型CV 模型、Embedding 模型等它们根本吃不满一张整卡。结果就是昂贵且稀缺的 GPU/NPU 资源大量闲置浪费。同时AI 工作负载千差万别如何在有限算力上高效调度大并发任务一直是业界的难题。Flex:ai 正是为此而生——项目文档中明确说明了这一动机可参见 README.md 的“动机”一节。 一句话总结让一张卡掰成多份用让多份算力被聪明地分。核心能力一XPU虚拟化本地切分 跨节点拉远XPU 是 GPU/NPU 等异构算力卡的统称。Flex:ai 的虚拟化分为两种模式1️⃣ 本地XPU虚拟化单卡多容器共享把 1 台服务器上的算力卡虚拟化分割出多个虚拟算力单元实现单张算力卡在多个容器的共享GPU 侧一张 GPU 可切分为 1~20 个 vGPU支持指定算力切分百分比5 的倍数与显存大小由 GPU-device-plugin 设备插件和 CUDA 劫持客户端完成资源管控详细说明见 GPU-Virtual-Service/README.md。NPU 侧在昇腾原生架构与 CANN 基础上深度定制支持将单张物理 NPU 虚拟化为多个不同规格的 vNPU 实例按 1:1、2:8 等比例动态切分实现硬件级资源隔离详见 Ascend-Virtual-Service/README.md。下图展示了跨节点拉远虚拟化中“租算端与算力端”的协同设计数据经共享内存解耦后再由 CUDA Wrapper 下发到远端 GPU 执行2️⃣ 跨节点拉远虚拟化GPU算力池化通过RDMA 或 TCP 网络访问远端节点上的算力卡让没有 GPU 的节点也能租到算力。该能力位于 gpu-remoting 模块通过LD_PRELOAD劫持 CUDA Runtime / Driver API以及 cuBLAS、cuDNN、NCCL 等库调用透明地把请求转发到远端执行内置调度器scheduler支持多种策略可通过 config.json 配置轮询、空闲显存、利用率等调度方法配套 Python 存储组件storage处理训练数据集的加载与共享内存传输。下面是拉远虚拟化存储模块的代码结构总览图客户端与服务端通过 ZeroMQ 通信数据集经预处理后写入共享内存核心能力二多级智能调度在虚拟化切分的基础上Flex:ai 提供两级调度能力把剩余算力压榨到极致 资源级调度Binpack 装箱调度对切分出的虚拟卡进行 Binpack 等资源级调度。GPU 场景基于 Volcano 调度器扩展调度组件vc-scheduler、vc-controller-manager、vc-webhook-manager可通过 volcano-development.yaml 一键部署到 K8s 集群。⏱ 任务级调度分时复用与优先级时间片轮转复用突破物理切分的数量限制多个 AI 任务在同一张物理卡上毫秒级时间片轮转低负载推理任务以排队抢占方式共享算力算力保障与优先级多级调度策略支持为核心业务设置高优先级关键任务优先获得算力响应降低长尾延迟。昇腾侧的调度行为由 flexnpud.conf 配置例如quota参数定义每轮调度循环允许下发算子的最大次数aicore_alloc定义每个进程在分时调度中的算力权重。快速上手体验算力切分效果 GPU虚拟化部署步骤前置安装 Helm、NVIDIA 驱动与 nvidia-container-toolkit导入调度组件镜像执行kubectl apply -f volcano-development.yaml拉起调度层打包并安装 helm chart拉起client-updateCUDA 劫持与gpu-device-plugin设备插件在业务 Pod 中申请虚拟卡资源三个参数即可参数说明huawei.com/vgpu-number申请的 vGPU 卡数huawei.com/vgpu-cores算力切分百分比0-1005的倍数huawei.com/vgpu-memory.1Gi显存占用Gi通过watch nvidia-smi或容器内gpu-monitor工具即可观察到 GPU 利用率在设定的切分百分比附近波动验证切分生效。Ascend NPU体验步骤基于华为官方vllm-ascend镜像启动容器进入 hypervisor 目录依次执行./clear.sh→./flexnpud→./register.sh启动守护进程并注册用户进程进入 aclserver 目录分别运行./server.sh与./server_2.sh启动两个推理进程通过vllm bench的吞吐结果即可观察到算力切分效果。项目结构一览 目录说明Ascend-Virtual-Service/昇腾 NPU 虚拟化hypervisor 守护进程、acl 服务端/客户端GPU-Virtual-Service/xpu-pool-service/本地 GPU 虚拟化设备插件、CUDA 劫持、xpu-exporter 监控GPU-Virtual-Service/gpu-remoting/跨节点拉远虚拟化API 劫持、调度器、存储组件GPU-Virtual-Service/yaml/Volcano 调度器部署清单总结Flex:ai 以XPU虚拟化 多级智能调度两大核心能力直击 AI 集群大小模型混部导致算力浪费的痛点本地切分让一张卡多容器共享跨节点拉远让算力像池子一样按需流动Binpack 与分时调度让每一份算力都被充分利用。无论你是 GPU 还是昇腾 NPU 用户都能在这个开源项目中找到贴合自身场景的算力共享方案。【免费下载链接】flexaiFlex:ai是一个面向AI容器场景的开源项目其核心能力包含两大部分分别是XPU虚拟化和多级智能调度。其中XPU虚拟化分为本地XPU虚拟化和跨节点拉远虚拟化本地XPU虚拟化支持将1台服务器上的XPU算力卡虚拟化分割出多个虚拟算力单元实现单张算力卡在多个容器的共享。跨节点拉远虚拟化支持通过RDMA或TCP网络访问远端节点上的算力卡。多级智能调度支持对切分出的虚拟卡进行Binpack等资源级调度以及对AI训推任务进行分时调度等能力。项目地址: https://gitcode.com/ModelEngine/flexai创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

CodeCombat AP CSP 考试构成详解:Performance Task 与期末笔试的备考与评估指南
CodeCombat AP CSP 考试构成详解:Performance Task 与期末笔试的备考与评估指南

游戏开发教育前端后端 【免费下载链接】codecombat Game for learning how to code. 项目地址: https://gitcode.com/gh_mirrors/co/codecombat 点击查看 免费下载 本文基于 CodeCombat 仓库中 AP CS Principles(AP CSP)教师专业发展文档 ex… · 2026/9/25 6:07:35

Apache Beam RC 测试指南:用 Python、Java、Go 三种 SDK 对发布候选版本做下游验证
Apache Beam RC 测试指南:用 Python、Java、Go 三种 SDK 对发布候选版本做下游验证

大数据批处理流处理数据工程 【免费下载链接】beam Apache Beam is a unified programming model for Batch and Streaming data processing. 项目地址: https://gitcode.com/gh_mirrors/beam4/beam 点击查看 免费下载 Apache Beam(下称 Beam&#xff0… · 2026/9/25 6:07:35

OKX行情接口实战:REST与WebSocket双通道接入及断线重连
OKX行情接口实战:REST与WebSocket双通道接入及断线重连

1. 从零拆解 OKXapi_1:一个行情接口项目到底在做什么很多人第一次看到“OKXapi_1”这个标题,第一反应是“这不就是个接口封装吗”。但真上手做过行情对接的人都知道,一个能跑、能扛、能长期稳定运行的行情接口项目,远不是调几个 R… · 2026/9/25 6:07:29

2026年AI API安全实战:成本、限流与密钥管理
2026年AI API安全实战:成本、限流与密钥管理

1. 为什么2026年AI API的安全问题突然变得棘手过去两年,我帮不少团队做过AI能力的接入和治理,一个很明显的感受是:AI API的安全问题,已经从"要不要管"变成了"不管就出事"。2024年之前,大部分团队接… · 2026/9/25 6:45:00

会聊天的机器人,为什么离不开一颗STM32?
会聊天的机器人,为什么离不开一颗STM32?

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 6:44:54

混淆矩阵与分类指标详解:TP、FP、FN、TN及精确率、召回率、准确率
混淆矩阵与分类指标详解:TP、FP、FN、TN及精确率、召回率、准确率

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 6:44:36

Claude Code嵌入式开发实战:寄存器初始化与编译日志分析
Claude Code嵌入式开发实战:寄存器初始化与编译日志分析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 6:44:36

金融场景下托管式智能体落地:Managed Agents API与MCP实践
金融场景下托管式智能体落地:Managed Agents API与MCP实践

1. 金融场景下 Managed Agents API 的落地思路拆解金融行业对自动化的态度一直很拧巴:一边是大量重复、规则明确的流程(对账、报表、合规检查、客户资料录入),一边是监管、审计、数据隔离这些硬约束,导致很多团队宁可手… · 2026/9/25 6:44:30

Atlas 300V 推理卡部署 YOLO 全流程指南:从 ONNX 到 OM 的工程实践
Atlas 300V 推理卡部署 YOLO 全流程指南:从 ONNX 到 OM 的工程实践

后台每隔两周就会收到类似的私信:Atlas 300V 24G 是运算加速卡吗?我手里有一块 Atlas,想把 YOLO 模型部署上去,但完全不知道从哪开始。每次看到这种问题,我都想起自己第一次把 Atlas 300V 插进服务器时的状态&#xff… · 2026/9/25 6:44:23

数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)
数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战
创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX
MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:37

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码