文件最后提交记录最后更新时间
math仓的doc tools 工具检测的低错问题 Co-authored-by: caiwenwen<caiwenwen6@h-partners.com> # message auto-generated for no-merge-commit merge: !2461 merge master into master math仓的doc tools 工具检测的低错问题 Created-by: caiwenwen Commit-by: caiwenwen Merged-by: cann-robot Description: ## 描述 处理math仓的doc tools 工具检测的低错问题,包括markdown低错、htlm标签合入、链接是否可以正常跳转 ## 关联的Issue #关联issue#1262 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 更新全部文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!24611 个月前
rectify examples Co-authored-by: sujunwei3<sujunwei3@huawei.com> # message auto-generated for no-merge-commit merge: !2972 merge dev_extra into master rectify examples Created-by: sujunwei3 Commit-by: sujunwei3 Merged-by: cann-robot Description: ## 描述 整改 GE IR 用例代码, 修复部分数据类型下GenData逻辑问题。 **主要改动**: 1. 修复命名空间问题:FORMAT_NDge::FORMAT_ND 2. 修复宏参数类型:GenOnesData(..., 1)GenOnesData(..., 1.0) 3. 使用 std::to_string 替代字符串拼接,防止未定义行为 4. 删除冗余宏定义(ADD_INPUT_DOUBLE 等),提高代码可维护性 5. 添加 #include <ctime> 头文件 **涉及算子**: - slice_write - split_d - unpack - cosh - tile ## 关联的Issue #1694 ## 测试 根据代码变更,测试场景如下: 1. **GE IR 编译测试** - 验证整改后的 GE IR 用例能够正确编译 - 检查命名空间修复是否生效 2. **算子功能验证** - slice_write: 执行 GE IR 用例,验证切片写入功能 - split_d: 执行 GE IR 用例,验证张量分割功能 - unpack: 执行 GE IR 用例,验证解包功能 - cosh: 执行 GE IR 用例,验证双曲余弦功能 - tile: 执行 GE IR 用例,验证张量复制功能 3. **二级冒烟测试** - 验证算子包编译成功 - 验证 GE IR 执行成功,输出正确 ## 文档更新 无文档更新,仅整改 GE IR 用例代码 ## 类型标签 - [ ] Bug修复 - [x] 其他,请描述:GE IR 用例整改 See merge request: cann/ops-math!29725 天前
Arch编码更新 Co-authored-by: liulinxiang<liulinxiang1@huawei.com> # message auto-generated for no-merge-commit merge: !992 merge master1 into master Arch编码更新 Created-by: liulinxiang Commit-by: liulinxiang Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!9924 个月前
Pad/Tile算子支持下一代实现 Co-authored-by: guoqiuhao<guoqiuhao1@huawei.com> # message auto-generated for no-merge-commit merge: !964 merge migrate into master Pad/Tile算子支持下一代实现 Created-by: guoqiuhao Commit-by: guoqiuhao Merged-by: cann-robot Description: ## 描述 Pad/Tile算子支持下一代实现 ## 关联的Issue [#569](https://gitcode.com/cann/ops-math/issues/569) ## 测试 ST,examples通路验证 ## 文档更新 更新了README.md文件 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!9643 个月前
refactor: 消除 math 算子重复头文件依赖(下),统一引用 base 仓 Co-authored-by: tianqiguang<tianqiguang@huawei.com> # message auto-generated for no-merge-commit merge: !2980 merge math_tiling into master refactor: 消除 math 算子重复头文件依赖(下),统一引用 base 仓 Created-by: tianqiguang Commit-by: tianqiguang Merged-by: cann-robot Description: ## 描述 消除 math 目录下后半段(ger ~ zero_op)共 89 个算子的重复头文件依赖,将 tiling 基类和模板注册引用统一到 base 仓。本 PR 与 #2969 共同覆盖全部 math 算子。 ### 改动原因 与 #2969 一致,剩余 math 算子(ger 起)各自直接引用旧头文件并存在全局命名空间引入: - tiling_base.h 中 TilingBaseClass 已在 base 仓提取为 tiling_base_class.h - tiling_templates_registry.h 中 math 注册宏已拆分到 math_tiling_templates_registry.h - using namespace Ops::Math::OpTiling 引入全局命名空间,存在符号冲突风险 ### 改动方法 批量更新 math 算子文件的 #include 及命名空间引用: - tiling_base.h -> tiling_base_class.h - tiling_templates_registry.h -> math_tiling_templates_registry.h - 移除 using namespace Ops::Math::OpTiling - TilingBaseClass -> Ops::Base::TilingBaseClass - TilingRegistry::GetInstance() -> Ops::Math::OpTiling::TilingRegistry::GetInstance() ## 关联的Issue - #1685 ## 测试 - 涉及的 math 算子二级冒烟测试已通过 ## 文档更新 无文档变更 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码重构,消除重复头文件依赖 See merge request: cann/ops-math!29806 天前
Pad/Tile算子支持下一代实现 Co-authored-by: guoqiuhao<guoqiuhao1@huawei.com> # message auto-generated for no-merge-commit merge: !964 merge migrate into master Pad/Tile算子支持下一代实现 Created-by: guoqiuhao Commit-by: guoqiuhao Merged-by: cann-robot Description: ## 描述 Pad/Tile算子支持下一代实现 ## 关联的Issue [#569](https://gitcode.com/cann/ops-math/issues/569) ## 测试 ST,examples通路验证 ## 文档更新 更新了README.md文件 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!9643 个月前
aicpu tile op supports host constant folding v2 interface. Co-authored-by: liu-wei<lovline.liuwei@huawei.com> # message auto-generated for no-merge-commit merge: !3092 merge master into master aicpu tile op supports host constant folding v2 interface. Created-by: liu-wei Commit-by: liu-wei Merged-by: cann-robot Description: ## 描述 为 math/tile AICPU 算子补充 host constant folding v2 接口支持,使 Tile 算子在 host 侧常量折叠场景下可使用 ops-math AICPU host kernel 注册路径。 主要改动: - 在 math/tile/op_kernel_aicpu/tile_aicpu.cpp 中引入 aicpu/math_aicpu_register.h。 - 将 TileCheckCopySupported 中的 host 判断由仅 RUN_ON_HOST 扩展为 RUN_ON_HOSTOPS_MATH_AICPU_HOST_KERNEL,host kernel 编译场景下关闭 copy hook。 - 将 REGISTER_CPU_KERNEL(kTile, TileCpuKernel) 替换为 OPS_MATH_REGISTER_CPU_KERNELV2(kTile, TileCpuKernel),适配 host constant folding v2 注册接口。 ## 关联的Issue 无关联 Issue。 ## 测试 建议补充以下验证: - 编译构建 math/tile AICPU 算子,确认新增注册头文件和 V2 注册宏可正常通过编译。 - 执行 Tile 算子 AICPU UT/冒烟测试,确认原有 Tile 功能不受影响。 - 验证 host constant folding v2 场景下 Tile 算子可正常注册并完成常量折叠。 ## 文档更新 不涉及文档更新。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!30922 小时前
整改st目录下的atk用例统一目录格式 Co-authored-by: yue-ma<mayue54@huawei.com> # message auto-generated for no-merge-commit merge: !2579 merge master into master 整改st目录下的atk用例统一目录格式 Created-by: yue-ma Commit-by: yue-ma Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 整改st目录下的atk用例统一目录格式 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/1538 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:st用例目录整改 See merge request: cann/ops-math!257921 天前
适配PG short_soc_version Co-authored-by: xufeng12121<1074805447@qq.com> # message auto-generated for no-merge-commit merge: !2804 merge mc62 into master 适配PG short_soc_version Created-by: xufeng12121 Commit-by: xufeng12121 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 算子适配PG特性,将math仓 mc62cm12a/MC62CM12A 改成 mc62/MC62 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/1732 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!28043 天前
tile aicpu Co-authored-by: shikai-1<shikai4@huawei.com> # message auto-generated for no-merge-commit merge: !2615 merge master into master tile aicpu Created-by: shikai-1 Commit-by: shikai-1 Merged-by: cann-robot Description: ## 描述 aicpu算子tile算子 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#1494](https://gitcode.com/cann/ops-math/issues/1494) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新了readme增加tile算子的图模式用例 跟新了op list,增加了tile算子的AICPU支持标签 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [√] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!261525 天前
README.md

