已合并
[Docs] MindIE Motor切换为MindIE Motor CPP #220
renxiaolong12创建于 7月6日
[Docs] MindIE Motor切换为MindIE Motor CPP #220
已合并
共 19 个文件变更+71-68
| @@ -1,14 +1,14 @@ | |||
| 1 | -# MindIE Motor | 1 | +# MindIE Motor CPP |
| 2 | 2 | ||
| 3 | ## 🔥Latest News | 3 | ## 🔥Latest News |
| 4 | 4 | ||
| 5 | -[2025/12] MindIE Motor正式宣布开源并面向公众开放 | 5 | +[2025/12] MindIE Motor CPP正式宣布开源并面向公众开放 |
| 6 | 6 | ||
| 7 | ## 🚀简介 | 7 | ## 🚀简介 |
| 8 | 8 | ||
| 9 | -**MindIE Motor是面向通用模型场景的推理服务化框架,通过开放、可扩展的推理服务化平台架构提供推理服务化能力,支持对接业界主流推理框架接口,满足大语言模型的高性能推理需求**。 | 9 | +**MindIE Motor CPP是面向通用模型场景的推理服务化框架,通过开放、可扩展的推理服务化平台架构提供推理服务化能力,支持对接业界主流推理框架接口,满足大语言模型的高性能推理需求**。 |
| 10 | 10 | ||
| 11 | -以下是两个MindIE Motor代码仓库**智能体**,只需点击 "**Ask AI**" 徽章,即可进入其专属页面,有效缓解源码阅读的困难,开启智能代码学习与问答体验!它们将帮助您更深入地理解MindIE Motor的运行原理,并协助解决使用过程中遇到的问题与错误。 | 11 | +以下是两个MindIE Motor CPP代码仓库**智能体**,只需点击 "**Ask AI**" 徽章,即可进入其专属页面,有效缓解源码阅读的困难,开启智能代码学习与问答体验!它们将帮助您更深入地理解MindIE Motor CPP的运行原理,并协助解决使用过程中遇到的问题与错误。 |
| 12 | 12 | ||
| 13 | <div align="center"> | 13 | <div align="center"> |
| 14 | 14 | ||
| @@ -45,8 +45,8 @@ | |||
| 45 | 45 | ||
| 46 | ## ⚡️环境部署 | 46 | ## ⚡️环境部署 |
| 47 | 47 | ||
| 48 | -通过软件包或镜像方式安装MindIE Motor,请参见[安装指南](./docs/zh/user_guide/install/installing_mindie.md)。 | 48 | +通过软件包或镜像方式安装MindIE Motor CPP,请参见[安装指南](./docs/zh/user_guide/install/installing_mindie.md)。 |
| 49 | -通过拉取最新代码编译安装MindIE Motor,请参见[编译安装指南](./docs/zh/developer_guide/build_guide.md)。 | 49 | +通过拉取最新代码编译安装MindIE Motor CPP,请参见[编译安装指南](./docs/zh/developer_guide/build_guide.md)。 |
| 50 | 50 | ||
| 51 | ## ⚡️快速入门 | 51 | ## ⚡️快速入门 |
| 52 | 52 | ||
| @@ -54,10 +54,10 @@ | |||
| 54 | 54 | ||
| 55 | ## 📝学习文档 | 55 | ## 📝学习文档 |
| 56 | 56 | ||
| 57 | -- [集群服务部署](./docs/zh/user_guide/service_deployment/environment_preparation.md):介绍MindIE Motor集群服务部署方式,包括单机(非分布式)服务部署和PD分离单、多机服务部署。 | 57 | +- [集群服务部署](./docs/zh/user_guide/service_deployment/environment_preparation.md):介绍MindIE Motor CPP集群服务部署方式,包括单机(非分布式)服务部署和PD分离单、多机服务部署。 |
| 58 | -- [集群管理组件](./docs/zh/user_guide/cluster_management_component/general_comments.md):介绍MindIE Motor集群管理组件,包括Controller和Coordinator。 | 58 | +- [集群管理组件](./docs/zh/user_guide/cluster_management_component/general_comments.md):介绍MindIE Motor CPP集群管理组件,包括Controller和Coordinator。 |
| 59 | -- [服务化接口](https://www.hiascend.com/document/detail/zh/mindie/230/mindiemotor/motordev/mindie_service0256.html):介绍MindIE Motor提供的用户侧接口和集群内通信接口。 | 59 | +- [服务化接口](https://www.hiascend.com/document/detail/zh/mindie/230/mindiemotor/motordev/mindie_service0256.html):介绍MindIE Motor CPP提供的用户侧接口和集群内通信接口。 |
| 60 | -- [配套工具](./docs/zh/user_guide/service_oriented_optimization_tool):介绍MindIE Motor提供的配套工具,包括性能/精度测试工具、MindIE探针工具、服务化调优工具、OM Adapter和Node Manager。 | 60 | +- [配套工具](./docs/zh/user_guide/service_oriented_optimization_tool):介绍MindIE Motor CPP提供的配套工具,包括性能/精度测试工具、MindIE探针工具、服务化调优工具、OM Adapter和Node Manager。 |
| 61 | 61 | ||
| 62 | ## 📝免责声明 | 62 | ## 📝免责声明 |
| 63 | 63 | ||
| @@ -67,7 +67,7 @@ | |||
| 67 | 67 | ||
| 68 | ## 📝贡献指南 | 68 | ## 📝贡献指南 |
| 69 | 69 | ||
| 70 | -1. 提交错误报错:如果您在MindIE Motor中发现了一个不存在安全问题的漏洞,请在MindIE Motor仓库中的Issues中搜索,以防该漏洞被重复提交,如果找不到漏洞可以创建一个新的Issues。如果发现了一个安全问题请不要将其公开,请参阅安全问题处理方式。提交错误报告时应该包含完整信息。 | 70 | +1. 提交错误报错:如果您在MindIE Motor CPP中发现了一个不存在安全问题的漏洞,请在MindIE Motor CPP仓库中的Issues中搜索,以防该漏洞被重复提交,如果找不到漏洞可以创建一个新的Issues。如果发现了一个安全问题请不要将其公开,请参阅安全问题处理方式。提交错误报告时应该包含完整信息。 |
| 71 | 2. 安全问题处理:本项目中对安全问题处理的形式,请通过邮箱通知项目核心人员确认编辑。 | 71 | 2. 安全问题处理:本项目中对安全问题处理的形式,请通过邮箱通知项目核心人员确认编辑。 |
| 72 | 3. 解决现有问题:通过查看仓库的Issues列表可以发现需要处理的问题信息,可以尝试解决其中的某个问题。 | 72 | 3. 解决现有问题:通过查看仓库的Issues列表可以发现需要处理的问题信息,可以尝试解决其中的某个问题。 |
| 73 | 4. 如何提供新功能:请使用Issues的Feature标签进行标记,我们会定期处理和确认开发。 | 73 | 4. 如何提供新功能:请使用Issues的Feature标签进行标记,我们会定期处理和确认开发。 |
| @@ -1,19 +1,19 @@ | |||
| 1 | --- | 1 | --- |
| 2 | -title: MindIE Motor 文档 | 2 | +title: MindIE Motor CPP 文档 |
| 3 | -description: MindIE Motor 中文文档首页(与 Read the Docs 的 /zh-cn/latest/ 挂载根一致) | 3 | +description: MindIE Motor CPP 中文文档首页(与 Read the Docs 的 /zh-cn/latest/ 挂载根一致) |
| 4 | --- | 4 | --- |
| 5 | 5 | ||
| 6 | -# MindIE Motor | 6 | +# MindIE Motor CPP |
| 7 | 7 | ||
| 8 | ## 🔥 Latest News | 8 | ## 🔥 Latest News |
| 9 | 9 | ||
| 10 | -[2025/12] MindIE Motor 正式宣布开源并面向公众开放 | 10 | +[2025/12] MindIE Motor CPP 正式宣布开源并面向公众开放 |
| 11 | 11 | ||
| 12 | ## 🚀 简介 | 12 | ## 🚀 简介 |
| 13 | 13 | ||
| 14 | -**MindIE Motor 是面向通用模型场景的推理服务化框架,通过开放、可扩展的推理服务化平台架构提供推理服务化能力,支持对接业界主流推理框架接口,满足大语言模型的高性能推理需求。** | 14 | +**MindIE Motor CPP 是面向通用模型场景的推理服务化框架,通过开放、可扩展的推理服务化平台架构提供推理服务化能力,支持对接业界主流推理框架接口,满足大语言模型的高性能推理需求。** |
| 15 | 15 | ||
| 16 | -以下是两个 MindIE Motor 代码仓库**智能体**,只需点击「**Ask AI**」徽章,即可进入其专属页面,缓解源码阅读成本,便于学习与排错。 | 16 | +以下是两个 MindIE Motor CPP 代码仓库**智能体**,只需点击「**Ask AI**」徽章,即可进入其专属页面,缓解源码阅读成本,便于学习与排错。 |
| 17 | 17 | ||
| 18 | <div align="center" markdown="1"> | 18 | <div align="center" markdown="1"> |
| 19 | 19 | ||
| @@ -50,9 +50,9 @@ description: MindIE Motor 中文文档首页(与 Read the Docs 的 /zh-cn/late | |||
| 50 | 50 | ||
| 51 | ## ⚡️ 环境部署 | 51 | ## ⚡️ 环境部署 |
| 52 | 52 | ||
| 53 | -通过软件包或镜像方式安装 MindIE Motor,请参见 [安装指南](user_guide/install/installing_mindie.md)。 | 53 | +通过软件包或镜像方式安装 MindIE Motor CPP,请参见 [安装指南](user_guide/install/installing_mindie.md)。 |
| 54 | 54 | ||
| 55 | -通过拉取最新代码编译安装 MindIE Motor,请参见 [编译安装指南](developer_guide/build_guide.md)。 | 55 | +通过拉取最新代码编译安装 MindIE Motor CPP,请参见 [编译安装指南](developer_guide/build_guide.md)。 |
| 56 | 56 | ||
| 57 | ## ⚡️ 快速入门 | 57 | ## ⚡️ 快速入门 |
| 58 | 58 | ||
| @@ -60,10 +60,10 @@ description: MindIE Motor 中文文档首页(与 Read the Docs 的 /zh-cn/late | |||
| 60 | 60 | ||
| 61 | ## 📝 学习文档 | 61 | ## 📝 学习文档 |
| 62 | 62 | ||
| 63 | -- [集群服务部署](user_guide/service_deployment/environment_preparation.md):介绍 MindIE Motor 集群服务部署方式,包括单机(非分布式)服务部署和 PD 分离单、多机服务部署。 | 63 | +- [集群服务部署](user_guide/service_deployment/environment_preparation.md):介绍 MindIE Motor CPP 集群服务部署方式,包括单机(非分布式)服务部署和 PD 分离单、多机服务部署。 |
| 64 | -- [集群管理组件](user_guide/cluster_management_component/general_comments.md):介绍 MindIE Motor 集群管理组件,包括 Controller 与 Coordinator。 | 64 | +- [集群管理组件](user_guide/cluster_management_component/general_comments.md):介绍 MindIE Motor CPP 集群管理组件,包括 Controller 与 Coordinator。 |
| 65 | -- [服务化接口](https://www.hiascend.com/document/detail/zh/mindie/230/mindiemotor/motordev/mindie_service0256.html):介绍 MindIE Motor 提供的用户侧接口和集群内通信接口。 | 65 | +- [服务化接口](https://www.hiascend.com/document/detail/zh/mindie/230/mindiemotor/motordev/mindie_service0256.html):介绍 MindIE Motor CPP 提供的用户侧接口和集群内通信接口。 |
| 66 | -- [配套工具](user_guide/service_oriented_optimization_tool/service_oriented_optimization_tool.md):介绍 MindIE Motor 提供的配套工具,包括性能/精度测试工具、MindIE 探针工具、服务化调优工具、CertTools、OM Adapter 和 Node Manager。 | 66 | +- [配套工具](user_guide/service_oriented_optimization_tool/service_oriented_optimization_tool.md):介绍 MindIE Motor CPP 提供的配套工具,包括性能/精度测试工具、MindIE 探针工具、服务化调优工具、CertTools、OM Adapter 和 Node Manager。 |
| 67 | 67 | ||
| 68 | ## 📝 免责声明 | 68 | ## 📝 免责声明 |
| 69 | 69 | ||
| @@ -73,7 +73,7 @@ description: MindIE Motor 中文文档首页(与 Read the Docs 的 /zh-cn/late | |||
| 73 | 73 | ||
| 74 | ## 📝 贡献指南 | 74 | ## 📝 贡献指南 |
| 75 | 75 | ||
| 76 | -1. 提交错误报错:如果您在 MindIE Motor 中发现了一个不存在安全问题的漏洞,请在 MindIE Motor 仓库中的 Issues 中搜索,以防该漏洞被重复提交,如果找不到漏洞可以创建一个新的 Issues。如果发现了一个安全问题请不要将其公开,请参阅安全问题处理方式。提交错误报告时应该包含完整信息。 | 76 | +1. 提交错误报错:如果您在 MindIE Motor CPP 中发现了一个不存在安全问题的漏洞,请在 MindIE Motor CPP 仓库中的 Issues 中搜索,以防该漏洞被重复提交,如果找不到漏洞可以创建一个新的 Issues。如果发现了一个安全问题请不要将其公开,请参阅安全问题处理方式。提交错误报告时应该包含完整信息。 |
| 77 | 2. 安全问题处理:本项目中对安全问题处理的形式,请通过邮箱通知项目核心人员确认编辑。 | 77 | 2. 安全问题处理:本项目中对安全问题处理的形式,请通过邮箱通知项目核心人员确认编辑。 |
| 78 | 3. 解决现有问题:通过查看仓库的 Issues 列表可以发现需要处理的问题信息,可以尝试解决其中的某个问题。 | 78 | 3. 解决现有问题:通过查看仓库的 Issues 列表可以发现需要处理的问题信息,可以尝试解决其中的某个问题。 |
| 79 | 4. 如何提供新功能:请使用 Issues 的 Feature 标签进行标记,我们会定期处理和确认开发。 | 79 | 4. 如何提供新功能:请使用 Issues 的 Feature 标签进行标记,我们会定期处理和确认开发。 |
| @@ -2,7 +2,7 @@ | |||
| 2 | 2 | ||
| 3 | ## 编译说明 | 3 | ## 编译说明 |
| 4 | 4 | ||
| 5 | -本文档介绍如何从源码编译MindIE-Motor,生成 `.whl` 包,安装与运行。 | 5 | +本文档介绍如何从源码编译MindIE Motor CPP,生成 `.whl` 包,安装与运行。 |
| 6 | 6 | ||
| 7 | ## 环境准备 | 7 | ## 环境准备 |
| 8 | 8 | ||
| @@ -17,7 +17,7 @@ MindIE镜像获取请参见[镜像安装方式](https://gitcode.com/Ascend/MindI | |||
| 17 | 17 | ||
| 18 | ## 编译安装 | 18 | ## 编译安装 |
| 19 | 19 | ||
| 20 | -1. 安装Python工具.MindIE-Motor 支持 **Python == 3.11**。 | 20 | +1. 安装Python工具.MindIE Motor CPP支持 **Python == 3.11**。 |
| 21 | 21 | ||
| 22 | ```bash | 22 | ```bash |
| 23 | pip install --upgrade pip | 23 | pip install --upgrade pip |
| @@ -80,7 +80,7 @@ MindIE镜像获取请参见[镜像安装方式](https://gitcode.com/Ascend/MindI | |||
| 80 | * 编译时,`setup.py` 会自动调用 `build.sh` 编译C++代码,并拷贝第三方依赖到包内。 | 80 | * 编译时,`setup.py` 会自动调用 `build.sh` 编译C++代码,并拷贝第三方依赖到包内。 |
| 81 | * 编译后,生成临时目录 `build`、存放二进制的目录 `output` 和debug符号表`motor_debug_symbols` 目录。 | 81 | * 编译后,生成临时目录 `build`、存放二进制的目录 `output` 和debug符号表`motor_debug_symbols` 目录。 |
| 82 | 82 | ||
| 83 | -9. 安装 MindIE-Motor。 | 83 | +9. 安装 MindIE Motor CPP。 |
| 84 | 84 | ||
| 85 | ```bash | 85 | ```bash |
| 86 | pip install mindie_motor*.whl | 86 | pip install mindie_motor*.whl |
| @@ -1,5 +1,5 @@ | |||
| 1 | 1 | ||
| 2 | -# MindIE-Motor DT本地使用 | 2 | +# MindIE Motor CPP DT本地使用 |
| 3 | 3 | ||
| 4 | ## ms DT | 4 | ## ms DT |
| 5 | 5 | ||
| @@ -41,7 +41,7 @@ MindIE各组件需要配套使用,请勿跨版本混用各组件。 | |||
| 41 | 41 | ||
| 42 | # 3.1.0更新说明 | 42 | # 3.1.0更新说明 |
| 43 | 43 | ||
| 44 | -基于技术架构升级需要,MindIE Motor 代码仓(涵盖 3.0.0 及之前版本)现更名为 MindIE-Motor-CPP,后续版本发布将沿用此命名。MindIE-Motor-CPP 仅对接 MindIE LLM 推理引擎;而 MindIE Motor 3.1.0 及以上版本,仅兼容 vLLM-Ascend 推理引擎。 | 44 | +基于技术架构升级需要,MindIE Motor 代码仓(涵盖 3.0.0 及之前版本)现更名为 MindIE Motor CPP,后续版本发布将沿用此命名。MindIE Motor CPP 仅对接 MindIE LLM 推理引擎;而 MindIE Motor 3.1.0 及以上版本,仅兼容 vLLM-Ascend 推理引擎。 |
| 45 | 45 | ||
| 46 | ## 新增特性 | 46 | ## 新增特性 |
| 47 | 47 | ||
| @@ -1,6 +1,6 @@ | |||
| 1 | -# MindIE Motor通信矩阵 | 1 | +# MindIE Motor CPP通信矩阵 |
| 2 | 2 | ||
| 3 | -提供了MindIE Motor的通信矩阵,包括产品开放的端口、该端口使用的传输层协议、通过该端口与对端通信的通信网元名称、认证方式、用途等信息说明。 | 3 | +提供了MindIE Motor CPP的通信矩阵,包括产品开放的端口、该端口使用的传输层协议、通过该端口与对端通信的通信网元名称、认证方式、用途等信息说明。 |
| 4 | 4 | ||
| 5 | >[!NOTE]说明 | 5 | >[!NOTE]说明 |
| 6 | >datadist、HCCL、LCCL和ATB相关通信矩阵请参考[CANN 通信矩阵](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/850/maintenref/commumatrix/commumatrix_01.html)。 | 6 | >datadist、HCCL、LCCL和ATB相关通信矩阵请参考[CANN 通信矩阵](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/850/maintenref/commumatrix/commumatrix_01.html)。 |
| @@ -65,4 +65,4 @@ | |||
| 65 | |MindIE Sever服务端|部署的MindIE Sever服务端Pod IP|取值范围(10000, 10000+4*dp_size-1)|MindIE集群服务服务端|MindIE集群服务控制器Pod IP|随机端口(由操作系统自动分配),默认范围32768~60999。|TCP|多dp下,每个dp都会拉起一个server,每个server都有port、mgmtPort、metricPort、interCommPort。port从10000开始分配|否|双向证书认证|TLS1.3|数据面|MindIE 3.0.0|无|无| | 65 | |MindIE Sever服务端|部署的MindIE Sever服务端Pod IP|取值范围(10000, 10000+4*dp_size-1)|MindIE集群服务服务端|MindIE集群服务控制器Pod IP|随机端口(由操作系统自动分配),默认范围32768~60999。|TCP|多dp下,每个dp都会拉起一个server,每个server都有port、mgmtPort、metricPort、interCommPort。port从10000开始分配|否|双向证书认证|TLS1.3|数据面|MindIE 3.0.0|无|无| |
| 66 | |MindIE Node Manager 服务端|PD分离部署的server容器IP地址|用户可配置,默认1028,对应node_manager.json配置文件中的node_manager_por字段|MindIE集群服务控制器|PD分离部署的server容器IP地址|用户可配置,默认1028,对应node_manager.json配置文件中的node_manager_por字段|TCP|1.提供灵衢快恢和节点健康状态接口供controller调用|是|双向证书认证|TLS1.3|内部接口|MindIE 3.0.0|无|无| | 66 | |MindIE Node Manager 服务端|PD分离部署的server容器IP地址|用户可配置,默认1028,对应node_manager.json配置文件中的node_manager_por字段|MindIE集群服务控制器|PD分离部署的server容器IP地址|用户可配置,默认1028,对应node_manager.json配置文件中的node_manager_por字段|TCP|1.提供灵衢快恢和节点健康状态接口供controller调用|是|双向证书认证|TLS1.3|内部接口|MindIE 3.0.0|无|无| |
| 67 | |MindIE Node Manager 客户端|PD分离部署的server容器IP地址|随机端口(由操作系统自动分配),默认范围32768~60999。|MindIE Sever服务端|PD分离部署的server容器IP地址|根据现网客户实际要求配置的固定端口,对应config.json配置文件中的managementPort字段默认值1026|TCP|1.作为客户端调用 server服务端的灵衢快恢相关接口|不涉及|双向证书认证|TLS1.3|内部接口|MindIE 3.0.0|无|无| | 67 | |MindIE Node Manager 客户端|PD分离部署的server容器IP地址|随机端口(由操作系统自动分配),默认范围32768~60999。|MindIE Sever服务端|PD分离部署的server容器IP地址|根据现网客户实际要求配置的固定端口,对应config.json配置文件中的managementPort字段默认值1026|TCP|1.作为客户端调用 server服务端的灵衢快恢相关接口|不涉及|双向证书认证|TLS1.3|内部接口|MindIE 3.0.0|无|无| |
| 68 | -|MindIE Server客户端|客户端通信IP地址|随机端口(由操作系统自动分配),默认范围32768~60999。|MindIE-Motor/PyMotor服务端|Host ip|默认端口31015,用户可配置|TCP|推理端口|是|双向证书认证,可配置,默认关闭|TLS1.3|数据面|MindIE 3.0.0|无|无| | 68 | +|MindIE Server客户端|客户端通信IP地址|随机端口(由操作系统自动分配),默认范围32768~60999。|MindIE Motor CPP/MindIE Motor服务端|Host ip|默认端口31015,用户可配置|TCP|推理端口|是|双向证书认证,可配置,默认关闭|TLS1.3|数据面|MindIE 3.0.0|无|无| |
| @@ -1546,7 +1546,7 @@ ETCD基于角色的访问控制Role-based access control(RBAC)是其内置 | |||
| 1546 | 1546 | ||
| 1547 | ### 特性介绍 | 1547 | ### 特性介绍 |
| 1548 | 1548 | ||
| 1549 | -MindIE Motor提供了节点故障后的实例级Job重配置功能,无论是硬件故障还是软件退出,都可以支持实例级重调度,并在10min内自动恢复实例。**该特性只支持在大规模专家并行场景下使用**。 | 1549 | +MindIE Motor CPP提供了节点故障后的实例级Job重配置功能,无论是硬件故障还是软件退出,都可以支持实例级重调度,并在10min内自动恢复实例。**该特性只支持在大规模专家并行场景下使用**。 |
| 1550 | 1550 | ||
| 1551 | ### 使用样例 | 1551 | ### 使用样例 |
| 1552 | 1552 | ||
| @@ -308,7 +308,7 @@ ms_coordinator.json配置文件中各个字段解释如下所示,用户可根 | |||
| 308 | 308 | ||
| 309 | ## 启动调度器 | 309 | ## 启动调度器 |
| 310 | 310 | ||
| 311 | -调度器的执行程序为ms_coordinator,其存放路径为: *{MindIE-motor安装目录}*/bin(例如:/usr/local/lib/python3.11/site-packages/mindie-motor/bin),启动ms_coordinator时需要读取[ms_coordinator.json启动配置文件](#section122161257338)中的配置信息,且运行ms_coordinator时需要依赖 *{MindIE安装目录}*/latest/mindie-service/lib/目录下的so文件,包括`libboundscheck.so、libcrypto.so.3、libhse_cryption.so、libssl.so.3和libmie_digs.so`文件。 | 311 | +调度器的执行程序为ms_coordinator,其存放路径为: *{MindIE Motor CPP安装目录}*/bin(例如:/usr/local/lib/python3.11/site-packages/mindie-motor/bin),启动ms_coordinator时需要读取[ms_coordinator.json启动配置文件](#section122161257338)中的配置信息,且运行ms_coordinator时需要依赖 *{MindIE安装目录}*/latest/mindie-service/lib/目录下的so文件,包括`libboundscheck.so、libcrypto.so.3、libhse_cryption.so、libssl.so.3和libmie_digs.so`文件。 |
| 312 | 312 | ||
| 313 | **前提条件** | 313 | **前提条件** |
| 314 | 314 | ||
| @@ -1,20 +1,23 @@ | |||
| 1 | # 简介 | 1 | # 简介 |
| 2 | 2 | ||
| 3 | +>[!NOTE]说明 | ||
| 4 | +>基于技术架构升级需要,MindIE Motor 代码仓(涵盖 3.0.0 及之前版本)现更名为 MindIE Motor CPP,后续版本发布将沿用此命名。MindIE Motor CPP 仅对接 MindIE LLM 推理引擎;而 MindIE Motor 3.1.0 及以上版本,仅兼容 vLLM-Ascend 推理引擎。 | ||
| 5 | + | ||
| 3 | ## 概述 | 6 | ## 概述 |
| 4 | 7 | ||
| 5 | -MindIE Motor是面向LLM PD分离推理的请求调度框架,通过开放、可扩展的推理服务化平台架构提供推理服务化能力,向下对接MindIE LLM,满足大语言模型高性能推理需求。MindIE Motor提供以下两个方面的能力: | 8 | +MindIE Motor CPP是面向LLM PD分离推理的请求调度框架,通过开放、可扩展的推理服务化平台架构提供推理服务化能力,向下对接MindIE LLM,满足大语言模型高性能推理需求。MindIE Motor CPP提供以下两个方面的能力: |
| 6 | 9 | ||
| 7 | - PD分离的请求调度:主要将外部的客户请求分发到负载最低的Prefill/Decode实例上,起到负载均衡的作用; | 10 | - PD分离的请求调度:主要将外部的客户请求分发到负载最低的Prefill/Decode实例上,起到负载均衡的作用; |
| 8 | - RAS(Reliability、Availability和Serviceability):增强PD分离服务可靠性、可用性和可服务性的能力。 | 11 | - RAS(Reliability、Availability和Serviceability):增强PD分离服务可靠性、可用性和可服务性的能力。 |
| 9 | 12 | ||
| 10 | -## MindIE Motor架构图 | 13 | +## MindIE Motor CPP架构图 |
| 11 | 14 | ||
| 12 | -MindIE Motor及其周边组件交互架构图如下所示。 | 15 | +MindIE Motor CPP及其周边组件交互架构图如下所示。 |
| 13 | 16 | ||
| 14 | -**图 1** MindIE Motor架构图<a id="fig186975591945"></a> | 17 | +**图 1** MindIE Motor CPP架构图<a id="fig186975591945"></a> |
| 15 |  | 18 |  |
| 16 | 19 | ||
| 17 | -MindIE Motor提供PD分离推理服务化调度和RAS能力,关键组件和模块解释如下。 | 20 | +MindIE Motor CPP提供PD分离推理服务化调度和RAS能力,关键组件和模块解释如下。 |
| 18 | 21 | ||
| 19 | - Coordinator:调度器。是用户推理请求的入口,接收高并发的推理请求,进行请求调度、请求管理、请求转发等,是整个集群的数据请求入口。 | 22 | - Coordinator:调度器。是用户推理请求的入口,接收高并发的推理请求,进行请求调度、请求管理、请求转发等,是整个集群的数据请求入口。 |
| 20 | - Endpoint:对外RESTful接口,如OpenAI接口。 | 23 | - Endpoint:对外RESTful接口,如OpenAI接口。 |
| @@ -2,7 +2,7 @@ | |||
| 2 | 2 | ||
| 3 | ## 概述 | 3 | ## 概述 |
| 4 | 4 | ||
| 5 | -专家指 MoE 模型中的子网络(Expert),每个专家是相对独立的前馈网络,由门控根据输入选择部分专家参与计算;**大规模专家**指专家数量较多的 MoE 模型(如专家数达数十至上百),模型总参数量大、单次激活的专家数远小于总专家数;**大规模专家并行**指将众多专家分布到多台计算设备上,通过并行执行被选中的专家计算以完成推理或训练。大规模部署时,专家被切分并部署在多台计算设备上,因此激活某专家即触发承载该专家的设备上的计算,并在执行过程中进行必要的通信与调度。MindIE Motor 通过 P(Prefill)与 D(Decode)实例分工及集群管理组件(Coordinator/Controller)完成调度与资源管理,详见[集群管理组件](./cluster_management_component/coordinator.md)与[PD分离服务部署](./service_deployment/pd_separation_service_deployment.md)。 | 5 | +专家指 MoE 模型中的子网络(Expert),每个专家是相对独立的前馈网络,由门控根据输入选择部分专家参与计算;**大规模专家**指专家数量较多的 MoE 模型(如专家数达数十至上百),模型总参数量大、单次激活的专家数远小于总专家数;**大规模专家并行**指将众多专家分布到多台计算设备上,通过并行执行被选中的专家计算以完成推理或训练。大规模部署时,专家被切分并部署在多台计算设备上,因此激活某专家即触发承载该专家的设备上的计算,并在执行过程中进行必要的通信与调度。MindIE Motor CPP通过 P(Prefill)与 D(Decode)实例分工及集群管理组件(Coordinator/Controller)完成调度与资源管理,详见[集群管理组件](./cluster_management_component/coordinator.md)与[PD分离服务部署](./service_deployment/pd_separation_service_deployment.md)。 |
| 6 | 6 | ||
| 7 | 建议按以下流程开展性能调优: | 7 | 建议按以下流程开展性能调优: |
| 8 | 8 | ||
| @@ -536,7 +536,7 @@ data: {"prefill_time":null,"decode_time":16.80,"generated_text":"am a French pho | |||
| 536 | 536 | ||
| 537 | >[!NOTE]说明 | 537 | >[!NOTE]说明 |
| 538 | >Linux系统中查询mindieservice_daemon主进程ID: | 538 | >Linux系统中查询mindieservice_daemon主进程ID: |
| 539 | - >1. 查看所有与MindIE Motor相关的进程列表。 | 539 | + >1. 查看所有与MindIE Motor CPP相关的进程列表。 |
| 540 | > | 540 | > |
| 541 | > ```bash | 541 | > ```bash |
| 542 | > ps -ef | grep 'mindieservice_daemon' | 542 | > ps -ef | grep 'mindieservice_daemon' |
| @@ -112,7 +112,7 @@ PD分离部署支持的硬件环境如下所示。 | |||
| 112 | 112 | ||
| 113 | **脚本介绍** | 113 | **脚本介绍** |
| 114 | 114 | ||
| 115 | -本节使用MindIE Motor安装目录(examples/kubernetes_deploy_scripts)中的脚本实现一键式部署和卸载MindIE PD分离集群功能,集群管理员用户可参考这些脚本文件线下使用K8s kubectl工具操作集群。 | 115 | +本节使用MindIE Motor CPP安装目录(examples/kubernetes_deploy_scripts)中的脚本实现一键式部署和卸载MindIE PD分离集群功能,集群管理员用户可参考这些脚本文件线下使用K8s kubectl工具操作集群。 |
| 116 | 集群管理员用户只需在管理节点完成启动脚本编写、业务配置和kubernetes配置,然后调用部署脚本,实现自动下发业务配置和启动脚本,自动全局ranktable生成,以及自动调度Pod到计算节点。 | 116 | 集群管理员用户只需在管理节点完成启动脚本编写、业务配置和kubernetes配置,然后调用部署脚本,实现自动下发业务配置和启动脚本,自动全局ranktable生成,以及自动调度Pod到计算节点。 |
| 117 | 117 | ||
| 118 | >[!NOTE]说明 | 118 | >[!NOTE]说明 |
| @@ -240,12 +240,12 @@ PD分离部署支持的硬件环境如下所示。 | |||
| 240 | |inferMode|配置为dmi。| | 240 | |inferMode|配置为dmi。| |
| 241 | |tp|整网张量并行数,取值为worldSize参数值;该参数为补充参数,请自行在ModelConfig字段下配置。| | 241 | |tp|整网张量并行数,取值为worldSize参数值;该参数为补充参数,请自行在ModelConfig字段下配置。| |
| 242 | 242 | ||
| 243 | - 在单机PD分离部署场景下,多个Server进程将运行于同一Pod中,每个Server进程需对应独立的配置文件。为简化配置流程,可使用mindie_service_single_container.yaml文件(文件所在目录: *{mindie-motor安装目录}*/src/example/deploy_scripts/deployment)中的MINDIE_MS_GEN_SERVER_PORT环境变量进行管理。该环境变量支持两种配置模式: | 243 | + 在单机PD分离部署场景下,多个Server进程将运行于同一Pod中,每个Server进程需对应独立的配置文件。为简化配置流程,可使用mindie_service_single_container.yaml文件(文件所在目录: *{MindIE Motor CPP安装目录}*/src/example/deploy_scripts/deployment)中的MINDIE_MS_GEN_SERVER_PORT环境变量进行管理。该环境变量支持两种配置模式: |
| 244 | 244 | ||
| 245 | - true(默认值):系统将根据用户配置的config.json文件,自动生成多个配置文件(config1.json、config2.json、...、config{server_num}.json)。每个配置文件对应一个Server进程,系统将为配置文件中的端口参数:port、managementPort、metricsPort和interCommPort分配互不冲突的端口号,确保各进程独立运行。 | 245 | - true(默认值):系统将根据用户配置的config.json文件,自动生成多个配置文件(config1.json、config2.json、...、config{server_num}.json)。每个配置文件对应一个Server进程,系统将为配置文件中的端口参数:port、managementPort、metricsPort和interCommPort分配互不冲突的端口号,确保各进程独立运行。 |
| 246 | - false:用户需提供与Server数量匹配的配置文件(config1.json、config2.json、...、config{server_num}.json)。在该模式下,用户可自由配置各端口参数。系统具备端口冲突检测机制,若配置文件中存在端口冲突,系统将自动分配其他可用端口号,确保程序正常启动。 | 246 | - false:用户需提供与Server数量匹配的配置文件(config1.json、config2.json、...、config{server_num}.json)。在该模式下,用户可自由配置各端口参数。系统具备端口冲突检测机制,若配置文件中存在端口冲突,系统将自动分配其他可用端口号,确保程序正常启动。 |
| 247 | 247 | ||
| 248 | -5. 配置http_client_ctl.json配置文件(文件所在目录: *{mindie-motor安装目录}*/src/config),该配置文件为集群启动、存活、就绪探针HTTP客户端工具的配置文件,具体参数解释请参见[表4 http_client_ctl.json配置说明](../service_oriented_optimization_tool/mindie_probe_tool.md#table13687127115213)。 | 248 | +5. 配置http_client_ctl.json配置文件(文件所在目录: *{MindIE Motor CPP安装目录}*/src/config),该配置文件为集群启动、存活、就绪探针HTTP客户端工具的配置文件,具体参数解释请参见[表4 http_client_ctl.json配置说明](../service_oriented_optimization_tool/mindie_probe_tool.md#table13687127115213)。 |
| 249 | 249 | ||
| 250 | **tls_enable**参数为控制是否使用HTTPS的开关,若集群内MindIE组件使用了HTTPS接口,需设置**tls_enable**为"true",并导入证书到容器内,配置相应的证书路径。如使用HTTP接口,则设置**tls_enable**为"false",无需准备证书文件。 | 250 | **tls_enable**参数为控制是否使用HTTPS的开关,若集群内MindIE组件使用了HTTPS接口,需设置**tls_enable**为"true",并导入证书到容器内,配置相应的证书路径。如使用HTTP接口,则设置**tls_enable**为"false",无需准备证书文件。 |
| 251 | 251 | ||
| @@ -723,7 +723,7 @@ PD分离部署支持的硬件环境如下所示。 | |||
| 723 | 723 | ||
| 724 | **脚本介绍**<a id="section1373016122377"></a> | 724 | **脚本介绍**<a id="section1373016122377"></a> |
| 725 | 725 | ||
| 726 | -本节使用MindIE Motor安装目录(examples/kubernetes_deploy_scripts)中的脚本实现一键式部署和卸载MindIE PD分离集群功能,集群管理员用户可参考这些脚本文件线下使用K8s kubectl工具操作集群。 | 726 | +本节使用MindIE Motor CPP安装目录(examples/kubernetes_deploy_scripts)中的脚本实现一键式部署和卸载MindIE PD分离集群功能,集群管理员用户可参考这些脚本文件线下使用K8s kubectl工具操作集群。 |
| 727 | 集群管理员用户只需在管理节点完成启动脚本编写、业务配置和kubernetes配置,然后调用部署脚本,实现自动下发业务配置和启动脚本,自动全局ranktable生成,以及自动调度Pod到计算节点。 | 727 | 集群管理员用户只需在管理节点完成启动脚本编写、业务配置和kubernetes配置,然后调用部署脚本,实现自动下发业务配置和启动脚本,自动全局ranktable生成,以及自动调度Pod到计算节点。 |
| 728 | 728 | ||
| 729 | >[!NOTE]说明 | 729 | >[!NOTE]说明 |
| @@ -926,7 +926,7 @@ PD分离部署支持的硬件环境如下所示。 | |||
| 926 | 926 | ||
| 927 | >[!NOTE]说明 | 927 | >[!NOTE]说明 |
| 928 | >- mindie_ms_coordinator.yaml文件需特别关注livenessProbe(存活探针)参数,在高并发推理请求场景下,可能会因为探针超时,从而被K8s识别为Pod不存活,导致K8s重启Coordinator容器,建议用户谨慎开启livenessProbe(存活探针)。 | 928 | >- mindie_ms_coordinator.yaml文件需特别关注livenessProbe(存活探针)参数,在高并发推理请求场景下,可能会因为探针超时,从而被K8s识别为Pod不存活,导致K8s重启Coordinator容器,建议用户谨慎开启livenessProbe(存活探针)。 |
| 929 | - >- 为了支持MindIE Controller故障恢复功能,mindie_ms_controller.yaml文件中volumes参数的name: status-data所配置的目录,必须为待部署计算节点(该计算节点通过nodeSelector参数指定)上真实存在,且volumeMounts参数中的name: status-data挂载路径必须为:/_MindIE Motor安装路径_/logs。 | 929 | + >- 为了支持MindIE Controller故障恢复功能,mindie_ms_controller.yaml文件中volumes参数的name: status-data所配置的目录,必须为待部署计算节点(该计算节点通过nodeSelector参数指定)上真实存在,且volumeMounts参数中的name: status-data挂载路径必须为:/_MindIE Motor CPP安装路径_/logs。 |
| 930 | 930 | ||
| 931 | - mindie_server_heterogeneous.yaml文件主要配置的字段如下所示: | 931 | - mindie_server_heterogeneous.yaml文件主要配置的字段如下所示: |
| 932 | - replicas:配置D的实例数,如果配置为4D,即配置为4。 | 932 | - replicas:配置D的实例数,如果配置为4D,即配置为4。 |
| @@ -30,7 +30,7 @@ | |||
| 30 | >- Atlas 800I A2 推理服务器需要配置卡IP并安装Ascend Operator组件;Atlas 300I Duo 推理卡+Atlas 800 推理服务器(型号 3000)无需配置和安装。 | 30 | >- Atlas 800I A2 推理服务器需要配置卡IP并安装Ascend Operator组件;Atlas 300I Duo 推理卡+Atlas 800 推理服务器(型号 3000)无需配置和安装。 |
| 31 | >- 当前部署脚本不支持NPU故障重调度场景。 | 31 | >- 当前部署脚本不支持NPU故障重调度场景。 |
| 32 | 32 | ||
| 33 | -本小节使用MindIE Motor的run包安装目录(./mindie-service/latest/examples/kubernetes_deploy_scripts)中的脚本实现调用kubectl进行服务部署,脚本提供一键式部署和卸载单机形态集群功能,集群管理员用户可参考这些脚本线下使用K8s kubectl工具部署服务。 | 33 | +本小节使用MindIE Motor CPP的run包安装目录(./mindie-service/latest/examples/kubernetes_deploy_scripts)中的脚本实现调用kubectl进行服务部署,脚本提供一键式部署和卸载单机形态集群功能,集群管理员用户可参考这些脚本线下使用K8s kubectl工具部署服务。 |
| 34 | 34 | ||
| 35 | 集群管理员用户只需在管理节点完成启动脚本编写、业务配置和K8s配置,再调用部署脚本,实现自动下发业务配置和启动脚本,自动生成包含节点设备信息的ranktable,并调度Pod到计算节点。 | 35 | 集群管理员用户只需在管理节点完成启动脚本编写、业务配置和K8s配置,再调用部署脚本,实现自动下发业务配置和启动脚本,自动生成包含节点设备信息的ranktable,并调度Pod到计算节点。 |
| 36 | 36 | ||
| @@ -162,7 +162,7 @@ | |||
| 162 | 162 | ||
| 163 | >[!NOTE]说明 | 163 | >[!NOTE]说明 |
| 164 | >- mindie_ms_coordinator.yaml文件需特别关注livenessProbe(存活探针)参数,在高并发推理请求场景下,可能会因为探针超时,从而被K8s识别为Pod不存活,导致K8s重启Coordinator容器,建议用户谨慎开启livenessProbe(存活探针)。 | 164 | >- mindie_ms_coordinator.yaml文件需特别关注livenessProbe(存活探针)参数,在高并发推理请求场景下,可能会因为探针超时,从而被K8s识别为Pod不存活,导致K8s重启Coordinator容器,建议用户谨慎开启livenessProbe(存活探针)。 |
| 165 | - >- 为了支持MindIE Controller故障恢复功能,mindie_ms_controller.yaml文件中volumes参数的name: status-data所配置的目录,必须为待部署计算节点(该计算节点通过nodeSelector参数指定)上真实存在,且volumeMounts参数中的name: status-data挂载路径必须为:/_MindIE Motor安装路径_/logs。 | 165 | + >- 为了支持MindIE Controller故障恢复功能,mindie_ms_controller.yaml文件中volumes参数的name: status-data所配置的目录,必须为待部署计算节点(该计算节点通过nodeSelector参数指定)上真实存在,且volumeMounts参数中的name: status-data挂载路径必须为:/_MindIE Motor CPP安装路径_/logs。 |
| 166 | 166 | ||
| 167 | 6. 拉起集群。<a id="li1651115619332"></a> | 167 | 6. 拉起集群。<a id="li1651115619332"></a> |
| 168 | 168 | ||
| @@ -1,6 +1,6 @@ | |||
| 1 | # MindIE探针工具 | 1 | # MindIE探针工具 |
| 2 | 2 | ||
| 3 | -MindIE Motor提供探针脚本,使能kubernetes探针检测功能,支持启动,存活,就绪三种探针。 | 3 | +MindIE Motor CPP提供探针脚本,使能kubernetes探针检测功能,支持启动,存活,就绪三种探针。 |
| 4 | 4 | ||
| 5 | 脚本适用于以下部署场景: | 5 | 脚本适用于以下部署场景: |
| 6 | 6 | ||
| @@ -9,7 +9,7 @@ MindIE Motor提供探针脚本,使能kubernetes探针检测功能,支持启 | |||
| 9 | <li>仅集成Server PD混合部署场景。</li> | 9 | <li>仅集成Server PD混合部署场景。</li> |
| 10 | </ul> | 10 | </ul> |
| 11 | 11 | ||
| 12 | -在MindIE Motor安装路径下,可找到探针入口脚本:$MIES_INSTALL_PATH/scripts/http_client_ctl/probe.sh。 | 12 | +在MindIE Motor CPP安装路径下,可找到探针入口脚本:$MIES_INSTALL_PATH/scripts/http_client_ctl/probe.sh。 |
| 13 | 13 | ||
| 14 | <br> | 14 | <br> |
| 15 | 15 | ||
| @@ -32,7 +32,7 @@ MindIE Motor提供探针脚本,使能kubernetes探针检测功能,支持启 | |||
| 32 | |环境变量|说明| | 32 | |环境变量|说明| |
| 33 | |--|--| | 33 | |--|--| |
| 34 | |POD_IP|容器Pod IP。| | 34 | |POD_IP|容器Pod IP。| |
| 35 | -|MIES_INSTALL_PATH|MindIE Motor安装路径。| | 35 | +|MIES_INSTALL_PATH|MindIE Motor CPP安装路径。| |
| 36 | |MINDIE_SERVER_PROBE_ONLY|仅针对Server进行状态探测的标志,设置为1时生效,适用于仅集成部署Server的PD混合场景。| | 36 | |MINDIE_SERVER_PROBE_ONLY|仅针对Server进行状态探测的标志,设置为1时生效,适用于仅集成部署Server的PD混合场景。| |
| 37 | |GLOBAL_RANK_TABLE_FILE_PATH|全局ranktable文件路径,适用于集成Controller、Coordinator和Server多组件部署的场景。| | 37 | |GLOBAL_RANK_TABLE_FILE_PATH|全局ranktable文件路径,适用于集成Controller、Coordinator和Server多组件部署的场景。| |
| 38 | |MINDIE_UTILS_HTTP_CLIENT_CTL_CONFIG_FILE_PATH|探针配置文件的读取路径。| | 38 | |MINDIE_UTILS_HTTP_CLIENT_CTL_CONFIG_FILE_PATH|探针配置文件的读取路径。| |
| @@ -94,4 +94,4 @@ MindIE Motor提供探针脚本,使能kubernetes探针检测功能,支持启 | |||
| 94 | - 方式一:在制作镜像的过程中拷贝相关的证书到容器内。 | 94 | - 方式一:在制作镜像的过程中拷贝相关的证书到容器内。 |
| 95 | - 方式二:在启动容器时将相关文件通过宿主机挂载方式导入。 | 95 | - 方式二:在启动容器时将相关文件通过宿主机挂载方式导入。 |
| 96 | 96 | ||
| 97 | -最后需将MindIE Motor安装路径下的conf/http_client_ctl.json文件"cert"字段中的相关文件路径配置为导入容器后的绝对路径。 | 97 | +最后需将MindIE Motor CPP安装路径下的conf/http_client_ctl.json文件"cert"字段中的相关文件路径配置为导入容器后的绝对路径。 |
| @@ -2,7 +2,7 @@ | |||
| 2 | 2 | ||
| 3 | 在服务化框架的性能测试中,由于其内部机制不透明(黑盒效应),常出现反直觉现象,例如并发量增加时吞吐量反而降低,或相同配置在不同硬件平台上呈现显著性能差异。msServiceProfiler服务化调优工具的核心价值在于实现服务化框架从“黑盒”到“白盒”的转变,通过全链路性能剖析(Profiling),清晰呈现服务化调度全过程的性能表现。 | 3 | 在服务化框架的性能测试中,由于其内部机制不透明(黑盒效应),常出现反直觉现象,例如并发量增加时吞吐量反而降低,或相同配置在不同硬件平台上呈现显著性能差异。msServiceProfiler服务化调优工具的核心价值在于实现服务化框架从“黑盒”到“白盒”的转变,通过全链路性能剖析(Profiling),清晰呈现服务化调度全过程的性能表现。 |
| 4 | 4 | ||
| 5 | -该工具提供对MindIE Motor推理服务的深度性能数据采集与解析能力: | 5 | +该工具提供对MindIE Motor CPP推理服务的深度性能数据采集与解析能力: |
| 6 | 6 | ||
| 7 | - 框架调度透视:全面采集服务化框架调度信息、模型推理状态及关键事件(如重计算)的精确时序。 | 7 | - 框架调度透视:全面采集服务化框架调度信息、模型推理状态及关键事件(如重计算)的精确时序。 |
| 8 | - 性能瓶颈定界:集成MSPTI与msprof能力,同时采集算子级性能数据,支持用户关联分析框架调度与纯模型推理性能,快速定界问题(框架侧或模型侧)。 | 8 | - 性能瓶颈定界:集成MSPTI与msprof能力,同时采集算子级性能数据,支持用户关联分析框架调度与纯模型推理性能,快速定界问题(框架侧或模型侧)。 |
| @@ -19,11 +19,11 @@ | |||
| 19 | 19 | ||
| 20 | 1. 环境准备。 | 20 | 1. 环境准备。 |
| 21 | 21 | ||
| 22 | - 请参见[MindIE安装指南](../install/installing_mindie.md)完成MindIE的安装和配置并确认MindIE Motor可以正常运行。 | 22 | + 请参见[MindIE安装指南](../install/installing_mindie.md)完成MindIE的安装和配置并确认MindIE Motor CPP可以正常运行。 |
| 23 | 23 | ||
| 24 | 2. <a id="li104932444507"></a>配置环境变量。 | 24 | 2. <a id="li104932444507"></a>配置环境变量。 |
| 25 | 25 | ||
| 26 | - msServiceProfiler的采集能力需要在部署MindIE Motor服务之前,通过设置环境变量SERVICE_PROF_CONFIG_PATH方能生效。如果环境变量拼写错误,或者没有在部署MindIE Motor服务之前设置环境变量,将无法使能msServiceProfiler的采集能力。 | 26 | + msServiceProfiler的采集能力需要在部署MindIE Motor CPP服务之前,通过设置环境变量SERVICE_PROF_CONFIG_PATH方能生效。如果环境变量拼写错误,或者没有在部署MindIE Motor CPP服务之前设置环境变量,将无法使能msServiceProfiler的采集能力。 |
| 27 | 27 | ||
| 28 | 以ms_service_profiler_config.json文件名为例,执行下列命令配置环境变量。 | 28 | 以ms_service_profiler_config.json文件名为例,执行下列命令配置环境变量。 |
| 29 | 29 | ||
| @@ -33,7 +33,7 @@ | |||
| 33 | 33 | ||
| 34 | SERVICE_PROF_CONFIG_PATH的值需要指定到json文件名,该json文件即为控制性能数据采集的配置文件,比如采集性能元数据存放位置、算子采集开关等,具体字段介绍参考[4](#li10670349115211)。若路径下无配置文件,工具将自动生成默认配置(采集开关默认为关闭状态)。 | 34 | SERVICE_PROF_CONFIG_PATH的值需要指定到json文件名,该json文件即为控制性能数据采集的配置文件,比如采集性能元数据存放位置、算子采集开关等,具体字段介绍参考[4](#li10670349115211)。若路径下无配置文件,工具将自动生成默认配置(采集开关默认为关闭状态)。 |
| 35 | 35 | ||
| 36 | -3. 运行MindIE Motor服务。 | 36 | +3. 运行MindIE Motor CPP服务。 |
| 37 | 37 | ||
| 38 | 如果正确配置了环境变量,工具会在服务部署完成之前输出如下[msservice_profiler]开头的日志,说明msServiceProfiler已启动,如下所示。 | 38 | 如果正确配置了环境变量,工具会在服务部署完成之前输出如下[msservice_profiler]开头的日志,说明msServiceProfiler已启动,如下所示。 |
| 39 | 39 | ||
| @@ -52,7 +52,7 @@ | |||
| 52 | 52 | ||
| 53 | 4. <a id="li10670349115211"></a>数据采集。 | 53 | 4. <a id="li10670349115211"></a>数据采集。 |
| 54 | 54 | ||
| 55 | - MindIE Motor服务部署成功之后,可以通过修改配置文件中的字段来进行精准控制采集行为。 | 55 | + MindIE Motor CPP服务部署成功之后,可以通过修改配置文件中的字段来进行精准控制采集行为。 |
| 56 | 56 | ||
| 57 | ```json | 57 | ```json |
| 58 | { | 58 | { |
| @@ -71,7 +71,7 @@ | |||
| 71 | |prof_dir|采集到的性能数据的存放路径,默认值为${HOME}/.ms_server_profiler。<br>该路径下存放的是性能原始数据,需要继续执行后续解析步骤,才能获取可视化的性能数据文件进行分析。<br>在enable为0时,对prof_dir进行自定义修改,随后修改enable为1时生效;在enable为1时,直接修改prof_dir,则修改不生效。|否| | 71 | |prof_dir|采集到的性能数据的存放路径,默认值为${HOME}/.ms_server_profiler。<br>该路径下存放的是性能原始数据,需要继续执行后续解析步骤,才能获取可视化的性能数据文件进行分析。<br>在enable为0时,对prof_dir进行自定义修改,随后修改enable为1时生效;在enable为1时,直接修改prof_dir,则修改不生效。|否| |
| 72 | |acl_task_time|开启采集算子下发耗时、算子执行耗时数据的开关,取值为:<ul><li>0:关闭。默认值,配置为0或其他非法值均表示关闭。</li><li>1:开启。</li></ul>**该功能开启时会占用一定的设备性能,导致采集的性能数据不准确,建议在模型执行耗时异常时开启,用于更细致的分析。<br>算子采集数据量较大,推荐集中采集3 ~ 5s,时间过长会导致占用额外磁盘空间,消耗额外的解析时间,从而导致性能定位时间拉长。<br>默认算子采集等级为L0,如果需要开启其他算子采集等级,请参见《服务化调优工具》的完整参数介绍。**|否| | 72 | |acl_task_time|开启采集算子下发耗时、算子执行耗时数据的开关,取值为:<ul><li>0:关闭。默认值,配置为0或其他非法值均表示关闭。</li><li>1:开启。</li></ul>**该功能开启时会占用一定的设备性能,导致采集的性能数据不准确,建议在模型执行耗时异常时开启,用于更细致的分析。<br>算子采集数据量较大,推荐集中采集3 ~ 5s,时间过长会导致占用额外磁盘空间,消耗额外的解析时间,从而导致性能定位时间拉长。<br>默认算子采集等级为L0,如果需要开启其他算子采集等级,请参见《服务化调优工具》的完整参数介绍。**|否| |
| 73 | 73 | ||
| 74 | - 如果enable一直为1,当MindIE Motor推理服务从收到请求的那一刻,工具会一直采集,直到请求结束,prof_dir下的目录大小也会不断增长,因此推荐用户仅采集关键时间段的信息。 | 74 | + 如果enable一直为1,当MindIE Motor CPP推理服务从收到请求的那一刻,工具会一直采集,直到请求结束,prof_dir下的目录大小也会不断增长,因此推荐用户仅采集关键时间段的信息。 |
| 75 | 75 | ||
| 76 | 每当enable字段发生变更时,工具都会输出对应的日志进行告知。 | 76 | 每当enable字段发生变更时,工具都会输出对应的日志进行告知。 |
| 77 | 77 | ||
| @@ -1,8 +1,8 @@ | |||
| 1 | -# MindIE-Motor DT | 1 | +# MindIE Motor CPP DT |
| 2 | 2 | ||
| 3 | ## 使用方法 | 3 | ## 使用方法 |
| 4 | 4 | ||
| 5 | -1. **克隆项目**并在**MindIE-Motor项目根目录**下 | 5 | +1. **克隆项目**并在**MindIE Motor CPP项目根目录**下 |
| 6 | 2. **运行脚本**: | 6 | 2. **运行脚本**: |
| 7 | 7 | ||
| 8 | ```bash | 8 | ```bash |
| @@ -11,13 +11,13 @@ | |||
| 11 | 11 | ||
| 12 | ### 参数说明 | 12 | ### 参数说明 |
| 13 | 13 | ||
| 14 | -- `--component` | 14 | +- `--component` |
| 15 | 指定要测试的组件。可选值:`benchmark`、`mindieclient` 或 `all`(默认是 `all`)。 | 15 | 指定要测试的组件。可选值:`benchmark`、`mindieclient` 或 `all`(默认是 `all`)。 |
| 16 | 16 | ||
| 17 | -- `--report-path` | 17 | +- `--report-path` |
| 18 | 指定报告的保存路径(可选,默认为./tests目录下的 `reports` 文件夹)。 | 18 | 指定报告的保存路径(可选,默认为./tests目录下的 `reports` 文件夹)。 |
| 19 | 19 | ||
| 20 | -- `--subdir` | 20 | +- `--subdir` |
| 21 | 指定测试某个组件下的子目录/文件(可选)。 | 21 | 指定测试某个组件下的子目录/文件(可选)。 |
| 22 | 22 | ||
| 23 | ### 示例 | 23 | ### 示例 |
| @@ -1,4 +1,4 @@ | |||
| 1 | -# MindIE-Motor 防护网 | 1 | +# MindIE Motor CPP 防护网 |
| 2 | 2 | ||
| 3 | 提供易用的服务化性能与精度防护方案,该方案基于终端复用工具tmux | 3 | 提供易用的服务化性能与精度防护方案,该方案基于终端复用工具tmux |
| 4 | 4 | ||
| @@ -21,19 +21,19 @@ sudo yum install tmux | |||
| 21 | 21 | ||
| 22 | ## 单独编译 | 22 | ## 单独编译 |
| 23 | 23 | ||
| 24 | -若需要编译MindIE_Motor源码,则执行命令 | 24 | +若需要编译MindIE Motor CPP源码,则执行命令 |
| 25 | 25 | ||
| 26 | ```python | 26 | ```python |
| 27 | python3 compile_utils.py | 27 | python3 compile_utils.py |
| 28 | ``` | 28 | ``` |
| 29 | 29 | ||
| 30 | -该脚本实现了拉取编译三方依赖、编译三方依赖、完整编译MindIE-Motor仓的功能。编译的输出在output文件夹中。 | 30 | +该脚本实现了拉取编译三方依赖、编译三方依赖、完整编译MindIE Motor CPP仓的功能。编译的输出在output文件夹中。 |
| 31 | 31 | ||
| 32 | 该脚本的前置条件为用户准备好了MindIE编译镜像(包含完整配套的依赖)以及MindIE-LLM的配套run包。用户通过编辑config.json中的"compile_environment"字段指定编译镜像的名称以及MindIE-LLM的配套run包的路径。 | 32 | 该脚本的前置条件为用户准备好了MindIE编译镜像(包含完整配套的依赖)以及MindIE-LLM的配套run包。用户通过编辑config.json中的"compile_environment"字段指定编译镜像的名称以及MindIE-LLM的配套run包的路径。 |
| 33 | 33 | ||
| 34 | ## 单独执行测试用例 | 34 | ## 单独执行测试用例 |
| 35 | 35 | ||
| 36 | -若需要测试已编译的MindIE_Motor,则可以直接执行全量防护网用例命令 | 36 | +若需要测试已编译的MindIE Motor CPP,则可以直接执行全量防护网用例命令 |
| 37 | 37 | ||
| 38 | ```python | 38 | ```python |
| 39 | python3 sys_test.py | 39 | python3 sys_test.py |