MindStudio Kernel Performance Prediction 开发环境搭建及编译和UT方法
1. 预备知识
请参考《msKPP 架构设计文档》学习代码框架及核心流程。
2. 开发环境准备
-
硬件环境请参见《昇腾产品形态说明》。
-
请按照以下文档进行环境配置:《算子工具开发环境安装指导》。
-
要求构建环境中安装python3.9或以上版本。
-
mskpp需要依赖其他python库。通过pip install -r requirement.txt一键式安装依赖库。
-
gcc 版本 > 7.4.0 -
3.20.2 <= CMAKE版本 <= 3.31.10
3. 编译打包
分为如下两种方式,优缺点如下:
| 方法 | 适用场景 | 优点 | 缺点 |
|---|---|---|---|
| 一键式脚本 | 首次构建、CI/CD 流水线 | 零配置,一步到位 | 无法单独执行某一步骤 |
| 分步骤脚本 | 日常开发、增量编译 | 灵活,效率高 | 需要多步操作 |
3.1 方法一:一键式脚本
python build.py
3.2 方法二:分步骤脚本
3.2.1 编译打包
mkdir build
cd build
cmake ..
make -j$(nproc) install # -j 是并行编译的 job 数量,可自行指定;nproc 不可用时请手动填数字(例如 -j8)。
3.2.1.2 编译结果说明
编译结果生成到 output 目录下:
output/
|-- include # API接口头文件
|-- lib # 静态库
|-- lib64 # 动态库
|-- mindstudio_kpp-XXX-py3-none-manylinux_2_31_XXX.whl # 安装包
3.2.3 清理/重新编译
删除构建目录,重新执行第 3.2.1 节:
rm -rf build
4. 执行UT测试
4.1 一键式脚本
python的UT测试,依赖pytest和coverage工具,可通过执行 pip install coverage pytest 安装
python build.py test
输出类似如下,若跑的用例数和通过用例数相同,即表示成功:
[==========] 37 tests from 6 test cases ran. (616 ms total)
[ PASSED ] 37 tests.
4.2 清理/重新编译
删除构建目录,重新执行第 4.1 节:
rm -rf build_ut