Tile

产品支持情况

产品 是否支持
Ascend 950PR/Ascend 950DT
Atlas A3 训练系列产品/Atlas A3 推理系列产品
Atlas A2 训练系列产品/Atlas A2 推理系列产品
Atlas 200I/500 A2 推理产品 ×
Atlas 推理系列产品
Atlas 训练系列产品

功能说明

接口功能:对输入tensor沿着repeats中对每个维度指定的复制次数进行复制。示例: 假设输入Tensor为[[a,b],[c,d],[e,f]],即shape为[3,2],repeats为(2,4),则生成的Tensor的shape为[6,8],值如下所示:

>>> x = torch.tensor([[a,b],[c,d],[e,f]])
>>> x.repeat(2,4)
tensor([[a,b,a,b,a,b,a,b],
        [c,d,c,d,c,d,c,d],
        [e,f,e,f,e,f,e,f],
        [a,b,a,b,a,b,a,b],
        [c,d,c,d,c,d,c,d],
        [e,f,e,f,e,f,e,f],
        ])

当repeats为(2,4,2)时,即repeats的元素个数大于Tensor中的维度,则输出Tensor等效为如下操作:先将输入Tensor的shape扩张到和repeats个数相同的维度:[1,3,2],而后按照对应维度和repeats的值进行扩张,即输出Tensor的shape为[2,12,4],结果如下:

