# ms_ops **Repository Path**: moyuu2025/ms_ops ## Basic Information - **Project Name**: ms_ops - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 7 - **Created**: 2026-05-18 - **Last Updated**: 2026-06-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # custom_ops [View English](./README.md) - [custom_ops 介绍](#custom_ops-介绍) - [核心特性](#核心特性) - [工作原理](#工作原理) - [快速开始](#快速开始) - [仓库布局](#仓库布局) - [文档](#文档) - [贡献](#贡献) - [许可证](#许可证) ## custom_ops 介绍 `custom_ops` 是一个面向 MindSpore Ascend 的自定义算子仓库,它以 YAML 算子定义文件作为依据,生成 MindSpore 自定义算子适配代码,通过配置驱动快速实现 ACLNN 算子集成。 已支持算子可参考 [operation_manu](./docs/operation_manu_CN.md)。 ### 核心特性 - **YAML 驱动接入**:算子规格集中维护在 `custom_ops/config/`,便于批量接入和统一审查。 - **自动生成链路**:支持生成 MindSpore 侧算子自定义接入代码、测试骨架和算子文档。 - **双模式加载**:同时支持源码树 dev 模式和 release 模式,兼顾开发调试与发布验证。 - **Ascend 定向适配**:面向 MindSpore Ascend + CANN 环境,聚焦 ACLNN / 自定义扩展场景。 - **可扩展归档路径**:预留 `custom_ops/cann_ops/` 作为后续自研 ACLNN / AscendC 源码归档位置。 ## 快速开始 编译和安装 ```bash CUSTOM_OPS_BUILD_JOBS=24 python compile.py --release --jobs 24 python -m pip install --force-reinstall output/custom_ops-*.whl ``` 简单的使用示例: ```python import custom_ops import mindspore as ms ms.set_device("Ascend") x = ms.Tensor([1.0, -2.0, 3.0], dtype=ms.float32) print(ms.ops.custom.fast_gelu(x).asnumpy()) ``` 运行环境要求、编译命令、wheel 生成、加载模式和安装验证流程,请参考 [docs/compilation_modes_CN.md](./docs/compilation_modes_CN.md)。 如需搭建 CANN 和 MindSpore 执行环境,可参考 MindSpore 官方仓库:[https://gitcode.com/mindspore/mindspore](https://gitcode.com/mindspore/mindspore)。 ## 仓库布局 ```text ms_ops/ ├── custom_ops/ │ ├── __init__.py # 源码树导入 shim │ ├── python/ │ │ ├── __init__.py # 包入口 │ │ ├── bootstrap.py # 注册 ms.ops.custom │ │ ├── dev_loader.py # 源码树 JIT 加载器 │ │ ├── ops.py # Python 兼容入口 │ │ ├── custom/ # 惰性 ms.ops.custom 命名空间桥接 │ │ ├── registry/ # 运行时注册辅助 │ │ └── _C/ # in-place release 构建产物 │ ├── config/ # YAML 算子规格 │ ├── ms_adapter/ │ │ ├── common/ # 共享 C++ 入口和推导辅助 │ │ ├── pynative/ # 当前启用的 PyNative 适配路径 │ │ └── kbk/ # 预留图模式适配路径 │ ├── cann_ops/ # 预留自研 ACLNN / AscendC 归档 │ └── pt_adapter/ # 预留 PyTorch 侧适配归档 ├── codegen/ │ ├── ms_adapter/ # 代码生成脚本 │ └── templates/ # Jinja2 模板 ├── tests/ │ ├── shared/ # 共享 fixture、工具和 opinfo 基座 │ ├── ms_adapter/ # MindSpore 适配层测试与 opinfo 用例 │ ├── pt_adapter/ # 预留 PyTorch 适配层测试 │ ├── legacy/ # 历史生成的 function/aclnn 测试 │ └── package/ # 包、导入和构建模式检查 ├── docs/ # 指南和生成的算子文档 ├── reference/ # 外部参考代码快照 ├── compile.py ├── setup.py └── pyproject.toml ``` ## 文档 - [docs/compilation_modes_CN.md](./docs/compilation_modes_CN.md):编译和加载模式说明 - [docs/directory_structure_CN.md](./docs/directory_structure_CN.md):目录结构说明 - [docs/ms_ops_development_guide_CN.md](./docs/ms_ops_development_guide_CN.md):开发指南、测试命令和算子接入流程 - [docs/operation_manu_CN.md](./docs/operation_manu_CN.md):算子文档入口 - [docs/operators/supported_operators_CN.md](./docs/operators/supported_operators_CN.md):已支持算子列表 ## 贡献 欢迎围绕以下方向继续完善本仓: - 新增或补齐 YAML 算子规格 - 增强 MindSpore 侧适配实现 - 补测试和回归用例 - 改进算子文档和开发文档 提交前建议至少完成与改动范围对应的测试验证,确保 dev / release 相关行为没有回归。 ## 许可证 当前仓库根目录未单独提供 `LICENSE` 文件。若需明确许可证约束,请结合仓库后续补充信息或上游项目约定一并确认。