| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
feat: 新增 inplace_partial_rotary_mul 算子 Co-authored-by: wangxun21<wangxun21@huawei.com> Co-authored-by: zhu-lei0614<zhulei113@huawei.com> # message auto-generated for no-merge-commit merge: !6085 merge feat/inplace_partial_rotary_mul into master feat: 新增 inplace_partial_rotary_mul 算子 Created-by: wangxun21 Commit-by: wangxun21;zhu-lei0614 Merged-by: cann-robot Description: ## 描述 新增 posembedding/inplace_partial_rotary_mul 算子,支持原地部分旋转乘法操作。 该算子用于 RoPE(旋转位置编码)场景,支持 ascend910b、ascend910_93、ascend950 三个平台,包含 regbase 和 membase 两种 kernel 实现方式。 共新增 50 个文件,11257 行代码,包括: - op_host: tiling 定义、infershape、op_api 接口 - op_kernel: regbase (arch35) 和 membase kernel 实现 - op_graph: proto 定义 - docs: aclnn 接口文档 - examples: 测试示例代码 ## 关联的Issue #2752 ## 测试 - 已提供 examples 测试示例代码 - 需编译验证和精度测试 ## 文档更新 - 新增 aclnnInplacePartialRotaryMul.md 接口文档 - 新增 README.md 算子说明文档 ## 类型标签 - [x] ✨ 新特性 See merge request: cann/ops-transformer!6085 | 1 个月前 | |
feat(inplace_partial_rotary_mul): add torch interface migration Co-authored-by: wangxun21<wangxun21@huawei.com> # message auto-generated for no-merge-commit merge: !7202 merge torch_api_add into master feat(inplace_partial_rotary_mul): add torch interface migration Created-by: wangxun21 Commit-by: wangxun21 Merged-by: cann-robot Description: ## 描述 为 inplace_partial_rotary_mul 算子新增 PyTorch 接口迁移,使其可通过 cann_ops_transformer 包在 NPU 上直接调用。 具体改动内容: 1. **Python 封装层** (inplace_partial_rotary_mul.py):使用 OpBuilder 模式实现 JIT 编译 + dispatcher 注册,提供 Python 调用接口 - OpBuilder 定义 schema、sources、meta 注册 - PrivateUse1 dispatcher 实现 NPU 调用 - 公开函数 inplace_partial_rotary_mul(x, r1, r2, rotary_mode, partial_slice) 2. **C++ 绑定层** (inplace_partial_rotary_mul.cpp):通过 ACLNN_CMD 宏调用底层 aclnnInplacePartialRotaryMul 算子 - 参数校验:x dim=4、rotary_mode 合法性、当前仅支持 interleave 模式 - rotary_mode 映射:half=0, interleave=1, quarter=2, interleave-half=3 3. **图模式转换器** (graph_convert_inplace_partial_rotary_mul.py):实现 torchair GE converter,支持图模式下调用 - 定义 InplacePartialRotaryMul GE op - 注册 torch.ops.cann_ops_transformer.inplace_partial_rotary_mul.default 转换器 4. **算子文档** (npu_inplace_partial_rotary_mul.md):新增接口说明文档,包含参数说明和使用示例 5. **导出注册** (__init__.py):注册 inplace_partial_rotary_mul 及 convert_inplace_partial_rotary_mul 到包导出 6. **.gitignore**:添加本地测试文件排除规则 ## 关联的Issue 关联Issue #3239 ## 测试 - Python eager 模式基本功能验证 - 参数校验覆盖:dim 检查、rotary_mode 检查、partial_slice 检查 - 图模式转换器注册验证 ## 文档更新 新增 torch_extension/cann_ops_transformer/doc/npu_inplace_partial_rotary_mul.md 算子接口文档 ## 类型标签 - [ ] 🐛 Bug修复 - [x] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧠 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!7202 | 1 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 1 个月前 |