>>> x.repeat(2,4,2)
tensor([[[a,b,a,b],
         [c,d,c,d],
         [e,f,e,f],
         [a,b,a,b],
         [c,d,c,d],
         [e,f,e,f],
         [a,b,a,b],
         [c,d,c,d],
         [e,f,e,f],
         [a,b,a,b],
         [c,d,c,d],
         [e,f,e,f]],

        [[a,b,a,b],
         [c,d,c,d],
         [e,f,e,f],
         [a,b,a,b],
         [c,d,c,d],
         [e,f,e,f],
         [a,b,a,b],
         [c,d,c,d],
         [e,f,e,f],
         [a,b,a,b],
         [c,d,c,d],
         [e,f,e,f]]])

计算时需要满足以下条件: repeats中参数个数不能少于输入Tensor的维度。 repeats中的值必须大于等于0。

参数说明

参数名 输入/输出 描述 使用说明 数据类型 数据格式 维度(shape) 非连续张量Tensor
self 输入 - - FLOAT、DOUBLE、FLOAT16、COMPLEX64、COMPLEX128、UINT8、INT8、INT16、INT32、INT64、UINT16、UINT32、UINT64、BOOL、BFLOAT16、HIFLOAT8、FLOAT8_E5M2、FLOAT8_E4M3FN ND ≤8
repeats 输入 - 表示沿每个维度重复输入tensor的次数,参数个数不大于8, 当前不支持对超过4个维度同时做repeat的场景,详细约束请见约束说明。 INT64 - - -
out 输出 - - 与self一致 ND ≤8

约束说明

  • 确定性计算:
    • 默认确定性实现。

调用示例

调用方式 样例代码 说明
aclnn接口 test_aclnn_repeat 通过aclnnRepeat接口方式调用Tile算子。
图模式调用 test_geir_tile 通过算子IR构图方式调用Tile算子。