| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[CANNBot]Foreach系列部分算子支持Ascend950 Co-authored-by: SGQT<shangguanqinnan@huawei.com> # message auto-generated for no-merge-commit merge: !4911 merge mix_math2nn_all into master [CANNBot]Foreach系列部分算子支持Ascend950 Created-by: u010470851 Commit-by: SGQT Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> CANNBot算子生成,foreach类15个算子支持 Ascend 950 实现SIMT,同时对Ascend 950进行tiling、kernel侧的代码隔离,确保算子功能正常。 算子包括:ForeachAtan, ForeachCos, ForeachCosh, ForeachErf, ForeachExp, ForeachMaximumList, ForeachMaximumScalar, ForeachMaximumScalarList, ForeachMinimumList, ForeachMinimumScalar, ForeachMinimumScalarList, ForeachMulList, ForeachPowScalar, ForeachSubList, ForeachSubScalar ## Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> 关联的Issue https://gitcode.com/cann/ops-nn/issues/2786 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> david冒烟、二级冒烟已过,门槛用例已过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4911 | 4 个月前 | |
foreah 注释修正 Co-authored-by: Tian_1122<tianjunhan@h-partners.com> # message auto-generated for no-merge-commit merge: !4082 merge master into master foreah 注释修正 Created-by: Tian_1122 Commit-by: Tian_1122 Merged-by: cann-robot Description: ## 描述 示例代码注释修改 ## 关联的Issue [#2236](https://gitcode.com/cann/ops-nn/issues/2236) ## 测试 ## 文档更新 foreach/foreach_abs/docs/aclnnForeachAbs.md foreach/foreach_acos/docs/aclnnForeachAcos.md foreach/foreach_add_list/docs/aclnnForeachAddList.md foreach/foreach_add_scalar/docs/aclnnForeachAddScalar.md foreach/foreach_addcdiv_list/docs/aclnnForeachAddcdivList.md foreach/foreach_addcdiv_scalar/docs/aclnnForeachAddcdivScalar.md foreach/foreach_addcdiv_scalar_list/docs/aclnnForeachAddcdivScalarList.md foreach/foreach_addcmul_list/docs/aclnnForeachAddcmulList.md foreach/foreach_addcmul_scalar/docs/aclnnForeachAddcmulScalar.md foreach/foreach_addcmul_scalar_list/docs/aclnnForeachAddcmulScalarList.md foreach/foreach_asin/docs/aclnnForeachAsin.md foreach/foreach_atan/docs/aclnnForeachAtan.md foreach/foreach_copy/docs/aclnnForeachCopy.md foreach/foreach_cos/docs/aclnnForeachCos.md foreach/foreach_cosh/docs/aclnnForeachCosh.md foreach/foreach_div_list/docs/aclnnForeachDivList.md foreach/foreach_div_scalar/docs/aclnnForeachDivScalar.md foreach/foreach_erf/docs/aclnnForeachErf.md foreach/foreach_erfc/docs/aclnnForeachErfc.md foreach/foreach_exp/docs/aclnnForeachExp.md foreach/foreach_expm1/docs/aclnnForeachExpm1.md foreach/foreach_lerp_list/docs/aclnnForeachLerpList.md foreach/foreach_log/docs/aclnnForeachLog.md foreach/foreach_log10/docs/aclnnForeachLog10.md foreach/foreach_log1p/docs/aclnnForeachLog1p.md foreach/foreach_log2/docs/aclnnForeachLog2.md foreach/foreach_maximum_list/docs/aclnnForeachMaximumList.md foreach/foreach_maximum_scalar/docs/aclnnForeachMaximumScalar.md foreach/foreach_minimum_list/docs/aclnnForeachMinimumList.md foreach/foreach_minimum_scalar/docs/aclnnForeachMinimumScalar.md foreach/foreach_mul_list/docs/aclnnForeachMulList.md foreach/foreach_mul_scalar/docs/aclnnForeachMulScalar.md foreach/foreach_neg/docs/aclnnForeachNeg.md foreach/foreach_non_finite_check_and_unscale/docs/aclnnForeachNonFiniteCheckAndUnscale.md foreach/foreach_pow_list/docs/aclnnForeachPowList.md foreach/foreach_pow_scalar/docs/aclnnForeachPowScalar.md foreach/foreach_reciprocal/docs/aclnnForeachReciprocal.md foreach/foreach_round_off_number/docs/aclnnForeachRoundOffNumber.md foreach/foreach_sigmoid/docs/aclnnForeachSigmoid.md foreach/foreach_sign/docs/aclnnForeachSign.md foreach/foreach_sin/docs/aclnnForeachSin.md foreach/foreach_sinh/docs/aclnnForeachSinh.md foreach/foreach_sqrt/docs/aclnnForeachSqrt.md foreach/foreach_sub_list/docs/aclnnForeachSubList.md foreach/foreach_sub_scalar/docs/aclnnForeachSubScalar.md foreach/foreach_tan/docs/aclnnForeachTan.md foreach/foreach_tanh/docs/aclnnForeachTanh.md foreach/foreach_zero_inplace/docs/aclnnForeachZeroInplace.md foreach/foreach_abs/examples/test_aclnn_foreach_abs.cpp foreach/foreach_acos/examples/test_aclnn_foreach_acos.cpp foreach/foreach_add_list/examples/test_aclnn_foreach_add_list.cpp foreach/foreach_add_scalar/examples/test_aclnn_foreach_add_scalar.cpp foreach/foreach_addcdiv_list/examples/test_aclnn_foreach_addcdiv_list.cpp foreach/foreach_addcdiv_scalar/examples/test_aclnn_foreach_addcdiv_scalar.cpp foreach/foreach_addcdiv_scalar_list/examples/test_aclnn_foreach_addcdiv_scalar_list.cpp foreach/foreach_addcmul_list/examples/test_aclnn_foreach_addcmul_list.cpp foreach/foreach_addcmul_scalar/examples/test_aclnn_foreach_addcmul_scalar.cpp foreach/foreach_addcmul_scalar_list/examples/test_aclnn_foreach_addcmul_scalar_list.cpp foreach/foreach_asin/examples/test_aclnn_foreach_asin.cpp foreach/foreach_atan/examples/test_aclnn_foreach_atan.cpp foreach/foreach_copy/examples/test_aclnn_foreach_copy.cpp foreach/foreach_cos/examples/test_aclnn_foreach_cos.cpp foreach/foreach_cosh/examples/test_aclnn_foreach_cosh.cpp foreach/foreach_div_list/examples/test_aclnn_foreach_div_list.cpp foreach/foreach_div_scalar/examples/test_aclnn_foreach_div_scalar.cpp foreach/foreach_erf/examples/test_aclnn_foreach_erf.cpp foreach/foreach_erfc/examples/test_aclnn_foreach_erfc.cpp foreach/foreach_exp/examples/test_aclnn_foreach_exp.cpp foreach/foreach_expm1/examples/test_aclnn_foreach_expm1.cpp foreach/foreach_lerp_list/examples/test_aclnn_foreach_lerp_list.cpp foreach/foreach_log/examples/test_aclnn_foreach_log.cpp foreach/foreach_log10/examples/test_aclnn_foreach_log10.cpp foreach/foreach_log1p/examples/test_aclnn_foreach_log1p.cpp foreach/foreach_log2/examples/test_aclnn_foreach_log2.cpp foreach/foreach_maximum_list/examples/test_aclnn_foreach_maximum_list.cpp foreach/foreach_maximum_scalar/examples/test_aclnn_foreach_maximum_scalar.cpp foreach/foreach_minimum_list/examples/test_aclnn_foreach_minimum_list.cpp foreach/foreach_minimum_scalar/examples/test_aclnn_foreach_minimum_scalar.cpp foreach/foreach_mul_list/examples/test_aclnn_foreach_mul_list.cpp foreach/foreach_mul_scalar/examples/test_aclnn_foreach_mul_scalar.cpp foreach/foreach_neg/examples/test_aclnn_foreach_neg.cpp foreach/foreach_non_finite_check_and_unscale/examples/test_aclnn_foreach_non_finite_check_and_unscale.cpp foreach/foreach_pow_list/examples/test_aclnn_foreach_pow_list.cpp foreach/foreach_pow_scalar/examples/test_aclnn_foreach_pow_scalar.cpp foreach/foreach_reciprocal/examples/test_aclnn_foreach_reciprocal.cpp foreach/foreach_round_off_number/examples/test_aclnn_foreach_round_off_number.cpp foreach/foreach_sigmoid/examples/test_aclnn_foreach_sigmoid.cpp foreach/foreach_sign/examples/test_aclnn_foreach_sign.cpp foreach/foreach_sin/examples/test_aclnn_foreach_sin.cpp foreach/foreach_sinh/examples/test_aclnn_foreach_sinh.cpp foreach/foreach_sqrt/examples/test_aclnn_foreach_sqrt.cpp foreach/foreach_sub_list/examples/test_aclnn_foreach_sub_list.cpp foreach/foreach_sub_scalar/examples/test_aclnn_foreach_sub_scalar.cpp foreach/foreach_tan/examples/test_aclnn_foreach_tan.cpp foreach/foreach_tanh/examples/test_aclnn_foreach_tanh.cpp foreach/foreach_zero_inplace/examples/test_aclnn_foreach_zero_inplace.cpp norm/sync_batch_norm_gather_stats/docs/aclnnSyncBatchNormGatherStats.md norm/sync_batch_norm_gather_stats/examples/test_aclnn_sync_batch_norm_gather_stats.cpp ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4082 | 5 个月前 | |
代码同步 Co-authored-by: yang-di52<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !450 merge master into master 代码同步 Created-by: yang-di52 Commit-by: yang-di52 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!450 | 9 个月前 | |
revise kernel compile options Co-authored-by: cong-jiyu<congjiyu@h-partners.com> # message auto-generated for no-merge-commit merge: !5202 merge master into master revise kernel compile options Created-by: cong-jiyu Commit-by: cong-jiyu Merged-by: cann-robot Description: ## 描述 kernel配置项整改:foreach,hash,loss,rnn,vfusion ## 关联的Issue [#1985](https://gitcode.com/cann/ops-nn/issues/1985) ## 测试 本地编译,对比修改前后.o ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5202 | 4 个月前 | |
revise kernel compile options Co-authored-by: cong-jiyu<congjiyu@h-partners.com> # message auto-generated for no-merge-commit merge: !5202 merge master into master revise kernel compile options Created-by: cong-jiyu Commit-by: cong-jiyu Merged-by: cann-robot Description: ## 描述 kernel配置项整改:foreach,hash,loss,rnn,vfusion ## 关联的Issue [#1985](https://gitcode.com/cann/ops-nn/issues/1985) ## 测试 本地编译,对比修改前后.o ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5202 | 4 个月前 | |
foereach目录codecheck整改 Co-authored-by: LSYlsy0214<liushiyu25@h-partners.com> # message auto-generated for no-merge-commit merge: !5361 merge master into master foereach目录codecheck整改 Created-by: LSYlsy0214 Commit-by: LSYlsy0214 Merged-by: cann-robot Description: ## 描述 add UTF-8 encoding declaration to foreach tests/st python files ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/2952 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5361 | 4 个月前 | |
License Change Split3 Co-authored-by: huohuo_wy<wangyan389@huawei.com> # message auto-generated for no-merge-commit merge: !401 merge spilit3License3 into master License Change Split3 Created-by: huohuo_wangyan Commit-by: huohuo_wy Merged-by: cann-robot Description: ## 描述 批量整改文件copyright注释 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/177 ## 测试 COPYRIGHT注释头按新要求刷新 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!401 | 10 个月前 | |
[CANNBot]Foreach系列部分算子支持Ascend950 Co-authored-by: SGQT<shangguanqinnan@huawei.com> # message auto-generated for no-merge-commit merge: !4911 merge mix_math2nn_all into master [CANNBot]Foreach系列部分算子支持Ascend950 Created-by: u010470851 Commit-by: SGQT Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> CANNBot算子生成,foreach类15个算子支持 Ascend 950 实现SIMT,同时对Ascend 950进行tiling、kernel侧的代码隔离,确保算子功能正常。 算子包括:ForeachAtan, ForeachCos, ForeachCosh, ForeachErf, ForeachExp, ForeachMaximumList, ForeachMaximumScalar, ForeachMaximumScalarList, ForeachMinimumList, ForeachMinimumScalar, ForeachMinimumScalarList, ForeachMulList, ForeachPowScalar, ForeachSubList, ForeachSubScalar ## Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> 关联的Issue https://gitcode.com/cann/ops-nn/issues/2786 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> david冒烟、二级冒烟已过,门槛用例已过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4911 | 4 个月前 |
ForeachMinimumList
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR/Ascend 950DT | √ |
| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | × |
| Atlas 推理系列产品 | × |
| Atlas 训练系列产品 | × |
| Kirin X90 处理器系列产品 | √ |
| Kirin 9030 处理器系列产品 | √ |
功能说明
-
算子功能:对张量列表x1和张量列表x2执行逐元素比较,计算每个元素对应的最小值。
-
计算公式:
x1=[x10,x11,...x1n−1],x2=[x20,x21,...x2n−1]y=[y0,y1,...yn−1]x1 = [{x1_0}, {x1_1}, ... {x1_{n-1}}], x2 = [{x2_0}, {x2_1}, ... {x2_{n-1}}]\\ y = [{y_0}, {y_1}, ... {y_{n-1}}]\\ x1=[x10,x11,...x1n−1],x2=[x20,x21,...x2n−1]y=[y0,y1,...yn−1]
yi=min(x1i,x2i)(i=0,1,...n−1){\rm y}_i = \min(x1_i, x2_i) (i=0,1,...n-1) yi=min(x1i,x2i)(i=0,1,...n−1)
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| x1 | 输入 | 表示取最小值运算的输入张量列表,对应公式中的`x1`。shape与入参`x2`的shape一致。该参数中所有Tensor的数据类型保持一致。 | FLOAT32、FLOAT16、INT32、BFLOAT16 | ND |
| x2 | 输入 | 表示取最小值运算的输入张量列表,对应公式中的`x2`。数据类型、数据格式和shape与入参`x1`的数据类型、数据格式和shape一致。该参数中所有Tensor的数据类型保持一致。 | FLOAT32、FLOAT16、INT32、BFLOAT16 | ND |
| y | 输出 | 表示取最小值运算的输出张量列表,对应公式中的`y`。数据类型和数据格式与入参`x1`的数据类型和数据格式一致,shape size大于等于入参`x1`的shape size。该参数中所有Tensor的数据类型保持一致。 | FLOAT32、FLOAT16、INT32、BFLOAT16 | ND |
- Kirin X90/Kirin 9030处理器系列产品:不支持BFLOAT16。
约束说明
无
调用说明
| 调用方式 | 样例代码 | 说明 |
|---|---|---|
| aclnn接口 | test_aclnn_foreach_minimum_list | 通过aclnnForeachMinimumList接口方式调用ForeachMinimumList算子。 |
| 图模式 | - | 通过算子IR构图方式调用ForeachMinimumList算子。 |