已合并
refactor tests #197
refactor tests #197
已合并
吴洋创建于 1月30日
1409 个文件变更+135654-21220
Mbuild.sh+8-12
@@ -436,23 +436,19 @@ function build_test() {
436}436}
437 437 
438function build_test_part() {438function build_test_part() {
439- if [[ "$TEST_PART" == "adv_test" ]]; then439+ source ${CURRENT_DIR}/tests/test_parts.sh
440- CUSTOM_OPTION="${CUSTOM_OPTION} -DTEST_MOD=adv"
441- build_test
442- return 0
443- fi
444 440 
445- source ${CURRENT_DIR}/tests/unit/basic_api/common/ci/basic_tests_part.sh441+ if [ "$TEST_PART" == "adv_test" ]; then
446- 442+ TEST_TARGET_LIST=("${adv_test_targets[@]}")
447- if [ "$TEST_PART" == "basic_test_one" ]; then443+ elif [ "$TEST_PART" == "basic_test_one" ]; then
448- BASIC_TEST_PART=("${test_one_targets[@]}")444+ TEST_TARGET_LIST=("${basic_test_one_targets[@]}")
449 elif [ "$TEST_PART" == "basic_test_two" ]; then445 elif [ "$TEST_PART" == "basic_test_two" ]; then
450- BASIC_TEST_PART=("${test_two_targets[@]}")446+ TEST_TARGET_LIST=("${basic_test_two_targets[@]}")
451 elif [ "$TEST_PART" == "basic_test_three" ]; then447 elif [ "$TEST_PART" == "basic_test_three" ]; then
452- BASIC_TEST_PART=("${test_three_targets[@]}")448+ TEST_TARGET_LIST=("${basic_test_three_targets[@]}")
453 fi449 fi
454 450 
455- for tag in "${BASIC_TEST_PART[@]}"; do451+ for tag in "${TEST_TARGET_LIST[@]}"; do
456 TARGETS="${TARGETS} --target ${tag}"452 TARGETS="${TARGETS} --target ${tag}"
457 TEST_MOD="${tag},${TEST_MOD}"453 TEST_MOD="${tag},${TEST_MOD}"
458 done454 done
@@ -10,4 +10,16 @@
10project(ascendc_tests)10project(ascendc_tests)
11cmake_minimum_required(VERSION 3.16.0)11cmake_minimum_required(VERSION 3.16.0)
12 12 
13-add_subdirectory(unit)13+add_compile_options(-Werror)
14+ 
15+set(CMAKE_CXX_STANDARD 17)
16+ 
17+if (BUILD_OPEN_PROJECT)
18+ include(cmake/config.cmake)
19+ include(cmake/intf.cmake)
20+ include(cmake/func.cmake)
21+endif()
22+ 
23+add_subdirectory(api)
24+add_subdirectory(tools)
25+add_subdirectory(python)
Rtests/unit/basic_api/common/ci/basic_tests_part.shtests/api/CMakeLists.txt+10-33
@@ -1,4 +1,3 @@
1-#!/bin/bash
2# ----------------------------------------------------------------------------------------------------------1# ----------------------------------------------------------------------------------------------------------
3# Copyright (c) 2025 Huawei Technologies Co., Ltd.2# Copyright (c) 2025 Huawei Technologies Co., Ltd.
4# This program is free software, you can redistribute it and/or modify it under the terms and conditions of3# This program is free software, you can redistribute it and/or modify it under the terms and conditions of
@@ -8,36 +7,14 @@
8# INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.7# INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
9# See LICENSE in the root of the software repository for the full text of the License.8# See LICENSE in the root of the software repository for the full text of the License.
10# ----------------------------------------------------------------------------------------------------------9# ----------------------------------------------------------------------------------------------------------
10+project(ascendc_api_tests)
11+cmake_minimum_required(VERSION 3.16.0)
11 12 
12-set -e13+add_subdirectory(adv_api)
13- 14+add_subdirectory(aicpu_api)
14-test_one_targets=(15+add_subdirectory(basic_api)
15- tikcpp_utest_ascend91016+add_subdirectory(c_api)
16- # tikcpp_utest_compile_trace_log17+add_subdirectory(tensor_api)
17- # tikcpp_utest_ascend91018+add_subdirectory(micro_api)
18- # tikcpp_utest_ascend61019+add_subdirectory(simt_api)
19- # tikcpp_utest_ascend310p20+add_subdirectory(utils)
20- # tikcpp_utest_ascend310B1
21- # tikcpp_utest_ascend610Lite
22- # tikcpp_tpl_tiling_key_utest_debug
23- # tikcpp_tpl_tiling_key_utest_release
24-)
25- 
26-test_two_targets=(
27- tikcpp_utest_ascend910
28- # ascendc_utest_kernel
29- # ascendc_utest_aclrtc
30- # tikcpp_utest_ascend910B1_AIC
31- # tikcpp_utest_ascend910B1_AIV
32- # tikcpp_tiling_utest_ascend910
33- # tikcpp_tiling_utest_ascend610
34- # tikcpp_tiling_utest_ascend310p
35-)
36- 
37-test_three_targets=(
38- tikcpp_utest_ascend910
39- # tikcpp_tiling_utest_ascend910B1_AIC
40- # tikcpp_tiling_utest_ascend910B1_AIV
41- # tikcpp_tiling_utest_ascend310B1
42- # tikcpp_tiling_utest_ascend610Lite
43-)
@@ -0,0 +1,534 @@
1+# ----------------------------------------------------------------------------------------------------------
2+# Copyright (c) 2025 Huawei Technologies Co., Ltd.
3+# This program is free software, you can redistribute it and/or modify it under the terms and conditions of
4+# CANN Open Software License Agreement Version 2.0 (the "License").
5+# Please refer to the License for details. You may not use this file except in compliance with the License.
6+# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED,
7+# INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
8+# See LICENSE in the root of the software repository for the full text of the License.
9+# ----------------------------------------------------------------------------------------------------------
10+project(ascendc_adv_api_tests)
11+cmake_minimum_required(VERSION 3.16.0)
12+set(CMAKE_CXX_STANDARD 17)
13+find_package(tikicpulib REQUIRED)
14+ 
15+set(ASCENDC_ADV_API_INCLUDE ${ASCENDC_DIR}/include/adv_api)
16+set(ASCENDC_ADV_API_IMPL ${ASCENDC_DIR}/impl/adv_api)
17+set(ASCENDC_UTILS_INCLUDE ${ASCENDC_DIR}/include/utils)
18+ 
19+set(PRODUCT_TYPE_LIST_INIT ascend610 ascend310p ascend910B1_AIC ascend910B1_AIV ascend950pr_9599_AIC ascend950pr_9599_AIV ascend310B1)
20+set(PRODUCT_TYPE_LIST ${PRODUCT_TYPE_LIST_INIT} CACHE STRING "Supported product types")
21+ 
22+set(ASCENDC_DEP_HEADER_DIR
23+ ${ASCEND_CANN_PACKAGE_PATH}/include
24+ ${ASCEND_CANN_PACKAGE_PATH}/include/base
25+ ${ASCEND_CANN_PACKAGE_PATH}/pkg_inc/base
26+ ${CMAKE_BINARY_DIR}
27+ ${ASCENDC_UTILS_INCLUDE}
28+)
29+ 
30+set(ASCENDC_TEST_HEADER_FILES
31+ ../common
32+ matmul/utils
33+ ${ASCENDC_DIR}
34+ ${ASCENDC_DIR}/include
35+ ${ASCENDC_DIR}/include/adv_api
36+ ${ASCENDC_DIR}/include/basic_api
37+ ${ASCENDC_DIR}/impl
38+ ${ASCENDC_DIR}/impl/basic_api
39+)
40+ 
41+# # ================ adv_api kernel ut ================
42+# ascend610 test cases
43+file(GLOB ASCENDC_TEST_ascend610_CASE_SRC_FILES
44+ activation/sigmoid/test_operator_vec_sigmoid.cpp
45+ pad/broadcast/test_operator_broadcast_v200.cpp
46+ math/erf/test_operator_erf.cpp
47+ math/erfc/test_operator_erfc.cpp
48+ math/round/test_operator_round.cpp
49+ quantization/antiquant/test_ascend_quant.cpp
50+ quantization/antiquant/test_ascend_quant_per_channel.cpp
51+)
52+ 
53+# ascend310p test cases
54+file(GLOB ASCENDC_TEST_ASCEND310P_CASE_SRC_PART_FILES
55+ utils/init_global_memory/test_operator_init_global_memory.cpp
56+ quantization/antiquant/test_ascend_antiquant_m200.cpp
57+ activation/sigmoid/test_operator_vec_sigmoid.cpp
58+ pad/broadcast/test_operator_broadcast_v200.cpp
59+ math/erf/test_operator_erf.cpp
60+ math/erfc/test_operator_erfc.cpp
61+ math/round/test_operator_round.cpp
62+ quantization/antiquant/test_ascend_quant.cpp
63+ quantization/antiquant/test_ascend_quant_per_channel.cpp
64+ quantization/dequant/test_operator_dequant_v200.cpp
65+ math/exp/test_operator_exp.cpp
66+ matmul/test_matmul_config.cpp
67+ matmul/test_operator_matmul_v200.cpp
68+ matmul/copy_cube_in/test_copy_cube_in_mdl_310p.cpp
69+ matmul/copy_cube_in/test_copy_cube_in_norm_310p.cpp
70+ math/power/test_operator_power_v200.cpp
71+ reduce/reduce_xor_sum/test_operator_reduce_xor_sum.cpp
72+ normalization/welfordupdate/test_operator_welfordupdate.cpp
73+ normalization/welfordfinalize/test_operator_welfordfinalize.cpp
74+ normalization/normalize/test_operator_normalize.cpp
75+ normalization/layernormV2/test_operator_layernormV2.cpp
76+ matmul/scheduler/bias_scheduler/test_bias_scheduler_v200.cpp
77+ matmul/scheduler/batch_scheduler/test_batch_scheduler_v200.cpp
78+ matmul/scheduler/test_scheduler_norm.cpp
79+)
80+file(GLOB_RECURSE ASCENDC_TEST_ASCEND310P_CASE_SRC_FILES_API_CHECK api_check/math/*.cpp)
81+set(ASCENDC_TEST_ascend310p_CASE_SRC_FILES
82+ ${ASCENDC_TEST_ASCEND310P_CASE_SRC_PART_FILES}
83+ ${ASCENDC_TEST_ASCEND310P_CASE_SRC_FILES_API_CHECK}
84+)
85+ 
86+# ascend910B1 aiv test cases
87+file(GLOB ASCENDC_TEST_ASCEND910B1_AIV_CASE_SRC_PART_FILES
88+ activation/geglu/test_operator_geglu.cpp
89+ activation/gelu/test_operator_fast_gelu.cpp
90+ activation/gelu/test_operator_fast_gelu_v2.cpp
91+ activation/reglu/test_operator_reglu.cpp
92+ activation/sigmoid/test_operator_vec_sigmoid.cpp
93+ activation/silu/test_operator_silu.cpp
94+ activation/softmax/test_operator_softmax_v220.cpp
95+ activation/softmax/test_operator_softmaxflashv3_v220.cpp
96+ activation/swiglu/test_operator_swiglu.cpp
97+ activation/swish/test_operator_swish.cpp
98+ index/arithprogression/test_operator_arithprogression.cpp
99+ pad/broadcast/test_operator_broadcast_v220.cpp
100+ filter/dropout/test_operator_dropout.cpp
101+ pad/pad/test_operator_pad.cpp
102+ select/selectwithbytesmask/test_operator_selectwithbytesmask.cpp
103+ transpose/confusion_transpose/test_operator_confusion_transpose.cpp
104+ math/acos/test_operator_acos.cpp
105+ math/acosh/test_operator_acosh.cpp
106+ math/asin/test_operator_asin.cpp
107+ math/asinh/test_operator_asinh.cpp
108+ math/atan/test_operator_atan.cpp
109+ math/atanh/test_operator_atanh.cpp
110+ math/axpy/test_operator_axpy.cpp
111+ math/ceil/test_operator_ceil.cpp
112+ math/clamp/test_operator_clamp.cpp
113+ math/cos/test_operator_cos.cpp
114+ math/cosh/test_operator_cosh.cpp
115+ math/cumsum/test_operator_cumsum.cpp
116+ math/digamma/test_operator_digamma.cpp
117+ math/erf/test_operator_erf.cpp
118+ math/erfc/test_operator_erfc.cpp
119+ math/exp/test_operator_exp.cpp
120+ math/exp/test_operator_exphighprecision.cpp
121+ math/floor/test_operator_floor.cpp
122+ math/frac/test_operator_frac.cpp
123+ # math/lgamma/test_operator_lgamma.cpp
124+ math/log/test_operator_log.cpp
125+ math/power/test_operator_power.cpp
126+ math/round/test_operator_round.cpp
127+ math/sign/test_operator_sign.cpp
128+ math/sin/test_operator_sin.cpp
129+ math/sinh/test_operator_sinh.cpp
130+ math/tan/test_operator_tan.cpp
131+ math/tanh/test_operator_tanh.cpp
132+ math/trunc/test_operator_trunc.cpp
133+ math/fmod/test_operator_fmod.cpp
134+ math/xor/test_operator_xor.cpp
135+ normalization/welfordfinalize/test_operator_welfordfinalize.cpp
136+ normalization/batchnorm/test_operator_batchnorm.cpp
137+ normalization/deepnorm/test_operator_deepnorm.cpp
138+ normalization/layernorm/test_operator_layernorm.cpp
139+ normalization/groupnorm/test_operator_groupnorm.cpp
140+ # normalization/layernorm/test_operator_layernormgrad.cpp
141+ normalization/layernorm/test_operator_layernormgradbeta.cpp
142+ normalization/normalize/test_operator_normalize.cpp
143+ normalization/layernormV2/test_operator_layernormV2.cpp
144+ normalization/rmsnorm/test_operator_rmsnorm.cpp
145+ normalization/welfordupdate/test_operator_welfordupdate.cpp
146+ quantization/antiquant/test_ascend_antiquant_scalar.cpp
147+ quantization/antiquant/test_ascend_antiquant_weight_scalar.cpp
148+ quantization/antiquant/test_ascend_antiquant_weight.cpp
149+ quantization/antiquant/test_ascend_antiquant.cpp
150+ quantization/dequant/test_operator_dequant.cpp
151+ quantization/quant/test_operator_quant.cpp
152+ quantization/quant/test_operator_quant_per_channel.cpp
153+ reduce/mean/test_operator_mean.cpp
154+ reduce/sum/test_operator_sum.cpp
155+ reduce/reduce_prod/test_operator_reduce_prod.cpp
156+ reduce/reduce_max/test_operator_reduce_max.cpp
157+ reduce/reduce_min/test_operator_reduce_min.cpp
158+ reduce/reduce_any/test_operator_reduce_any.cpp
159+ reduce/reduce_all/test_operator_reduce_all.cpp
160+ reduce/reduce_sum/test_operator_reduce_sum.cpp
161+ reduce/reduce_mean/test_operator_reduce_mean.cpp
162+ reduce/reduce_xor_sum/test_operator_reduce_xor_sum.cpp
163+ sort/topk/test_operator_topk.cpp
164+ utils/init_global_memory/test_operator_init_global_memory.cpp
165+ transpose/transdata/*cpp
166+)
167+file(GLOB_RECURSE ASCENDC_TEST_ASCEND910B1_AIV_CASE_SRC_FILES_API_CHECK api_check/*.cpp)
168+set(ASCENDC_TEST_ascend910B1_AIV_CASE_SRC_FILES
169+ ${ASCENDC_TEST_ASCEND910B1_AIV_CASE_SRC_PART_FILES}
170+ ${ASCENDC_TEST_ASCEND910B1_AIV_CASE_SRC_FILES_API_CHECK}
171+)
172+ 
173+# ascend910B1 aic test cases
174+file(GLOB ASCENDC_TEST_ascend910B1_AIC_CASE_SRC_FILES
175+ matmul/test_operator_matmul_v220.cpp
176+ matmul/test_operator_matmul_v220_batch.cpp
177+ matmul/test_matmul_l0db.cpp
178+ matmul/test_matmul_config.cpp
179+ matmul/test_matmul_channel_split.cpp
180+ matmul/cube_in_buffer/test_cube_in_buffer_normal.cpp
181+ matmul/cube_in_buffer/test_cube_in_buffer_single_buffer.cpp
182+ matmul/cube_in_buffer/test_cube_in_buffer_double_buffer.cpp
183+ matmul/cube_in_buffer/test_cube_in_buffer_single_global_buffer.cpp
184+ matmul/cube_in_buffer/test_cube_in_buffer_double_global_buffer.cpp
185+ matmul/cube_in_buffer/test_cube_in_buffer_n_buffer.cpp
186+ matmul/cube_in_buffer/test_cube_in_buffer_bmm_db.cpp
187+ matmul/test_matmul_l0c_buffer.cpp
188+ matmul/test_matmul_shape_info.cpp
189+ matmul/test_matmul_shape_info_left.cpp
190+ hccl/test_hccl.cpp
191+ matmul/copy_cube_in/test_copy_cube_in_norm.cpp
192+ matmul/copy_cube_in/test_copy_cube_in_mdl.cpp
193+ matmul/copy_cube_in/test_copy_cube_in_params.cpp
194+ matmul/iterator/test_k_loop_norm.cpp
195+ matmul/iterator/test_k_loop_mdl.cpp
196+ matmul/iterator/test_k_loop_mdl_reorder.cpp
197+ matmul/iterator/test_k_loop_n_buffer.cpp
198+ matmul/iterator/test_m_loop_norm.cpp
199+ matmul/iterator/test_n_loop_norm.cpp
200+ matmul/iterator/test_m_loop_basic.cpp
201+ matmul/iterator/test_n_loop_basic.cpp
202+ matmul/iterator/test_m_loop_mdl.cpp
203+ matmul/iterator/test_n_loop_mdl.cpp
204+ matmul/iterator/test_m_loop_mdl_outer_product.cpp
205+ matmul/iterator/test_n_loop_mdl_outer_product.cpp
206+ matmul/iterator/test_m_loop_n_buffer.cpp
207+ matmul/iterator/test_batch_loop.cpp
208+ matmul/iterator/test_batch_loop_single.cpp
209+ matmul/iterator/test_batch_m_loop.cpp
210+ matmul/iterator/test_batch_n_loop.cpp
211+ matmul/iterator/test_matmul_iterator.cpp
212+ matmul/load_buffer/test_matmul_load_to_l0a.cpp
213+ matmul/load_buffer/test_matmul_load_to_l0b.cpp
214+ matmul/load_buffer/test_matmul_mmad_compute.cpp
215+ matmul/load_buffer/test_matmul_tbufpool_l0.cpp
216+ matmul/bias/test_bias_c1_buffer.cpp
217+ matmul/bias/test_bias_c2_buffer.cpp
218+ matmul/bias/test_copy_bias_in.cpp
219+ matmul/scheduler/test_scheduler_mdl.cpp
220+ matmul/scheduler/test_scheduler_special_mdl.cpp
221+ matmul/scheduler/test_scheduler_norm.cpp
222+ matmul/scheduler/test_scheduler_intrablock.cpp
223+ matmul/scheduler/test_scheduler_norm_outer_product.cpp
224+ matmul/scheduler/test_scheduler_mdl_outer_product.cpp
225+ matmul/scheduler/test_scheduler_n_buffer.cpp
226+ matmul/scheduler/test_scheduler_mdl_fullload.cpp
227+ matmul/scheduler/bias_scheduler/test_bias_scheduler_v220.cpp
228+ matmul/scheduler/batch_scheduler/test_batch_scheduler.cpp
229+ matmul/scheduler/batch_scheduler/test_batch_scheduler_single.cpp
230+)
231+ 
232+# ascend950pr_9599 test cases
233+file(GLOB ASCENDC_TEST_ascend950pr_9599_AIC_CASE_SRC_FILES
234+ matmul/resource/cube_out_buffer/test_cube_out_buffer_co1_shared.cpp
235+ matmul/param/test_matmul_cross_core_sync.cpp
236+ matmul/kfc/test_matmul_server_c310.cpp
237+ matmul/copy_cube_in/test_copy_cube_in_ub_to_l1_ss.cpp
238+ matmul/tiling/test_matmul_constant_tiling_impl.cpp
239+ matmul/test_operator_matmul_mx_c310.cpp
240+ matmul/test_mx_matmul_impl.cpp
241+ matmul/utils/test_mx_matmul_utils.cpp
242+ matmul/scheduler/test_scheduler_norm_mx.cpp
243+ matmul/scheduler/test_scheduler_mdl_mx.cpp
244+ matmul/iterator/test_k_loop_mdl_mx.cpp
245+ matmul/copy_cube_in/test_copy_cube_in_norm_mx.cpp
246+ matmul/copy_cube_in/test_copy_cube_in_mdl_mx.cpp
247+ matmul/copy_cube_in/test_copy_cube_in_params_mx.cpp
248+ matmul/copy_cube_in/copy_tile_to_cube/test_copy_tile_to_cube_mx.cpp
249+ matmul/param/test_matmul_shape_tiling.cpp
250+ matmul/cube_in_buffer/test_cube_in_buffer_utils.cpp
251+ matmul/copy_cube_out/test_copy_cube_out_fixpipe.cpp
252+ matmul/copy_cube_out/test_quant_processor_fixpipe.cpp
253+ matmul/load_buffer/test_matmul_load_to_l0aV2.cpp
254+ matmul/load_buffer/test_matmul_load_to_l0bV2.cpp
255+ matmul/load_buffer/test_matmul_load_to_l0a_gemv_mx.cpp
256+ matmul/lib/test_matmul_client.cpp
257+)
258+file(GLOB ASCENDC_TEST_ascend950pr_9599_AIV_CASE_SRC_FILES
259+ #utils
260+ utils/init_global_memory/test_operator_init_global_memory.cpp
261+ #activate
262+ activation/gelu/test_operator_fast_gelu.cpp
263+ activation/gelu/test_operator_fast_gelu_v2.cpp
264+ activation/sigmoid/test_operator_vec_sigmoid.cpp
265+ activation/softmax/test_operator_softmax_c310.cpp
266+ api_check/activation/softmax/kernel_softmax_flashv3_check.cpp
267+ activation/gelu/test_operator_gelu.cpp
268+ activation/geglu/test_operator_geglu.cpp
269+ activation/reglu/test_operator_reglu.cpp
270+ activation/swish/test_operator_swish.cpp
271+ activation/silu/test_operator_silu.cpp
272+ activation/swiglu/test_operator_swiglu.cpp
273+ #filter
274+ filter/dropout/test_operator_dropout.cpp
275+ #index
276+ index/arithprogression/test_operator_arithprogression.cpp
277+ #math
278+ math/clamp/test_operator_clamp.cpp
279+ math/bitwise_and/test_operator_bitwise_and.cpp
280+ math/logical_and/test_operator_logical_and.cpp
281+ math/logical_ands/test_operator_logical_ands.cpp
282+ math/logical_or/test_operator_logical_or.cpp
283+ math/logical_ors/test_operator_logical_ors.cpp
284+ math/logical_not/test_operator_logical_not.cpp
285+ math/isnan/test_operator_isnan.cpp
286+ math/isinf/test_operator_isinf.cpp
287+ math/fma/test_operator_fma.cpp
288+ math/rint/test_operator_rint.cpp
289+ math/sincos/test_operator_sincos.cpp
290+ math/isfinite/test_operator_isfinite.cpp
291+ math/atanh/test_operator_atan_c310.cpp
292+ math/cos/test_operator_cos_c310.cpp
293+ math/cumsum/test_operator_cumsum.cpp
294+ math/erf/test_operator_erf.cpp
295+ math/fmod/test_operator_fmod.cpp
296+ math/hypot/test_operator_hypot.cpp
297+ math/log/test_operator_log.cpp
298+ math/philox/test_operator_philox_c310.cpp
299+ math/power/test_operator_power_c310.cpp
300+ math/sin/test_operator_sin_c310.cpp
301+ math/tanh/test_operator_tanh_c310.cpp
302+ math/cosh/test_operator_cosh.cpp
303+ math/sinh/test_operator_sinh.cpp
304+ math/sign/test_operator_sign.cpp
305+ math/exp/test_operator_exphighprecision.cpp
306+ math/where/test_operator_where.cpp
307+ api_check/math/where/kernel_where_check.cpp
308+ math/bitwise_not/test_operator_bitwise_not.cpp
309+ math/bitwise_or/test_operator_bitwise_or.cpp
310+ math/bitwise_xor/test_operator_bitwise_xor.cpp
311+ math/logical_xor/test_operator_logical_xor.cpp
312+ # normalization
313+ normalization/welfordfinalize/test_operator_welfordfinalize.cpp
314+ normalization/normalize/test_operator_normalize_c310.cpp
315+ normalization/layernorm/test_operator_layernorm.cpp
316+ normalization/layernormV2/test_operator_layernormV2_c310.cpp
317+ normalization/welfordupdate/test_operator_welfordupdate.cpp
318+ normalization/groupnorm/test_operator_groupnorm.cpp
319+ # quantization
320+ quantization/dequantize/test_dequantize.cpp
321+ quantization/antiquantize/test_antiquantize.cpp
322+ quantization/antiquant/test_ascend_antiquant_scalar.cpp
323+ quantization/antiquant/test_ascend_antiquant_weight_scalar.cpp
324+ quantization/antiquant/test_ascend_antiquant_weight_c310.cpp
325+ quantization/antiquant/test_ascend_antiquant.cpp
326+ quantization/dequant/test_ascend_quant_per_group.cpp
327+ quantization/dequant/test_ascend_quant_per_group_transpose.cpp
328+ quantization/dequant/test_ascend_quant_per_token.cpp
329+ quantization/dequant/test_ascend_quant_per_token_transpose.cpp
330+ quantization/dequant/test_ascend_dequant.cpp
331+ quantization/dequant/test_ascend_dequant_per_group.cpp
332+ quantization/dequant/test_ascend_dequant_per_token.cpp
333+ quantization/quant/test_ascend_quant_per_group_scalar.cpp
334+ quantization/quant/test_ascend_quant_per_group.cpp
335+ quantization/quant/test_ascend_quant_per_token_scalar.cpp
336+ quantization/quant/test_ascend_quant_per_token.cpp
337+ quantization/quantize/test_quantize_per_tensor.cpp
338+ quantization/quantize/test_quantize_per_channel.cpp
339+ quantization/quantize/test_quantize_per_token.cpp
340+ quantization/quantize/test_quantize_per_group.cpp
341+ # reduce
342+ reduce/reduce_max/test_operator_reduce_max_c310.cpp
343+ reduce/reduce_min/test_operator_reduce_min_c310.cpp
344+ reduce/reduce_sum/test_operator_reduce_sum_c310.cpp
345+ reduce/reduce_all/test_operator_reduce_all_c310.cpp
346+ reduce/reduce_any/test_operator_reduce_any_c310.cpp
347+ reduce/reduce_prod/test_operator_reduce_prod_c310.cpp
348+ api_check/reduce/reduce_all/kernel_reduce_all_check.cpp
349+ api_check/reduce/reduce_any/kernel_reduce_any_check.cpp
350+ api_check/reduce/reduce_prod/kernel_reduce_prod_check.cpp
351+ reduce/mean/test_operator_mean.cpp
352+ reduce/sum/test_operator_sum.cpp
353+ reduce/reduce_xor_sum/test_operator_reduce_xor_sum.cpp
354+ # pad
355+ pad/broadcast/test_operator_broadcast_c310.cpp
356+ api_check/pad/broadcast/kernel_broadcast_check.cpp
357+ pad/pad/test_operator_pad.cpp
358+ # select
359+ select/selectwithbytesmask/test_operator_selectwithbytesmask.cpp
360+ # sort
361+ sort/sort/test_operator_radix_sort.cpp
362+ sort/topk/test_operator_radix_topk.cpp
363+ # transpose
364+ transpose/confusion_transpose/test_operator_confusion_transpose_c310.cpp
365+ # hccl
366+ hccl/test_hccl_950.cpp
367+)
368+ 
369+# ascend310B1 test cases
370+file(GLOB ASCENDC_TEST_ascend310B1_CASE_SRC_FILES
371+ activation/softmax/test_operator_softmax_v300.cpp
372+ matmul/test_operator_matmul_v300.cpp
373+ math/xor/test_operator_xor.cpp
374+ math/floor/test_operator_floor.cpp
375+ matmul/scheduler/test_scheduler_norm.cpp
376+)
377+ 
378+foreach(product_type ${PRODUCT_TYPE_LIST})
379+ add_executable(ascendc_ut_adv_api_kernel_${product_type}
380+ ${ASCENDC_DIR}/tests/main_global.cpp
381+ $<$<STREQUAL:${product_type},ascend610>:../common/tik_pv_wrapper.cpp>
382+ $<$<STREQUAL:${product_type},ascend310p>:../common/tik_pv_wrapper.cpp>
383+ $<$<STREQUAL:${product_type},ascend910B1_AIC>:../common/k3_pvwrap.cpp>
384+ $<$<STREQUAL:${product_type},ascend910B1_AIV>:../common/k3_pvwrap.cpp>
385+ $<$<STREQUAL:${product_type},ascend950pr_9599_AIC>:../common/k3_pvwrap.cpp>
386+ $<$<STREQUAL:${product_type},ascend950pr_9599_AIV>:../common/k3_pvwrap.cpp>
387+ $<$<STREQUAL:${product_type},ascend310B1>:../common/k3_pvwrap.cpp>
388+ ${ASCENDC_TEST_${product_type}_CASE_SRC_FILES}
389+ )
390+ 
391+ target_compile_definitions(ascendc_ut_adv_api_kernel_${product_type} PRIVATE
392+ UT_TEST
393+ ASCENDC_OOM=1
394+ ASCENDC_DUMP=0
395+ $<$<STREQUAL:${product_type},ascend310p>:__NPU_ARCH__=2002;__DAV_M200__>
396+ $<$<STREQUAL:${product_type},ascend610>:__NPU_ARCH__=2002;__DAV_M200__>
397+ $<$<STREQUAL:${product_type},ascend910B1_AIC>:__NPU_ARCH__=2201;__DAV_C220__;__DAV_C220_CUBE__;__DAV_CUBE__>
398+ $<$<STREQUAL:${product_type},ascend910B1_AIV>:__NPU_ARCH__=2201;__DAV_C220__;__DAV_C220_VEC__;__DAV_VEC__>
399+ $<$<STREQUAL:${product_type},ascend950pr_9599_AIC>:__NPU_ARCH__=3101;__DAV_C310__;__DAV_C310_CUBE__>
400+ $<$<STREQUAL:${product_type},ascend950pr_9599_AIV>:__NPU_ARCH__=3101;__DAV_C310__;__DAV_C310_VEC__>
401+ $<$<STREQUAL:${product_type},ascend310B1>:__NPU_ARCH__=3002;__DAV_M300__>
402+ __disable_kernel_type_autoinfer__=
403+ )
404+ 
405+ target_include_directories(ascendc_ut_adv_api_kernel_${product_type} PRIVATE
406+ ${ASCENDC_TEST_HEADER_FILES}
407+ ${ASCENDC_DEP_HEADER_DIR}
408+ )
409+ 
410+ target_compile_options(ascendc_ut_adv_api_kernel_${product_type} PRIVATE
411+ -fno-access-control
412+ -Werror
413+ )
414+ 
415+ target_link_libraries(ascendc_ut_adv_api_kernel_${product_type} PRIVATE
416+ $<BUILD_INTERFACE:intf_llt_pub_basic>
417+ kernel_tiling
418+ $<$<STREQUAL:${product_type},ascend310p>:tikicpulib::ascend310p>
419+ $<$<STREQUAL:${product_type},ascend610>:tikicpulib::ascend610>
420+ $<$<STREQUAL:${product_type},ascend910B1_AIC>:tikicpulib::ascend910B1>
421+ $<$<STREQUAL:${product_type},ascend910B1_AIV>:tikicpulib::ascend910B1>
422+ $<$<STREQUAL:${product_type},ascend950pr_9599_AIC>:tikicpulib::ascend950pr_9599>
423+ $<$<STREQUAL:${product_type},ascend950pr_9599_AIV>:tikicpulib::ascend950pr_9599>
424+ $<$<STREQUAL:${product_type},ascend310B1>:tikicpulib::ascend310B1>
425+ -Wl,--no-as-needed
426+ error_manager
427+ mmpa
428+ c_sec
429+ -Wl,--as-needed
430+ )
431+ 
432+ run_llt_test(
433+ TARGET ascendc_ut_adv_api_kernel_${product_type}
434+ TASK_NUM 1
435+ )
436+endforeach()
437+ 
438+# ================ adv_api tiling ut ================
439+file(GLOB ASCENDC_TILING_TEST_SRC_FILES
440+ tiling/test_hccl_tiling.cpp
441+ tiling/test_matmul_api_tiling.cpp
442+ tiling/test_tiling_v310.cpp
443+ tiling/test_tiling.cpp
444+ tiling/conv/*.cpp
445+ tiling/conv_backprop/*.cpp
446+)
447+ 
448+file(GLOB ASCENDC_TILING_SRC_FILES
449+ ${ASCENDC_ADV_API_IMPL}/tiling/activation/*.cpp
450+ ${ASCENDC_ADV_API_IMPL}/tiling/filter/*.cpp
451+ ${ASCENDC_ADV_API_IMPL}/tiling/index/*.cpp
452+ ${ASCENDC_ADV_API_IMPL}/tiling/math/*.cpp
453+ ${ASCENDC_ADV_API_IMPL}/tiling/matmul/*cpp
454+ ${ASCENDC_ADV_API_IMPL}/tiling/hccl/*.cpp
455+ ${ASCENDC_ADV_API_IMPL}/tiling/normalization/*.cpp
456+ ${ASCENDC_ADV_API_IMPL}/tiling/pad/*.cpp
457+ ${ASCENDC_ADV_API_IMPL}/tiling/quantization/*.cpp
458+ ${ASCENDC_ADV_API_IMPL}/tiling/reduce/*.cpp
459+ ${ASCENDC_ADV_API_IMPL}/tiling/select/*.cpp
460+ ${ASCENDC_ADV_API_IMPL}/tiling/sort/*.cpp
461+ ${ASCENDC_ADV_API_IMPL}/tiling/transpose/*.cpp
462+ ${ASCENDC_ADV_API_IMPL}/tiling/conv/*.cpp
463+ ${ASCENDC_ADV_API_IMPL}/tiling/conv_backprop/*.cpp
464+ ${ASCENDC_ADV_API_IMPL}/detail/host_log.cpp
465+)
466+ 
467+# ascendc_tiling_utest
468+foreach(product_type ${PRODUCT_TYPE_LIST})
469+ add_executable(ascendc_ut_adv_api_tiling_${product_type}
470+ ${ASCENDC_DIR}/tests/main.cpp
471+ ../common/platform_stub.cpp
472+ ../common/ascendc_platform_stub.cpp
473+ ${ASCENDC_TILING_SRC_FILES}
474+ ${ASCENDC_TILING_TEST_SRC_FILES}
475+ )
476+ 
477+ target_compile_definitions(ascendc_ut_adv_api_tiling_${product_type} PRIVATE
478+ UT_TEST
479+ $<$<STREQUAL:${product_type},ascend310p>:__NPU_ARCH__=2002>
480+ $<$<STREQUAL:${product_type},ascend610>:__NPU_ARCH__=2002>
481+ $<$<STREQUAL:${product_type},ascend910B1_AIC>:__NPU_ARCH__=2201>
482+ $<$<STREQUAL:${product_type},ascend910B1_AIV>:__NPU_ARCH__=2201>
483+ $<$<STREQUAL:${product_type},ascend950pr_9599_AIC>:__NPU_ARCH__=3101>
484+ $<$<STREQUAL:${product_type},ascend950pr_9599_AIV>:__NPU_ARCH__=3101>
485+ $<$<STREQUAL:${product_type},ascend310B1>:__NPU_ARCH__=3002>
486+ )
487+ 
488+ target_include_directories(ascendc_ut_adv_api_tiling_${product_type} PRIVATE
489+ ../common/
490+ ${ASCENDC_TEST_HEADER_FILES}
491+ ${ASCENDC_DEP_HEADER_DIR}
492+ ${ASCENDC_TEST_${product_type}_HEADER_FILES}
493+ ${ASCENDC_ADV_API_INCLUDE}/
494+ ${ASCENDC_ADV_API_INCLUDE}/activation/
495+ ${ASCENDC_ADV_API_INCLUDE}/filter/
496+ ${ASCENDC_ADV_API_INCLUDE}/index/
497+ ${ASCENDC_ADV_API_INCLUDE}/math/
498+ ${ASCENDC_ADV_API_INCLUDE}/matmul/
499+ ${ASCENDC_ADV_API_INCLUDE}/normalization/
500+ ${ASCENDC_ADV_API_INCLUDE}/pad/
501+ ${ASCENDC_ADV_API_INCLUDE}/quantization/
502+ ${ASCENDC_ADV_API_INCLUDE}/reduce/
503+ ${ASCENDC_ADV_API_INCLUDE}/select/
504+ ${ASCENDC_ADV_API_INCLUDE}/sort/
505+ ${ASCENDC_ADV_API_INCLUDE}/transpose/
506+ ${ASCENDC_ADV_API_INCLUDE}/conv/
507+ ${ASCENDC_ADV_API_INCLUDE}/conv_backprop/
508+ ${ASCENDC_ADV_API_INCLUDE}/conv/conv3d/
509+ )
510+ 
511+ target_link_directories(ascendc_ut_adv_api_tiling_${product_type} PRIVATE
512+ ${ASCEND_CANN_PACKAGE_PATH}/lib64
513+ )
514+ 
515+ target_link_libraries(ascendc_ut_adv_api_tiling_${product_type} PRIVATE
516+ $<BUILD_INTERFACE:intf_llt_pub_basic>
517+ kernel_tiling
518+ register
519+ platform
520+ graph
521+ graph_base
522+ unified_dlog
523+ ascend_protobuf
524+ error_manager
525+ mmpa
526+ c_sec
527+ dl
528+ )
529+ 
530+ run_llt_test(
531+ TARGET ascendc_ut_adv_api_tiling_${product_type}
532+ TASK_NUM 1
533+ )
534+endforeach()
Rtests/unit/adv_api/activation/geglu/test_operator_geglu.cpptests/api/adv_api/activation/geglu/test_operator_geglu.cpp+4-0
@@ -18,6 +18,10 @@
18using namespace std;18using namespace std;
19using namespace AscendC;19using namespace AscendC;
20 20 
21+#if defined(__NPU_ARCH__) && (__NPU_ARCH__ == 3101 || __NPU_ARCH__ == 5102)
22+constexpr uint32_t GEGLU_HALF_BUFFER_SIZE = 8; // 1 half data needs 2 float tmpbuffer which is 8 uint8 size
23+#endif
24+ 
21enum TestMode {25enum TestMode {
22 NO_INTPUT_PARA_MODE,26 NO_INTPUT_PARA_MODE,
23 TMPBUF_PARA_MODE,27 TMPBUF_PARA_MODE,
Rtests/unit/adv_api/activation/gelu/test_operator_fast_gelu.cpptests/api/adv_api/activation/gelu/test_operator_fast_gelu.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/activation/gelu/test_operator_fast_gelu_v2.cpptests/api/adv_api/activation/gelu/test_operator_fast_gelu_v2.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/activation/gelu/test_operator_gelu.cpptests/api/adv_api/activation/gelu/test_operator_gelu.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/activation/reglu/test_operator_reglu.cpptests/api/adv_api/activation/reglu/test_operator_reglu.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/activation/sigmoid/test_operator_vec_sigmoid.cpptests/api/adv_api/activation/sigmoid/test_operator_vec_sigmoid.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/activation/silu/test_operator_silu.cpptests/api/adv_api/activation/silu/test_operator_silu.cpp+0-0
文件重命名但无更改。
@@ -0,0 +1,235 @@
1+/**
2+* Copyright (c) 2025 Huawei Technologies Co., Ltd.
3+* This program is free software, you can redistribute it and/or modify it under the terms and conditions of
4+* CANN Open Software License Agreement Version 2.0 (the "License").
5+* Please refer to the License for details. You may not use this file except in compliance with the License.
6+* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED,
7+* INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
8+* See LICENSE in the root of the software repository for the full text of the License.
9+*/
10+#include <gtest/gtest.h>
11+#define private public
12+#define protected public
13+#include "kernel_operator.h"
14+#include "kernel_utils.h"
15+#include <math.h>
16+#include <iostream>
17+#include <fstream>
18+ 
19+using namespace std;
20+using namespace AscendC;
21+constexpr SoftmaxConfig config = {true, 16, 16};
22+namespace AscendC {
23+template <typename T1, typename T2, bool isBasicBlock = false, bool isDataFormatNZ = false>
24+class KernelSoftmax {
25+public:
26+ __aicore__ inline KernelSoftmax() {}
27+ __aicore__ inline void Init(__gm__ uint8_t* src0Gm, __gm__ uint8_t* src1Gm, __gm__ uint8_t* dstGm,
28+ uint32_t inheight, uint32_t inwidth)
29+ {
30+ height = inheight;
31+ width = inwidth;
32+ int elementNumPerBlk = 32 / sizeof(T2); // half=16 float=8
33+ src1Global.SetGlobalBuffer((__gm__ T1*)src0Gm);
34+ src2Global.SetGlobalBuffer((__gm__ T1*)src1Gm);
35+ dstGlobal.SetGlobalBuffer((__gm__ T1*)dstGm);
36+ pipe.InitBuffer(inQueueSrc1, 1, height * width * sizeof(T1));
37+ pipe.InitBuffer(inQueueSrc2, 1, height * width * sizeof(T1));
38+ pipe.InitBuffer(outQueueDst, 1, height * width * sizeof(T1));
39+ pipe.InitBuffer(inMeanQueue, 1, height * elementNumPerBlk * sizeof(T2));
40+ pipe.InitBuffer(inMaxQueue, 1, height * elementNumPerBlk * sizeof(T2));
41+ pipe.InitBuffer(inSumQueue, 1, height * elementNumPerBlk * sizeof(T2));
42+ elementNumPerBlk = 32 / sizeof(T1); // half=16 float=8
43+ pipe.InitBuffer(expMaxQueue, 1, height * elementNumPerBlk * sizeof(T1));
44+ height = inheight;
45+ width = inwidth;
46+ }
47+ 
48+ __aicore__ inline void Process()
49+ {
50+ CopyIn();
51+ Compute();
52+ CopyOut();
53+ }
54+ 
55+private:
56+ __aicore__ inline void CopyIn()
57+ {
58+ LocalTensor<T1> srcLocal1 = inQueueSrc1.AllocTensor<T1>();
59+ LocalTensor<T1> srcLocal2 = inQueueSrc2.AllocTensor<T1>();
60+ DataCopy(srcLocal1, src1Global, height * width);
61+ DataCopy(srcLocal2, src2Global, height * width);
62+ inQueueSrc1.EnQue(srcLocal1);
63+ inQueueSrc2.EnQue(srcLocal2);
64+ }
65+ __aicore__ inline void Compute()
66+ {
67+ uint32_t elementNumPerBlk = 32 / sizeof(T2); // half=16 float=8
68+ LocalTensor<T1> srcLocal1 = inQueueSrc1.DeQue<T1>();
69+ LocalTensor<T1> srcLocal2 = inQueueSrc2.DeQue<T1>();
70+ 
71+ LocalTensor<T2> inmeanLocal = inMeanQueue.AllocTensor<T2>();
72+ LocalTensor<T2> inmaxLocal = inMaxQueue.AllocTensor<T2>();
73+ LocalTensor<T2> insumLocal = inSumQueue.AllocTensor<T2>();
74+ LocalTensor<T1> expMaxTensor = expMaxQueue.AllocTensor<T1>();
75+ 
76+ LocalTensor<T1> dstLocal = outQueueDst.AllocTensor<T1>();
77+ 
78+ const uint32_t shapeDim = 2;
79+ DataFormat dataFormat{ DataFormat::ND };
80+ if (isDataFormatNZ) {
81+ dataFormat = DataFormat::NZ;
82+ }
83+ uint32_t array[2] = {height, width};
84+ uint32_t arrayOrigin[2] = {height, width};
85+ ShapeInfo srcShape = ShapeInfo(shapeDim, array, shapeDim, arrayOrigin, dataFormat);
86+ srcLocal1.SetShapeInfo(srcShape);
87+ srcLocal2.SetShapeInfo(srcShape);
88+ dstLocal.SetShapeInfo(srcShape);
89+ 
90+ SoftMaxShapeInfo alignSrcShape = { height, width, height, width };
91+ SoftMaxShapeInfo unalignedSrcShape = { height, width, height, width - 8 };
92+ SoftMaxTiling tiling;
93+ 
94+ SoftMax<T1, false, isBasicBlock, isDataFormatNZ>(srcLocal1, insumLocal, inmaxLocal, srcLocal1, tiling, alignSrcShape);
95+ SoftMax<T1, false, isBasicBlock, isDataFormatNZ>(srcLocal1, insumLocal, inmaxLocal, srcLocal1, tiling, unalignedSrcShape);
96+ SoftMax<T1, false, isBasicBlock>(srcLocal1, srcLocal1, tiling, alignSrcShape);
97+ AdjustSoftMaxRes<T1, T2, isDataFormatNZ>(srcLocal1, inmaxLocal, 9, (T1)1.0, alignSrcShape);
98+ SoftMax<T1, false, isBasicBlock>(srcLocal1, srcLocal1, tiling, unalignedSrcShape);
99+ AdjustSoftMaxRes<T1, T2, isDataFormatNZ>(srcLocal1, inmaxLocal, 9, (T1)1.0, unalignedSrcShape);
100+ SimpleSoftMax<T1, false, isBasicBlock, isDataFormatNZ>(dstLocal, insumLocal, inmaxLocal, srcLocal1, tiling, alignSrcShape);
101+ SimpleSoftMax<T1, false, isBasicBlock, isDataFormatNZ>(dstLocal, insumLocal, inmaxLocal, srcLocal1, tiling, unalignedSrcShape);
102+ SimpleSoftMax<T1, false, isBasicBlock, isDataFormatNZ, config>(dstLocal, insumLocal, inmaxLocal, srcLocal1, tiling, alignSrcShape);
103+ SimpleSoftMax<T1, false, isBasicBlock, isDataFormatNZ, config>(dstLocal, insumLocal, inmaxLocal, srcLocal1, tiling, unalignedSrcShape);
104+ 
105+ if constexpr (sizeof(T1) == sizeof(T2)) {
106+ AscendC::LocalTensor<uint8_t> sharedTmpBuffer;
107+ AscendC::PopStackBuffer<uint8_t, AscendC::TPosition::LCM>(sharedTmpBuffer);
108+ LogSoftMaxTiling logTiling;
109+ LogSoftMax<T1, false, isDataFormatNZ>(srcLocal1, insumLocal, inmaxLocal, srcLocal1, sharedTmpBuffer, logTiling, alignSrcShape);
110+ LogSoftMax<T1, false, isDataFormatNZ>(srcLocal1, insumLocal, inmaxLocal, srcLocal1, sharedTmpBuffer, logTiling, unalignedSrcShape);
111+ }
112+ 
113+ SoftmaxFlash<T1, false, isBasicBlock>(dstLocal, insumLocal, inmaxLocal, srcLocal1, expMaxTensor, insumLocal,
114+ inmaxLocal, tiling, false, alignSrcShape);
115+ SoftmaxFlash<T1, false, isBasicBlock>(dstLocal, insumLocal, inmaxLocal, srcLocal1, expMaxTensor, insumLocal,
116+ inmaxLocal, tiling, false, unalignedSrcShape);
117+ SoftmaxFlash<T1, false, isBasicBlock>(dstLocal, insumLocal, inmaxLocal, srcLocal2, expMaxTensor, insumLocal,
118+ inmaxLocal, tiling, true, alignSrcShape);
119+ SoftmaxFlash<T1, false, isBasicBlock>(dstLocal, insumLocal, inmaxLocal, srcLocal2, expMaxTensor, insumLocal,
120+ inmaxLocal, tiling, true, unalignedSrcShape);
121+ 
122+ SoftmaxFlash<T1, false, isBasicBlock>(dstLocal, insumLocal, inmaxLocal, srcLocal1, expMaxTensor, insumLocal,
123+ inmaxLocal, tiling, false);
124+ SoftmaxFlash<T1, false, isBasicBlock>(dstLocal, insumLocal, inmaxLocal, srcLocal2, expMaxTensor, insumLocal,
125+ inmaxLocal, tiling, true);
126+ 
127+ SoftMaxTiling flashv2Tiling;
128+ SoftmaxFlashV2<T1, false, false, isBasicBlock, isDataFormatNZ>(dstLocal, insumLocal, inmaxLocal, srcLocal1,
129+ expMaxTensor, insumLocal, inmaxLocal, flashv2Tiling, alignSrcShape);
130+ SoftmaxFlashV2<T1, false, false, isBasicBlock, isDataFormatNZ>(dstLocal, insumLocal, inmaxLocal, srcLocal1,
131+ expMaxTensor, insumLocal, inmaxLocal, flashv2Tiling, unalignedSrcShape);
132+ SoftmaxFlashV2<T1, true, false, isBasicBlock, isDataFormatNZ>(dstLocal, insumLocal, inmaxLocal, srcLocal2,
133+ expMaxTensor, insumLocal, inmaxLocal, flashv2Tiling, alignSrcShape);
134+ SoftmaxFlashV2<T1, true, false, isBasicBlock, isDataFormatNZ>(dstLocal, insumLocal, inmaxLocal, srcLocal2,
135+ expMaxTensor, insumLocal, inmaxLocal, flashv2Tiling, unalignedSrcShape);
136+
137+ if constexpr (Std::is_same<T1, half>::value && Std::is_same<T2, float>::value) {
138+ if (height == 8 && width == 512) {
139+ SoftMaxTiling flashv3Tiling;
140+ Duplicate(inmeanLocal, (float)9, height * 8);
141+ SoftmaxFlashV3<T1, T2, false>(dstLocal, inmeanLocal, insumLocal, inmaxLocal, srcLocal1,
142+ expMaxTensor, inmeanLocal, insumLocal, inmaxLocal, flashv3Tiling, {8, 512, 8, 512, 2, 8, 0.9375});
143+ SoftmaxFlashV3<T1, T2, true>(dstLocal, inmeanLocal, insumLocal, inmaxLocal, srcLocal1,
144+ expMaxTensor, inmeanLocal, insumLocal, inmaxLocal, flashv3Tiling, {8, 512, 8, 512, 2, 8, 0.9375});
145+ }
146+ }
147+ 
148+ SoftMaxTiling gradTiling;
149+ SoftmaxGrad<T1, false, isDataFormatNZ>(expMaxTensor, srcLocal2, srcLocal1, gradTiling, true, alignSrcShape);
150+ SoftmaxGrad<T1, false, isDataFormatNZ>(expMaxTensor, srcLocal2, srcLocal1, gradTiling, true, unalignedSrcShape);
151+ SoftmaxGrad<T1, false, isDataFormatNZ>(dstLocal, srcLocal2, srcLocal1, gradTiling, false, alignSrcShape);
152+ SoftmaxGrad<T1, false, isDataFormatNZ>(dstLocal, srcLocal2, srcLocal1, gradTiling, false, unalignedSrcShape);
153+ 
154+ outQueueDst.EnQue<T1>(dstLocal);
155+ inMeanQueue.FreeTensor(inmeanLocal);
156+ inMaxQueue.FreeTensor(inmaxLocal);
157+ inSumQueue.FreeTensor(insumLocal);
158+ inQueueSrc1.FreeTensor(srcLocal1);
159+ inQueueSrc2.FreeTensor(srcLocal2);
160+ expMaxQueue.FreeTensor(expMaxTensor);
161+ }
162+ __aicore__ inline void CopyOut()
163+ {
164+ LocalTensor<T1> dstLocal = outQueueDst.DeQue<T1>();
165+ DataCopy(dstGlobal, dstLocal, height * width);
166+ outQueueDst.FreeTensor(dstLocal);
167+ }
168+ 
169+private:
170+ TPipe pipe;
171+ TQue<TPosition::VECIN, 1> inQueueSrc1;
172+ TQue<TPosition::VECIN, 1> inQueueSrc2;
173+ TQue<TPosition::VECIN, 1> inMeanQueue;
174+ TQue<TPosition::VECIN, 1> inMaxQueue;
175+ TQue<TPosition::VECIN, 1> inSumQueue;
176+ TQue<TPosition::VECIN, 1> expMaxQueue;
177+ 
178+ TQue<TPosition::VECOUT, 1> outQueueDst;
179+ GlobalTensor<T1> src1Global, dstGlobal;
180+ GlobalTensor<T1> src2Global;
181+ uint32_t height = 16;
182+ uint32_t width = 16;
183+};
184+} // namespace AscendC
185+ 
186+template <typename T1, typename T2, bool isBasicBlock = false, bool isDataFormatNZ = false>
187+__global__ __aicore__ void MainSoftmax(__gm__ uint8_t* dstGm, __gm__ uint8_t* src0Gm, __gm__ uint8_t* src1Gm,
188+ uint32_t height, uint32_t width)
189+{
190+ AscendC::KernelSoftmax<T1, T2, isBasicBlock, isDataFormatNZ> op;
191+ op.Init(src0Gm, src1Gm, dstGm, height, width);
192+ op.Process();
193+}
194+ 
195+struct SoftMaxTestParams {
196+ uint32_t typeSize;
197+ uint32_t height;
198+ uint32_t width;
199+ void (*cal_func)(uint8_t*, uint8_t*, uint8_t*, uint32_t, uint32_t);
200+};
201+ 
202+class SoftMaxTestsuite : public testing::Test, public testing::WithParamInterface<SoftMaxTestParams> {
203+protected:
204+ void SetUp()
205+ {
206+ AscendC::SetGCoreType(2);
207+ }
208+ 
209+ void TearDown()
210+ {
211+ AscendC::SetGCoreType(0);
212+ }
213+};
214+ 
215+INSTANTIATE_TEST_CASE_P(TEST_OPEARATION_SOFTMAX, SoftMaxTestsuite,
216+ ::testing::Values(SoftMaxTestParams{ 2, 128, 144, MainSoftmax<half, half, false, true> },
217+ SoftMaxTestParams{ 2, 16, 16, MainSoftmax<half, half, false, false> },
218+ SoftMaxTestParams{ 2, 16, 32, MainSoftmax<half, half, false, false> },
219+ SoftMaxTestParams{ 2, 16, 16, MainSoftmax<half, half, false, true> },
220+ SoftMaxTestParams{ 2, 129, 256, MainSoftmax<half, half> },
221+ SoftMaxTestParams{ 2, 128, 256, MainSoftmax<half, half> },
222+ SoftMaxTestParams{ 2, 64, 128, MainSoftmax<half, float> },
223+ SoftMaxTestParams{ 2, 8, 512, MainSoftmax<half, float> },
224+ SoftMaxTestParams{ 2, 64, 128, MainSoftmax<half, float, false, true> },
225+ SoftMaxTestParams{ 4, 64, 128, MainSoftmax<float, float> },
226+ SoftMaxTestParams{ 4, 64, 128, MainSoftmax<float, float, false, true> }));
227+ 
228+TEST_P(SoftMaxTestsuite, SoftMaxOpTestCase)
229+{
230+ auto param = GetParam();
231+ uint8_t src0Gm[param.height * param.width * param.typeSize];
232+ uint8_t src1Gm[param.height * param.width * param.typeSize];
233+ uint8_t dstGm[param.height * param.width * param.typeSize];
234+ param.cal_func(dstGm, src0Gm, src1Gm, param.height, param.width);
235+}
Rtests/unit/adv_api/activation/softmax/test_operator_softmax_v220.cpptests/api/adv_api/activation/softmax/test_operator_softmax_v220.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/activation/softmax/test_operator_softmax_v300.cpptests/api/adv_api/activation/softmax/test_operator_softmax_v300.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/activation/softmax/test_operator_softmaxflashv3_v220.cpptests/api/adv_api/activation/softmax/test_operator_softmaxflashv3_v220.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/activation/swiglu/test_operator_swiglu.cpptests/api/adv_api/activation/swiglu/test_operator_swiglu.cpp+3-0
@@ -14,6 +14,9 @@
14 */14 */
15#include <gtest/gtest.h>15#include <gtest/gtest.h>
16#include "kernel_operator.h"16#include "kernel_operator.h"
17+#if defined(__NPU_ARCH__) && (__NPU_ARCH__ == 3101 || __NPU_ARCH__ == 5102)
18+constexpr uint32_t SWIGLU_HALF_BUFFER_SIZE = 8; // 1 half data needs 2 float tmpbuffer which is 8 uint8 size
19+#endif
17using namespace std;20using namespace std;
18using namespace AscendC;21using namespace AscendC;
19 22 
Rtests/unit/adv_api/activation/swish/test_operator_swish.cpptests/api/adv_api/activation/swish/test_operator_swish.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/api_check/activation/geglu/kernel_geglu_check.cpptests/api/adv_api/api_check/activation/geglu/kernel_geglu_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/activation/geglu/geglu_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class GeGLUAPICheck : public testing::Test {19class GeGLUAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/activation/gelu/kernel_faster_gelu_check.cpptests/api/adv_api/api_check/activation/gelu/kernel_faster_gelu_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/activation/gelu/faster_gelu_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class FasterGeluAPICheck : public testing::Test {19class FasterGeluAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/activation/gelu/kernel_faster_geluv2_check.cpptests/api/adv_api/api_check/activation/gelu/kernel_faster_geluv2_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/activation/gelu/faster_geluv2_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class FasterGeluV2APICheck : public testing::Test {19class FasterGeluV2APICheck : public testing::Test {
Rtests/unit/adv_api/api_check/activation/gelu/kernel_gelu_check.cpptests/api/adv_api/api_check/activation/gelu/kernel_gelu_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/activation/gelu/gelu_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class GeluAPICheck : public testing::Test {19class GeluAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/activation/reglu/kernel_reglu_check.cpptests/api/adv_api/api_check/activation/reglu/kernel_reglu_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/activation/reglu/reglu_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class ReGluAPICheck : public testing::Test {19class ReGluAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/activation/sigmoid/kernel_sigmoid_check.cpptests/api/adv_api/api_check/activation/sigmoid/kernel_sigmoid_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/activation/sigmoid/sigmoid_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class SigmoidAPICheck : public testing::Test {19class SigmoidAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/activation/silu/kernel_silu_check.cpptests/api/adv_api/api_check/activation/silu/kernel_silu_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/activation/silu/silu_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class SiluAPICheck : public testing::Test {19class SiluAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/activation/softmax/adjust_softmax_res/kernel_adjust_softmax_res_check.cpptests/api/adv_api/api_check/activation/softmax/adjust_softmax_res/kernel_adjust_softmax_res_check.cpp+3-0
@@ -10,6 +10,9 @@
10 10 
11#include <gtest/gtest.h>11#include <gtest/gtest.h>
12#include "kernel_operator.h"12#include "kernel_operator.h"
13+#ifdef ASCENDC_CPU_DEBUG
14+#include "impl/adv_api/detail/api_check/kernel_check/activation/softmax/adjust_softmax_res/adjust_softmax_res_check.h"
15+#endif // ASCENDC_CPU_DEBUG
13#include "impl/adv_api/detail/api_check/kernel_api_check.h"16#include "impl/adv_api/detail/api_check/kernel_api_check.h"
14 17 
15class AdjustSoftMaxResAPICheck : public testing::Test {18class AdjustSoftMaxResAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/activation/softmax/log_softmax/kernel_log_softmax_check.cpptests/api/adv_api/api_check/activation/softmax/log_softmax/kernel_log_softmax_check.cpp+3-0
@@ -10,6 +10,9 @@
10 10 
11#include <gtest/gtest.h>11#include <gtest/gtest.h>
12#include "kernel_operator.h"12#include "kernel_operator.h"
13+#ifdef ASCENDC_CPU_DEBUG
14+#include "impl/adv_api/detail/api_check/kernel_check/activation/softmax/log_softmax/log_softmax_check.h"
15+#endif // ASCENDC_CPU_DEBUG
13#include "impl/adv_api/detail/api_check/kernel_api_check.h"16#include "impl/adv_api/detail/api_check/kernel_api_check.h"
14 17 
15class LogSoftMaxAPICheck : public testing::Test {18class LogSoftMaxAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/activation/softmax/simple_softmax/kernel_simple_softmax_check.cpptests/api/adv_api/api_check/activation/softmax/simple_softmax/kernel_simple_softmax_check.cpp+3-0
@@ -10,6 +10,9 @@
10 10 
11#include <gtest/gtest.h>11#include <gtest/gtest.h>
12#include "kernel_operator.h"12#include "kernel_operator.h"
13+#ifdef ASCENDC_CPU_DEBUG
14+#include "impl/adv_api/detail/api_check/kernel_check/activation/softmax/simple_softmax/simple_softmax_check.h"
15+#endif // ASCENDC_CPU_DEBUG
13#include "impl/adv_api/detail/api_check/kernel_api_check.h"16#include "impl/adv_api/detail/api_check/kernel_api_check.h"
14 17 
15class SimpleSoftMaxAPICheck : public testing::Test {18class SimpleSoftMaxAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/activation/softmax/softmax/kernel_softmax_check.cpptests/api/adv_api/api_check/activation/softmax/softmax/kernel_softmax_check.cpp+3-0
@@ -10,6 +10,9 @@
10 10 
11#include <gtest/gtest.h>11#include <gtest/gtest.h>
12#include "kernel_operator.h"12#include "kernel_operator.h"
13+#ifdef ASCENDC_CPU_DEBUG
14+#include "impl/adv_api/detail/api_check/kernel_check/activation/softmax/softmax/softmax_check.h"
15+#endif // ASCENDC_CPU_DEBUG
13#include "impl/adv_api/detail/api_check/kernel_api_check.h"16#include "impl/adv_api/detail/api_check/kernel_api_check.h"
14 17 
15class SoftMaxAPICheck : public testing::Test {18class SoftMaxAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/activation/softmax/softmax_flash/kernel_softmax_flash_check.cpptests/api/adv_api/api_check/activation/softmax/softmax_flash/kernel_softmax_flash_check.cpp+3-0
@@ -10,6 +10,9 @@
10 10 
11#include <gtest/gtest.h>11#include <gtest/gtest.h>
12#include "kernel_operator.h"12#include "kernel_operator.h"
13+#ifdef ASCENDC_CPU_DEBUG
14+#include "impl/adv_api/detail/api_check/kernel_check/activation/softmax/softmax_flash/softmax_flash_check.h"
15+#endif // ASCENDC_CPU_DEBUG
13#include "impl/adv_api/detail/api_check/kernel_api_check.h"16#include "impl/adv_api/detail/api_check/kernel_api_check.h"
14 17 
15class SoftMaxFlashAPICheck : public testing::Test {18class SoftMaxFlashAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/activation/softmax/softmax_flashv2/kernel_softmax_flashv2_check.cpptests/api/adv_api/api_check/activation/softmax/softmax_flashv2/kernel_softmax_flashv2_check.cpp+3-0
@@ -10,6 +10,9 @@
10 10 
11#include <gtest/gtest.h>11#include <gtest/gtest.h>
12#include "kernel_operator.h"12#include "kernel_operator.h"
13+#ifdef ASCENDC_CPU_DEBUG
14+#include "impl/adv_api/detail/api_check/kernel_check/activation/softmax/softmax_flashv2/softmax_flashv2_check.h"
15+#endif // ASCENDC_CPU_DEBUG
13#include "impl/adv_api/detail/api_check/kernel_api_check.h"16#include "impl/adv_api/detail/api_check/kernel_api_check.h"
14 17 
15class SoftMaxFlashV2APICheck : public testing::Test {18class SoftMaxFlashV2APICheck : public testing::Test {
Rtests/unit/adv_api/api_check/activation/softmax/softmax_flashv3/kernel_softmax_flashv3_check.cpptests/api/adv_api/api_check/activation/softmax/softmax_flashv3/kernel_softmax_flashv3_check.cpp+3-0
@@ -10,6 +10,9 @@
10 10 
11#include <gtest/gtest.h>11#include <gtest/gtest.h>
12#include "kernel_operator.h"12#include "kernel_operator.h"
13+#ifdef ASCENDC_CPU_DEBUG
14+#include "impl/adv_api/detail/api_check/kernel_check/activation/softmax/softmax_flashv3/softmax_flashv3_check.h"
15+#endif // ASCENDC_CPU_DEBUG
13#include "impl/adv_api/detail/api_check/kernel_api_check.h"16#include "impl/adv_api/detail/api_check/kernel_api_check.h"
14 17 
15class SoftMaxFlashV3APICheck : public testing::Test {18class SoftMaxFlashV3APICheck : public testing::Test {
Rtests/unit/adv_api/api_check/activation/softmax/softmax_grad/kernel_softmax_grad_check.cpptests/api/adv_api/api_check/activation/softmax/softmax_grad/kernel_softmax_grad_check.cpp+3-0
@@ -10,6 +10,9 @@
10 10 
11#include <gtest/gtest.h>11#include <gtest/gtest.h>
12#include "kernel_operator.h"12#include "kernel_operator.h"
13+#ifdef ASCENDC_CPU_DEBUG
14+#include "impl/adv_api/detail/api_check/kernel_check/activation/softmax/softmax_grad/softmax_grad_check.h"
15+#endif // ASCENDC_CPU_DEBUG
13#include "impl/adv_api/detail/api_check/kernel_api_check.h"16#include "impl/adv_api/detail/api_check/kernel_api_check.h"
14 17 
15class SoftMaxGradAPICheck : public testing::Test {18class SoftMaxGradAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/activation/softmax/softmax_grad_front/kernel_softmax_grad_front_check.cpptests/api/adv_api/api_check/activation/softmax/softmax_grad_front/kernel_softmax_grad_front_check.cpp+3-0
@@ -10,6 +10,9 @@
10 10 
11#include <gtest/gtest.h>11#include <gtest/gtest.h>
12#include "kernel_operator.h"12#include "kernel_operator.h"
13+#ifdef ASCENDC_CPU_DEBUG
14+#include "impl/adv_api/detail/api_check/kernel_check/activation/softmax/softmax_grad_front/softmax_grad_front_check.h"
15+#endif // ASCENDC_CPU_DEBUG
13#include "impl/adv_api/detail/api_check/kernel_api_check.h"16#include "impl/adv_api/detail/api_check/kernel_api_check.h"
14 17 
15class SoftMaxGradFrontAPICheck : public testing::Test {18class SoftMaxGradFrontAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/activation/swiglu/kernel_swiglu_check.cpptests/api/adv_api/api_check/activation/swiglu/kernel_swiglu_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/activation/swiglu/swiglu_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class SwiGLUAPICheck : public testing::Test {19class SwiGLUAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/activation/swish/kernel_swish_check.cpptests/api/adv_api/api_check/activation/swish/kernel_swish_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/activation/swish/swish_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class SwishAPICheck : public testing::Test {19class SwishAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/filter/droupout/kernel_droupout_check.cpptests/api/adv_api/api_check/filter/droupout/kernel_droupout_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/filter/dropout/dropout_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class DropOutAPICheck : public testing::Test {19class DropOutAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/index/arithprogression/kernel_arithprogression_check.cpptests/api/adv_api/api_check/index/arithprogression/kernel_arithprogression_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/index/arithprogression/arithprogression_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class ArithProgressionAPICheck : public testing::Test {19class ArithProgressionAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/math/acos/kernel_acos_check.cpptests/api/adv_api/api_check/math/acos/kernel_acos_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/math/acos/acos_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class AcosAPICheck : public testing::Test {19class AcosAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/math/acosh/kernel_acosh_check.cpptests/api/adv_api/api_check/math/acosh/kernel_acosh_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/math/acosh/acosh_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class AcoshAPICheck : public testing::Test {19class AcoshAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/math/asin/kernel_asin_check.cpptests/api/adv_api/api_check/math/asin/kernel_asin_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/math/asin/asin_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class AsinAPICheck : public testing::Test {19class AsinAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/math/asinh/kernel_asinh_check.cpptests/api/adv_api/api_check/math/asinh/kernel_asinh_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/math/asinh/asinh_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class AsinhAPICheck : public testing::Test {19class AsinhAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/math/atan/kernel_atan_check.cpptests/api/adv_api/api_check/math/atan/kernel_atan_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/math/atan/atan_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class AtanAPICheck : public testing::Test {19class AtanAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/math/atanh/kernel_atanh_check.cpptests/api/adv_api/api_check/math/atanh/kernel_atanh_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/math/atanh/atanh_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class AtanhAPICheck : public testing::Test {19class AtanhAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/math/axpy/kernel_axpy_check.cpptests/api/adv_api/api_check/math/axpy/kernel_axpy_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/math/axpy/axpy_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class AxpyAPICheck : public testing::Test {19class AxpyAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/math/ceil/kernel_ceil_check.cpptests/api/adv_api/api_check/math/ceil/kernel_ceil_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/math/ceil/ceil_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class CeilAPICheck : public testing::Test {19class CeilAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/math/clamp/kernel_clamp_check.cpptests/api/adv_api/api_check/math/clamp/kernel_clamp_check.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/api_check/math/cos/kernel_cos_check.cpptests/api/adv_api/api_check/math/cos/kernel_cos_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/math/cos/cos_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class CosAPICheck : public testing::Test {19class CosAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/math/cosh/kernel_cosh_check.cpptests/api/adv_api/api_check/math/cosh/kernel_cosh_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/math/cosh/cosh_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class CoshAPICheck : public testing::Test {19class CoshAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/math/cumsum/kernel_cumsum_check.cpptests/api/adv_api/api_check/math/cumsum/kernel_cumsum_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/math/cumsum/cumsum_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class CumSumAPICheck : public testing::Test {19class CumSumAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/math/digamma/kernel_digamma_check.cpptests/api/adv_api/api_check/math/digamma/kernel_digamma_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/math/digamma/digamma_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class DigammaAPICheck : public testing::Test {19class DigammaAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/math/erf/kernel_erf_check.cpptests/api/adv_api/api_check/math/erf/kernel_erf_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/math/erf/erf_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class ErfAPICheck : public testing::Test {19class ErfAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/math/erfc/kernel_erfc_check.cpptests/api/adv_api/api_check/math/erfc/kernel_erfc_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/math/erfc/erfc_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class ErfcAPICheck : public testing::Test {19class ErfcAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/math/exp/kernel_exp_check.cpptests/api/adv_api/api_check/math/exp/kernel_exp_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/math/exp/exp_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class ExpAPICheck : public testing::Test {19class ExpAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/math/floor/kernel_floor_check.cpptests/api/adv_api/api_check/math/floor/kernel_floor_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/math/floor/floor_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class FloorAPICheck : public testing::Test {19class FloorAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/math/fmod/kernel_fmod_check.cpptests/api/adv_api/api_check/math/fmod/kernel_fmod_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/math/fmod/fmod_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class FmodAPICheck : public testing::Test {19class FmodAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/math/frac/kernel_frac_check.cpptests/api/adv_api/api_check/math/frac/kernel_frac_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/math/frac/frac_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class FracAPICheck : public testing::Test {19class FracAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/math/lgamma/kernel_lgamma_check.cpptests/api/adv_api/api_check/math/lgamma/kernel_lgamma_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/math/lgamma/lgamma_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class LgammaAPICheck : public testing::Test {19class LgammaAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/math/log/kernel_log_check.cpptests/api/adv_api/api_check/math/log/kernel_log_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/math/log/log_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class LogAPICheck : public testing::Test {19class LogAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/math/power/kernel_power_check.cpptests/api/adv_api/api_check/math/power/kernel_power_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/math/power/power_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class PowerAPICheck : public testing::Test {19class PowerAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/math/round/kernel_round_check.cpptests/api/adv_api/api_check/math/round/kernel_round_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/math/round/round_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class RoundAPICheck : public testing::Test {19class RoundAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/math/sign/kernel_sign_check.cpptests/api/adv_api/api_check/math/sign/kernel_sign_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/math/sign/sign_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class SignAPICheck : public testing::Test {19class SignAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/math/sin/kernel_sin_check.cpptests/api/adv_api/api_check/math/sin/kernel_sin_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/math/sin/sin_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class SinAPICheck : public testing::Test {19class SinAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/math/sinh/kernel_sinh_check.cpptests/api/adv_api/api_check/math/sinh/kernel_sinh_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/math/sinh/sinh_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class SinhAPICheck : public testing::Test {19class SinhAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/math/tan/kernel_tan_check.cpptests/api/adv_api/api_check/math/tan/kernel_tan_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/math/tan/tan_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class TanAPICheck : public testing::Test {19class TanAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/math/tanh/kernel_tanh_check.cpptests/api/adv_api/api_check/math/tanh/kernel_tanh_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/math/tanh/tanh_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class TanhAPICheck : public testing::Test {19class TanhAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/math/trunc/kernel_trunc_check.cpptests/api/adv_api/api_check/math/trunc/kernel_trunc_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/math/trunc/trunc_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class TruncAPICheck : public testing::Test {19class TruncAPICheck : public testing::Test {
@@ -0,0 +1,114 @@
1+/**
2+* Copyright (c) 2025 Huawei Technologies Co., Ltd.
3+* This program is free software, you can redistribute it and/or modify it under the terms and conditions of
4+* CANN Open Software License Agreement Version 2.0 (the "License").
5+* Please refer to the License for details. You may not use this file except in compliance with the License.
6+* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED,
7+* INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
8+* See LICENSE in the root of the software repository for the full text of the License.
9+*/
10+ 
11+ 
12+#include <gtest/gtest.h>
13+#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/math/where/where_check.h"
16+#endif // ASCENDC_CPU_DEBUG
17+#include "impl/adv_api/detail/api_check/kernel_api_check.h"
18+ 
19+#if defined(__NPU_ARCH__) && (__NPU_ARCH__ == 3101 || __NPU_ARCH__ == 5102)
20+class WhereAPICheck : public testing::Test {
21+protected:
22+ static void SetUpTestCase() {}
23+ static void TearDownTestCase() {}
24+ virtual void SetUp() {
25+ AscendC::KernelRaise::GetInstance().SetRaiseMode(false);
26+ }
27+ void TearDown() {
28+ AscendC::KernelRaise::GetInstance().SetRaiseMode(true);
29+ }
30+};
31+ 
32+TEST_F(WhereAPICheck, WhereAPICheckTestSuccess)
33+{
34+ AscendC::TPipe m_pipe;
35+ const uint32_t count = 32;
36+ 
37+ AscendC::TQue<AscendC::TPosition::VECIN, 1> inQueueX;
38+ m_pipe.InitBuffer(inQueueX, 1, count * sizeof(float));
39+ AscendC::LocalTensor<float> src0Tensor = inQueueX.AllocTensor<float>();
40+ src0Tensor.SetSize(count);
41+ 
42+ AscendC::TQue<AscendC::TPosition::VECIN, 1> inQueueY;
43+ m_pipe.InitBuffer(inQueueY, 1, count * sizeof(float));
44+ AscendC::LocalTensor<float> src1Tensor = inQueueY.AllocTensor<float>();
45+ src1Tensor.SetSize(count);
46+ 
47+ AscendC::TQue<AscendC::TPosition::VECIN, 1> inQueueZ;
48+ m_pipe.InitBuffer(inQueueZ, 1, count * sizeof(bool));
49+ AscendC::LocalTensor<bool> conditionTensor = inQueueZ.AllocTensor<bool>();
50+ conditionTensor.SetSize(count);
51+ 
52+ AscendC::TQue<AscendC::TPosition::VECOUT, 1> outQueue;
53+ m_pipe.InitBuffer(outQueue, 1, count * sizeof(float));
54+ AscendC::LocalTensor<float> dstTensor = outQueue.AllocTensor<float>();
55+ dstTensor.SetSize(count);
56+ 
57+ uint8_t calCount = 16;
58+ uint64_t startCounts = AscendC::KernelRaise::GetInstance().GetRaiseCount();
59+ AscendC::CHECK_FUNC_HIGHLEVEL_API(Where, (float, AscendC::LocalTensor<float>, AscendC::LocalTensor<float>, bool),
60+ (dstTensor, src0Tensor, src1Tensor, conditionTensor, calCount));
61+ const uint32_t res = 0;
62+ EXPECT_EQ(AscendC::KernelRaise::GetInstance().GetRaiseCount() - startCounts, res);
63+}
64+ 
65+TEST_F(WhereAPICheck, WhereAPICheckTestCountFailure)
66+{
67+ AscendC::TPipe m_pipe;
68+ 
69+ const uint32_t count = 32;
70+ float src0 = 0;
71+ float src1 = 1;
72+ 
73+ AscendC::TQue<AscendC::TPosition::VECIN, 1> inQueueZ;
74+ m_pipe.InitBuffer(inQueueZ, 1, count * sizeof(bool));
75+ AscendC::LocalTensor<bool> conditionTensor = inQueueZ.AllocTensor<bool>();
76+ conditionTensor.SetSize(count);
77+ 
78+ AscendC::TQue<AscendC::TPosition::VECOUT, 1> outQueue;
79+ m_pipe.InitBuffer(outQueue, 1, count * sizeof(float));
80+ AscendC::LocalTensor<float> dstTensor = outQueue.AllocTensor<float>();
81+ dstTensor.SetSize(count);
82+ 
83+ uint8_t calCount = 64;
84+ uint64_t startCounts = AscendC::KernelRaise::GetInstance().GetRaiseCount();
85+ AscendC::CHECK_FUNC_HIGHLEVEL_API(Where, (float, float, float, bool), (dstTensor, src0, src1, conditionTensor, calCount));
86+ const uint32_t res = 2;
87+ EXPECT_EQ(AscendC::KernelRaise::GetInstance().GetRaiseCount() - startCounts, res);
88+}
89+ 
90+TEST_F(WhereAPICheck, WhereAPICheckTestPosFailure)
91+{
92+ AscendC::TPipe m_pipe;
93+ 
94+ const uint32_t count = 32;
95+ float src0 = 0;
96+ float src1 = 1;
97+ 
98+ AscendC::TQue<AscendC::TPosition::VECIN, 1> inQueueZ;
99+ m_pipe.InitBuffer(inQueueZ, 1, count * sizeof(bool));
100+ AscendC::LocalTensor<bool> conditionTensor = inQueueZ.AllocTensor<bool>();
101+ conditionTensor.SetSize(count);
102+ 
103+ AscendC::TQue<AscendC::TPosition::A1, 1> outQueue;
104+ m_pipe.InitBuffer(outQueue, 1, count * sizeof(float));
105+ AscendC::LocalTensor<float> dstTensor = outQueue.AllocTensor<float>();
106+ dstTensor.SetSize(count);
107+ 
108+ uint8_t calCount = 23;
109+ uint64_t startCounts = AscendC::KernelRaise::GetInstance().GetRaiseCount();
110+ AscendC::CHECK_FUNC_HIGHLEVEL_API(Where, (float, float, float, bool), (dstTensor, src0, src1, conditionTensor, calCount));
111+ const uint32_t res = 1;
112+ EXPECT_EQ(AscendC::KernelRaise::GetInstance().GetRaiseCount() - startCounts, res);
113+}
114+#endif
Rtests/unit/adv_api/api_check/math/xor/kernel_xor_check.cpptests/api/adv_api/api_check/math/xor/kernel_xor_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/math/xor/xor_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class XorAPICheck : public testing::Test {19class XorAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/normalization/batchnorm/kernel_batchnorm_check.cpptests/api/adv_api/api_check/normalization/batchnorm/kernel_batchnorm_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/normalization/batchnorm/batchnorm_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class BatchNormAPICheck : public testing::Test {19class BatchNormAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/normalization/deepnorm/kernel_deepnorm_check.cpptests/api/adv_api/api_check/normalization/deepnorm/kernel_deepnorm_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/normalization/deepnorm/deepnorm_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class DeepNormAPICheck : public testing::Test {19class DeepNormAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/normalization/groupnorm/kernel_groupnorm_check.cpptests/api/adv_api/api_check/normalization/groupnorm/kernel_groupnorm_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/normalization/groupnorm/groupnorm_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class GroupNormAPICheck : public testing::Test {19class GroupNormAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/normalization/layernorm/kernel_layernorm_check.cpptests/api/adv_api/api_check/normalization/layernorm/kernel_layernorm_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/normalization/layernorm/layernorm_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class LayerNormAPICheck : public testing::Test {19class LayerNormAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/normalization/layernormgrad/kernel_layernormgrad_check.cpptests/api/adv_api/api_check/normalization/layernormgrad/kernel_layernormgrad_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/normalization/layernormgrad/layernormgrad_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class LayerNormGradAPICheck : public testing::Test {19class LayerNormGradAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/normalization/layernormgradbeta/kernel_layernormgradbeta_check.cpptests/api/adv_api/api_check/normalization/layernormgradbeta/kernel_layernormgradbeta_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/normalization/layernormgradbeta/layernormgradbeta_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class LayerNormGradBetaAPICheck : public testing::Test {19class LayerNormGradBetaAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/normalization/normalize/kernel_normalize_check.cpptests/api/adv_api/api_check/normalization/normalize/kernel_normalize_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/normalization/normalize/normalize_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class NormalizeAPICheck : public testing::Test {19class NormalizeAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/normalization/rmsnorm/kernel_rmsnorm_check.cpptests/api/adv_api/api_check/normalization/rmsnorm/kernel_rmsnorm_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/normalization/rmsnorm/rmsnorm_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class RmsNormAPICheck : public testing::Test {19class RmsNormAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/normalization/welfordfinalize/kernel_welfordfinalize_check.cpptests/api/adv_api/api_check/normalization/welfordfinalize/kernel_welfordfinalize_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/normalization/welfordfinalize/welfordfinalize_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class WelfordFinalizeAPICheck : public testing::Test {19class WelfordFinalizeAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/normalization/welfordupdate/kernel_welfordupdate_check.cpptests/api/adv_api/api_check/normalization/welfordupdate/kernel_welfordupdate_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/normalization/welforupdate/welfordupdate_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class WelfordUpdateAPICheck : public testing::Test {19class WelfordUpdateAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/pad/broadcast/kernel_broadcast_check.cpptests/api/adv_api/api_check/pad/broadcast/kernel_broadcast_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/pad/broadcast/broadcast_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class BroadcastAPICheck : public testing::Test {19class BroadcastAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/pad/pad/kernel_pad_check.cpptests/api/adv_api/api_check/pad/pad/kernel_pad_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/pad/pad/pad_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class PadAPICheck : public testing::Test {19class PadAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/pad/unpad/kernel_unpad_check.cpptests/api/adv_api/api_check/pad/unpad/kernel_unpad_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/pad/pad/unpad_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class UnPadAPICheck : public testing::Test {19class UnPadAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/quantization/antiquant/kernel_antiquant_check.cpptests/api/adv_api/api_check/quantization/antiquant/kernel_antiquant_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/quantization/antiquant/antiquant_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class AntiQuantAPICheck : public testing::Test {19class AntiQuantAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/quantization/dequant/kernel_dequant_check.cpptests/api/adv_api/api_check/quantization/dequant/kernel_dequant_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/quantization/dequant/dequant_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class DequantAPICheck : public testing::Test {19class DequantAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/quantization/quant/kernel_quant_check.cpptests/api/adv_api/api_check/quantization/quant/kernel_quant_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/quantization/quant/quant_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class QuantAPICheck : public testing::Test {19class QuantAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/reduce/mean/kernel_mean_check.cpptests/api/adv_api/api_check/reduce/mean/kernel_mean_check.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/api_check/reduce/reduce_all/kernel_reduce_all_check.cpptests/api/adv_api/api_check/reduce/reduce_all/kernel_reduce_all_check.cpp+29-0
@@ -80,3 +80,32 @@ TEST_F(ReduceAllAPICheck, ReduceAllAPICheckOverlap)
80 CheckReduceOverlap<float, 80 CheckReduceOverlap<float,
81 HighLevelApiCheck::CheckFuncReduceAll<float, AscendC::Pattern::Reduce::RA>>("ReduceAll");81 HighLevelApiCheck::CheckFuncReduceAll<float, AscendC::Pattern::Reduce::RA>>("ReduceAll");
82}82}
83+ 
84+#if defined(__NPU_ARCH__) && (__NPU_ARCH__ == 3101 || __NPU_ARCH__ == 5102)
85+TEST_F(ReduceAllAPICheck, ReduceAllAPICheckWidth32B)
86+{
87+ AscendC::TPipe pipe;
88+ AscendC::TQue<TPosition::VECIN, 1> inQueueX;
89+ AscendC::TQue<TPosition::VECOUT, 1> outQueueY;
90+ AscendC::TBuf<TPosition::VECCALC> tmplocalBuf;
91+ uint32_t first = 33;
92+ uint32_t last = 33;
93+ pipe.InitBuffer(outQueueY, 1, last * sizeof(float));
94+ pipe.InitBuffer(inQueueX, 1, first * last * sizeof(float));
95+ pipe.InitBuffer(tmplocalBuf, last);
96+ AscendC::LocalTensor<float> srcTensor = inQueueX.AllocTensor<float>();
97+ AscendC::LocalTensor<uint8_t> sharedTmpBuffer = tmplocalBuf.Get<uint8_t>();
98+ AscendC::LocalTensor<float> dstTensor = outQueueY.AllocTensor<float>();
99+ 
100+ uint32_t srcShape[] = { first, last };
101+ constexpr bool isReuseSource = true;
102+ bool srcInnerPad = true;
103+ uint64_t startCounts = AscendC::KernelRaise::GetInstance().GetRaiseCount();
104+ HighLevelApiCheck::CheckFuncReduceAll<float, AscendC::Pattern::Reduce::RA>(
105+ "ReduceAll", dstTensor, srcTensor, sharedTmpBuffer, srcShape, srcInnerPad, last);
106+ inQueueX.FreeTensor(srcTensor);
107+ outQueueY.FreeTensor(dstTensor);
108+ tmplocalBuf.FreeTensor(sharedTmpBuffer);
109+ EXPECT_EQ(AscendC::KernelRaise::GetInstance().GetRaiseCount() - startCounts, 1);
110+}
111+#endif
Rtests/unit/adv_api/api_check/reduce/reduce_any/kernel_reduce_any_check.cpptests/api/adv_api/api_check/reduce/reduce_any/kernel_reduce_any_check.cpp+29-0
@@ -80,3 +80,32 @@ TEST_F(ReduceAnyAPICheck, ReduceAnyAPICheckOverlap)
80 CheckReduceOverlap<float, 80 CheckReduceOverlap<float,
81 HighLevelApiCheck::CheckFuncReduceAny<float, AscendC::Pattern::Reduce::RA>>("ReduceAny");81 HighLevelApiCheck::CheckFuncReduceAny<float, AscendC::Pattern::Reduce::RA>>("ReduceAny");
82}82}
83+ 
84+#if defined(__NPU_ARCH__) && (__NPU_ARCH__ == 3101 || __NPU_ARCH__ == 5102)
85+TEST_F(ReduceAnyAPICheck, ReduceAnyAPICheckWidth32B)
86+{
87+ AscendC::TPipe pipe;
88+ AscendC::TBuf<TPosition::VECCALC> tmplocalBuf;
89+ AscendC::TQue<TPosition::VECIN, 1> inQueueX;
90+ AscendC::TQue<TPosition::VECOUT, 1> outQueueY;
91+ uint32_t last = 33;
92+ uint32_t first = 33;
93+ pipe.InitBuffer(inQueueX, 1, first * last * sizeof(float));
94+ pipe.InitBuffer(outQueueY, 1, last * sizeof(float));
95+ pipe.InitBuffer(tmplocalBuf, last);
96+ AscendC::LocalTensor<uint8_t> sharedTmpBuffer = tmplocalBuf.Get<uint8_t>();
97+ AscendC::LocalTensor<float> srcTensor = inQueueX.AllocTensor<float>();
98+ AscendC::LocalTensor<float> dstTensor = outQueueY.AllocTensor<float>();
99+ 
100+ constexpr bool isReuseSource = true;
101+ bool srcInnerPad = true;
102+ uint32_t srcShape[] = { first, last };
103+ uint64_t startCounts = AscendC::KernelRaise::GetInstance().GetRaiseCount();
104+ HighLevelApiCheck::CheckFuncReduceAny<float, AscendC::Pattern::Reduce::RA>(
105+ "ReduceAny", dstTensor, srcTensor, sharedTmpBuffer, srcShape, srcInnerPad, last);
106+ inQueueX.FreeTensor(srcTensor);
107+ outQueueY.FreeTensor(dstTensor);
108+ tmplocalBuf.FreeTensor(sharedTmpBuffer);
109+ EXPECT_EQ(AscendC::KernelRaise::GetInstance().GetRaiseCount() - startCounts, 1);
110+}
111+#endif
Rtests/unit/adv_api/api_check/reduce/reduce_case_common.htests/api/adv_api/api_check/reduce/reduce_case_common.h+0-0
文件重命名但无更改。
Rtests/unit/adv_api/api_check/reduce/reduce_max/kernel_reduce_max_check.cpptests/api/adv_api/api_check/reduce/reduce_max/kernel_reduce_max_check.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/api_check/reduce/reduce_mean/kernel_reduce_mean_check.cpptests/api/adv_api/api_check/reduce/reduce_mean/kernel_reduce_mean_check.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/api_check/reduce/reduce_min/kernel_reduce_min_check.cpptests/api/adv_api/api_check/reduce/reduce_min/kernel_reduce_min_check.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/api_check/reduce/reduce_prod/kernel_reduce_prod_check.cpptests/api/adv_api/api_check/reduce/reduce_prod/kernel_reduce_prod_check.cpp+29-0
@@ -81,3 +81,32 @@ TEST_F(ReduceProdAPICheck, ReduceProdAPICheckOverlap)
81 CheckReduceOverlap<float, 81 CheckReduceOverlap<float,
82 HighLevelApiCheck::CheckFuncReduceProd<float, AscendC::Pattern::Reduce::RA>>("ReduceProd");82 HighLevelApiCheck::CheckFuncReduceProd<float, AscendC::Pattern::Reduce::RA>>("ReduceProd");
83}83}
84+ 
85+#if defined(__NPU_ARCH__) && (__NPU_ARCH__ == 3101 || __NPU_ARCH__ == 5102)
86+TEST_F(ReduceProdAPICheck, ReduceProdAPICheckWidth32B)
87+{
88+ AscendC::TPipe pipe;
89+ AscendC::TQue<TPosition::VECIN, 1> inQueueX;
90+ AscendC::TQue<TPosition::VECOUT, 1> outQueueY;
91+ AscendC::TBuf<TPosition::VECCALC> tmplocalBuf;
92+ uint32_t first = 33;
93+ uint32_t last = 33;
94+ pipe.InitBuffer(inQueueX, 1, first * last * sizeof(float));
95+ pipe.InitBuffer(outQueueY, 1, last * sizeof(float));
96+ pipe.InitBuffer(tmplocalBuf, last);
97+ AscendC::LocalTensor<float> srcTensor = inQueueX.AllocTensor<float>();
98+ AscendC::LocalTensor<float> dstTensor = outQueueY.AllocTensor<float>();
99+ AscendC::LocalTensor<uint8_t> sharedTmpBuffer = tmplocalBuf.Get<uint8_t>();
100+ 
101+ constexpr bool isReuseSource = true;
102+ uint32_t srcShape[] = { first, last };
103+ bool srcInnerPad = true;
104+ uint64_t startCounts = AscendC::KernelRaise::GetInstance().GetRaiseCount();
105+ HighLevelApiCheck::CheckFuncReduceProd<float, AscendC::Pattern::Reduce::RA>(
106+ "ReduceProd", dstTensor, srcTensor, sharedTmpBuffer, srcShape, srcInnerPad, last);
107+ inQueueX.FreeTensor(srcTensor);
108+ outQueueY.FreeTensor(dstTensor);
109+ tmplocalBuf.FreeTensor(sharedTmpBuffer);
110+ EXPECT_EQ(AscendC::KernelRaise::GetInstance().GetRaiseCount() - startCounts, 1);
111+}
112+#endif
Rtests/unit/adv_api/api_check/reduce/reduce_sum/kernel_reduce_sum_check.cpptests/api/adv_api/api_check/reduce/reduce_sum/kernel_reduce_sum_check.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/api_check/reduce/reduce_xor_sum/kernel_reduce_xor_sum_check.cpptests/api/adv_api/api_check/reduce/reduce_xor_sum/kernel_reduce_xor_sum_check.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/api_check/reduce/sum/kernel_sum_check.cpptests/api/adv_api/api_check/reduce/sum/kernel_sum_check.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/api_check/select/selectwithbytesmask/kernel_selectwithbytesmask_check.cpptests/api/adv_api/api_check/select/selectwithbytesmask/kernel_selectwithbytesmask_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/select/selectwithbytesmask/selectwithbytesmaskcheck.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class SelectWithBytesMaskAPICheck : public testing::Test {19class SelectWithBytesMaskAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/sort/concat/kernel_concat_check.cpptests/api/adv_api/api_check/sort/concat/kernel_concat_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/sort/concat/concat_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class ConcatAPICheck : public testing::Test {19class ConcatAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/sort/extract/kernel_extract_check.cpptests/api/adv_api/api_check/sort/extract/kernel_extract_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/sort/extract/extract_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class ExtractAPICheck : public testing::Test {19class ExtractAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/sort/mrgsort/kernel_mrgsort_check.cpptests/api/adv_api/api_check/sort/mrgsort/kernel_mrgsort_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/sort/mrgsort/mrgsort_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class MrgSortAPICheck : public testing::Test {19class MrgSortAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/sort/sort/kernel_sort_check.cpptests/api/adv_api/api_check/sort/sort/kernel_sort_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/sort/sort/sort_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class SortAPICheck : public testing::Test {19class SortAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/sort/topk/kernel_topk_check.cpptests/api/adv_api/api_check/sort/topk/kernel_topk_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/sort/topk/topk_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class TopKAPICheck : public testing::Test {19class TopKAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/transdata/kernel_transdata_check.cpptests/api/adv_api/api_check/transdata/kernel_transdata_check.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/api_check/transpose/confusion_transpose/kernel_confusion_transpose_check.cpptests/api/adv_api/api_check/transpose/confusion_transpose/kernel_confusion_transpose_check.cpp+3-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/transpose/confusion_transpose/confusion_transpose_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class ConfusionTransposeAPICheck : public testing::Test {19class ConfusionTransposeAPICheck : public testing::Test {
Rtests/unit/adv_api/api_check/utils/init_global_memory/kernel_init_global_memory_check.cpptests/api/adv_api/api_check/utils/init_global_memory/kernel_init_global_memory_check.cpp+7-0
@@ -11,6 +11,9 @@
11 11 
12#include <gtest/gtest.h>12#include <gtest/gtest.h>
13#include "kernel_operator.h"13#include "kernel_operator.h"
14+#ifdef ASCENDC_CPU_DEBUG
15+#include "impl/adv_api/detail/api_check/kernel_check/utils/init_global_memory/init_global_memory_check.h"
16+#endif // ASCENDC_CPU_DEBUG
14#include "impl/adv_api/detail/api_check/kernel_api_check.h"17#include "impl/adv_api/detail/api_check/kernel_api_check.h"
15 18 
16class InitGlobalMemoryAPICheck : public testing::Test {19class InitGlobalMemoryAPICheck : public testing::Test {
@@ -27,7 +30,9 @@ protected:
27 30 
28TEST_F(InitGlobalMemoryAPICheck, InitGlobalMemoryAPICheckTestSuccess)31TEST_F(InitGlobalMemoryAPICheck, InitGlobalMemoryAPICheckTestSuccess)
29{32{
33+ __gm__ uint8_t* __restrict__ srcGm;
30 AscendC::GlobalTensor<float> dstTensor;34 AscendC::GlobalTensor<float> dstTensor;
35+ dstTensor.SetGlobalBuffer(reinterpret_cast<__gm__ float*>(srcGm), 32);
31 36 
32 uint64_t startCounts = AscendC::KernelRaise::GetInstance().GetRaiseCount();37 uint64_t startCounts = AscendC::KernelRaise::GetInstance().GetRaiseCount();
33 AscendC::CHECK_FUNC_HIGHLEVEL_API(InitGlobalMemory, (float), (dstTensor, 8, 1));38 AscendC::CHECK_FUNC_HIGHLEVEL_API(InitGlobalMemory, (float), (dstTensor, 8, 1));
@@ -36,7 +41,9 @@ TEST_F(InitGlobalMemoryAPICheck, InitGlobalMemoryAPICheckTestSuccess)
36 41 
37TEST_F(InitGlobalMemoryAPICheck, InitGlobalMemoryAPICheckTestFailure)42TEST_F(InitGlobalMemoryAPICheck, InitGlobalMemoryAPICheckTestFailure)
38{43{
44+ __gm__ uint8_t* __restrict__ srcGm;
39 AscendC::GlobalTensor<uint8_t> dstTensor;45 AscendC::GlobalTensor<uint8_t> dstTensor;
46+ dstTensor.SetGlobalBuffer(reinterpret_cast<__gm__ uint8_t*>(srcGm), 32);
40 47 
41 uint64_t startCounts = AscendC::KernelRaise::GetInstance().GetRaiseCount();48 uint64_t startCounts = AscendC::KernelRaise::GetInstance().GetRaiseCount();
42 AscendC::CHECK_FUNC_HIGHLEVEL_API(InitGlobalMemory, (uint8_t), (dstTensor, 32, 1));49 AscendC::CHECK_FUNC_HIGHLEVEL_API(InitGlobalMemory, (uint8_t), (dstTensor, 32, 1));
Rtests/unit/adv_api/filter/dropout/test_operator_dropout.cpptests/api/adv_api/filter/dropout/test_operator_dropout.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/hccl/test_hccl.cpptests/api/adv_api/hccl/test_hccl.cpp+39-1
@@ -1514,4 +1514,42 @@ TEST_F(HcclCommonTestSuite, TestInitV2V1Mixed)
1514 hccl.InitV2(reinterpret_cast<GM_ADDR>(&hcclCombineOpParam), static_cast<const void *>(&tilingData));1514 hccl.InitV2(reinterpret_cast<GM_ADDR>(&hcclCombineOpParam), static_cast<const void *>(&tilingData));
1515 auto ret = hccl.SetCcTiling(static_cast<__gm__ void *>(&tilingData.cc));1515 auto ret = hccl.SetCcTiling(static_cast<__gm__ void *>(&tilingData.cc));
1516 EXPECT_EQ(ret, HCCL_FAILED);1516 EXPECT_EQ(ret, HCCL_FAILED);
1517-}1517+}
1518+ 
1519+TEST_F(HcclCommonTestSuite, TestDecoupledCtxApi)
1520+{
1521+ std::vector<uint8_t> workSpace(workSpaceSize + 1024);
1522+ HcclMsgArea *hcclMsgArea = GetHcclMsgArea(workSpace.data());
1523+ CommKfcContext ctx{};
1524+ ctx.apiCtx.workSpace = reinterpret_cast<uint64_t>(hcclMsgArea);
1525+ ctx.apiCtx.rankId = 6;
1526+ ctx.apiCtx.rankNum = 8;
1527+ Hccl hccl;
1528+ hccl.InitV2(reinterpret_cast<GM_ADDR>(&ctx), nullptr);
1529+ HcclHandle handleId = hccl.AllReduce(reinterpret_cast<GM_ADDR>(0x11), reinterpret_cast<GM_ADDR>(0x11), 100,
1530+ HcclDataType::HCCL_DATA_TYPE_INT8, HcclReduceOp::HCCL_REDUCE_SUM);
1531+ EXPECT_EQ(handleId, 0);
1532+ EXPECT_EQ(hcclMsgArea->commMsg.singleMsg.sendMsgs[0].addMsg.v1Msg.valid, HCCL_MSG_VALID_MASK);
1533+ EXPECT_EQ(hcclMsgArea->commMsg.singleMsg.sendMsgs[0].addMsg.v1Msg.repeatCnt, 1);
1534+ EXPECT_EQ(hcclMsgArea->commMsg.singleMsg.sendMsgs[0].commType.prepareType, HcclCMDType::HCCL_CMD_ALLREDUCE);
1535+ EXPECT_EQ(hcclMsgArea->commMsg.singleMsg.sendMsgs[0].opType, HcclReduceOp::HCCL_REDUCE_SUM);
1536+ EXPECT_EQ(hcclMsgArea->commMsg.singleMsg.sendMsgs[0].addMsg.v1Msg.selfHandleID, handleId);
1537+ EXPECT_EQ(hcclMsgArea->commMsg.singleMsg.sendMsgs[0].addMsg.v1Msg.xorCheck,
1538+ GenXorForHcclMsg(&hcclMsgArea->commMsg.singleMsg.sendMsgs[0]));
1539+ EXPECT_EQ(hcclMsgArea->commMsg.singleMsg.commitTurnCnt[0].cnt, 0);
1540+ 
1541+ hccl.Commit(handleId);
1542+ EXPECT_EQ(hcclMsgArea->commMsg.singleMsg.commitTurnCnt[0].valid, COMMIT_VALID_MASK);
1543+ EXPECT_EQ(hcclMsgArea->commMsg.singleMsg.commitTurnCnt[0].cnt, 1);
1544+ 
1545+ ASSERT_EQ(hccl.Query(handleId), 0);
1546+ 
1547+ hcclMsgArea->commMsg.singleMsg.finishedTurnCnt[0].cnt++;
1548+ ASSERT_EQ(hccl.Query(handleId), 1);
1549+ EXPECT_EQ(hccl.Wait(handleId), HCCL_SUCCESS);
1550+ 
1551+ EXPECT_EQ(hccl.GetRankDim(), 8);
1552+ EXPECT_EQ(hccl.GetRankId(), 6);
1553+ EXPECT_EQ(hccl.GetWindowsInAddr(0), nullptr);
1554+ EXPECT_EQ(hccl.GetWindowsOutAddr(0), nullptr);
1555+}
Rtests/unit/adv_api/hccl/test_hccl_910_9599.cpptests/api/adv_api/hccl/test_hccl_950.cpp+92-2
@@ -32,10 +32,10 @@ constexpr size_t workSpaceSize = sizeof(HcclMsgArea);
32 32 
33HcclCombineOpParam GetHcclCombineOpParam(const vector<uint8_t> &workSpace) {33HcclCombineOpParam GetHcclCombineOpParam(const vector<uint8_t> &workSpace) {
34 34 
35- uint64_t buffer[8];35+ uint64_t buffer[64];
36 GM_ADDR ckeOffset = reinterpret_cast<GM_ADDR>(buffer);36 GM_ADDR ckeOffset = reinterpret_cast<GM_ADDR>(buffer);
37 37 
38- uint64_t buffer1[16 * 8 * 8];38+ uint64_t buffer1[64 * 64 * 8];
39 GM_ADDR xnOffset = reinterpret_cast<GM_ADDR>(buffer1);39 GM_ADDR xnOffset = reinterpret_cast<GM_ADDR>(buffer1);
40 40 
41 HcclCombineOpParam hcclCombineOpParam{41 HcclCombineOpParam hcclCombineOpParam{
@@ -264,4 +264,94 @@ TEST_F(HcclSuiteAIC, AllToAllv_prepare)
264 EXPECT_EQ(hccl.Wait(handleId), HCCL_SUCCESS);264 EXPECT_EQ(hccl.Wait(handleId), HCCL_SUCCESS);
265}265}
266 266 
267+// alltoall repeat_prepare_commit Repeat = 1 Call the Prepare interface Expected handleId = 0
268+TEST_F(HcclSuiteAIC, AllToAll_prepareWithCommitTrue)
269+{
270+ std::vector<uint8_t> workSpace(workSpaceSize + 1024 * 100 * 1024);
271+ HcclMsgArea* hcclMsgArea = GetHcclMsgArea(workSpace.data());
272+ HcclCombineOpParam hcclCombineOpParam = GetHcclCombineOpParam(workSpace);
273+ 
274+ Hccl<HcclServerType::HCCL_SERVER_TYPE_CCU> hccl;
275+ hccl.Init(reinterpret_cast<GM_ADDR>(&hcclCombineOpParam));
276+ 
277+ HcclHandle handleId = hccl.AlltoAll<true>(reinterpret_cast<__gm__ uint8_t *>(0x1234),
278+ reinterpret_cast<__gm__ uint8_t *>(0x4321),
279+ 10,
280+ HcclDataType::HCCL_DATA_TYPE_INT8);
281+ 
282+ EXPECT_EQ(handleId, 0);
283+ EXPECT_EQ(hccl.Wait(handleId), HCCL_SUCCESS);
284+}
285+ 
286+// alltoallvWrite repeat_prepare_commit Repeat = 1 Call the Prepare interface Expected handleId = 0
287+TEST_F(HcclSuiteAIC, AllToAllVWrite_prepareWithCommitTrue)
288+{
289+ std::vector<uint8_t> workSpace(workSpaceSize + 1024 * 100 * 1024);
290+ HcclMsgArea* hcclMsgArea = GetHcclMsgArea(workSpace.data());
291+ HcclCombineOpParam hcclCombineOpParam = GetHcclCombineOpParam(workSpace);
292+ 
293+ Hccl<HcclServerType::HCCL_SERVER_TYPE_CCU> hccl;
294+ hccl.Init(reinterpret_cast<GM_ADDR>(&hcclCombineOpParam));
295+ 
296+ HcclHandle handleId = hccl.AlltoAllvWrite<true>(reinterpret_cast<__gm__ uint8_t *>(0x1234),
297+ reinterpret_cast<__gm__ uint8_t *>(0x4321),
298+ reinterpret_cast<__gm__ uint8_t *>(0x432a),
299+ 10,
300+ 10);
301+ 
302+ EXPECT_EQ(handleId, 0);
303+ EXPECT_EQ(hccl.Wait(handleId), HCCL_SUCCESS);
304+}
305+ 
306+ 
307+// allReduce repeat_prepare_commit Repeat = 128 Call the Prepare interface Expected handleId = 0
308+TEST_F(HcclSuiteAIC, AllReduce_prepareWithCommitTrue)
309+{
310+ std::vector<uint8_t> workSpace(workSpaceSize + 1024 * 100 * 1024);
311+ HcclMsgArea* hcclMsgArea = GetHcclMsgArea(workSpace.data());
312+ HcclCombineOpParam hcclCombineOpParam = GetHcclCombineOpParam(workSpace);
313+ 
314+ Hccl<HcclServerType::HCCL_SERVER_TYPE_CCU> hccl;
315+ hccl.Init(reinterpret_cast<GM_ADDR>(&hcclCombineOpParam));
316+ 
317+ HcclHandle handleId = hccl.AllReduce<true>(reinterpret_cast<__gm__ uint8_t *>(0x1234),
318+ reinterpret_cast<__gm__ uint8_t *>(0x4321),
319+ 10,
320+ HcclDataType::HCCL_DATA_TYPE_INT8,
321+ HcclReduceOp::HCCL_REDUCE_SUM,
322+ 128);
323+ 
324+ EXPECT_EQ(handleId, 0);
325+ for (uint32_t i = 0; i < 128; i++) {
326+ EXPECT_EQ(hccl.Wait(handleId), HCCL_SUCCESS);
327+ }
328+}
329+ 
330+// ReduceScatter repeat_prepare_commit Repeat = 80 Call the Prepare interface Expected handleId = 0
331+TEST_F(HcclSuiteAIC, AllReduce_prepareWithCommitFalse)
332+{
333+ std::vector<uint8_t> workSpace(workSpaceSize + 1024 * 100 * 1024);
334+ HcclMsgArea* hcclMsgArea = GetHcclMsgArea(workSpace.data());
335+ HcclCombineOpParam hcclCombineOpParam = GetHcclCombineOpParam(workSpace);
336+ 
337+ Hccl<HcclServerType::HCCL_SERVER_TYPE_CCU> hccl;
338+ hccl.Init(reinterpret_cast<GM_ADDR>(&hcclCombineOpParam));
339+
340+ HcclHandle handleId = hccl.ReduceScatter(reinterpret_cast<__gm__ uint8_t *>(0x1234),
341+ reinterpret_cast<__gm__ uint8_t *>(0x4321),
342+ 10,
343+ HcclDataType::HCCL_DATA_TYPE_INT8,
344+ HcclReduceOp::HCCL_REDUCE_SUM,
345+ 0,
346+ 80);
347+ for (uint8_t i = 0; i < 80; i++) {
348+ hccl.Commit(handleId);
349+ }
350+ 
351+ for (uint32_t i = 0; i < 80; i++) {
352+ EXPECT_EQ(hccl.Wait(handleId), HCCL_SUCCESS);
353+ }
354+}
355+ 
356+ 
267}357}
Rtests/unit/adv_api/index/arithprogression/test_operator_arange.cpptests/api/adv_api/index/arithprogression/test_operator_arange.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/index/arithprogression/test_operator_arithprogression.cpptests/api/adv_api/index/arithprogression/test_operator_arithprogression.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/math/acos/test_operator_acos.cpptests/api/adv_api/math/acos/test_operator_acos.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/math/acosh/test_operator_acosh.cpptests/api/adv_api/math/acosh/test_operator_acosh.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/math/asin/test_operator_asin.cpptests/api/adv_api/math/asin/test_operator_asin.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/math/atan/test_operator_atan.cpptests/api/adv_api/math/atan/test_operator_atan.cpp+0-0
文件重命名但无更改。
@@ -0,0 +1,79 @@
1+/**
2+* Copyright (c) 2025 Huawei Technologies Co., Ltd.
3+* This program is free software, you can redistribute it and/or modify it under the terms and conditions of
4+* CANN Open Software License Agreement Version 2.0 (the "License").
5+* Please refer to the License for details. You may not use this file except in compliance with the License.
6+* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED,
7+* INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
8+* See LICENSE in the root of the software repository for the full text of the License.
9+*/
10+#include <gtest/gtest.h>
11+#include "kernel_operator.h"
12+#include "kernel_utils.h"
13+ 
14+using namespace std;
15+using namespace AscendC;
16+ 
17+template <typename T, uint8_t algorithm>
18+void AtanKernel(__gm__ uint8_t* __restrict__ srcGm, __gm__ uint8_t* __restrict__ dstGm, int32_t dataSize)
19+{
20+ TPipe tpipe;
21+ GlobalTensor<T> inputGlobal;
22+ GlobalTensor<T> outputGlobal;
23+ inputGlobal.SetGlobalBuffer(reinterpret_cast<__gm__ T*>(srcGm), dataSize);
24+ outputGlobal.SetGlobalBuffer(reinterpret_cast<__gm__ T*>(dstGm), dataSize);
25+ 
26+ TBuf<TPosition::VECCALC> tbuf1;
27+ tpipe.InitBuffer(tbuf1, dataSize * sizeof(T));
28+ LocalTensor<T> inputLocal = tbuf1.Get<T>();
29+ 
30+ TBuf<TPosition::VECCALC> tbuf2;
31+ tpipe.InitBuffer(tbuf2, dataSize * sizeof(T));
32+ LocalTensor<T> outputLocal = tbuf2.Get<T>();
33+ 
34+ SetVectorMask<uint8_t, MaskMode::NORMAL>(256);
35+ 
36+ DataCopy(inputLocal, inputGlobal, dataSize);
37+ 
38+ SetFlag<HardEvent::MTE2_V>(EVENT_ID0);
39+ SetVectorMask<uint8_t, MaskMode::NORMAL>(128);
40+ WaitFlag<HardEvent::MTE2_V>(EVENT_ID0);
41+ 
42+ static constexpr AtanConfig atanConfig = {static_cast<AtanAlgo>(algorithm)};
43+ Atan<T, false, atanConfig>(outputLocal, inputLocal, dataSize);
44+ 
45+ SetFlag<HardEvent::V_MTE3>(EVENT_ID0);
46+ WaitFlag<HardEvent::V_MTE3>(EVENT_ID0);
47+ 
48+ DataCopy(outputGlobal, outputLocal, dataSize);
49+ PipeBarrier<PIPE_ALL>();
50+}
51+ 
52+struct AtanTestParams {
53+ int32_t dataSize;
54+ int32_t dataBitSize;
55+ void (*calFunc)(uint8_t*, uint8_t*, int32_t);
56+};
57+ 
58+class AtanTestsuite : public testing::Test, public testing::WithParamInterface<AtanTestParams> {
59+protected:
60+ void SetUp() {}
61+ void TearDown() {}
62+};
63+ 
64+INSTANTIATE_TEST_CASE_P(TEST_ATAN, AtanTestsuite,
65+ ::testing::Values(AtanTestParams { 256, 2, AtanKernel<half, 0> },
66+ AtanTestParams { 256, 4, AtanKernel<float, 0> },
67+ AtanTestParams { 256, 4, AtanKernel<float, 1> }));
68+ 
69+TEST_P(AtanTestsuite, AtanTestCase)
70+{
71+ auto param = GetParam();
72+ uint8_t srcGm[param.dataSize * param.dataBitSize] = {0};
73+ uint8_t dstGm[param.dataSize * param.dataBitSize] = {0};
74+ 
75+ param.calFunc(srcGm, dstGm, param.dataSize);
76+ for (int32_t i = 0; i < param.dataSize; i++) {
77+ EXPECT_EQ(dstGm[i], 0x00);
78+ }
79+}
Rtests/unit/adv_api/math/atanh/test_operator_atanh.cpptests/api/adv_api/math/atanh/test_operator_atanh.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/math/axpy/test_operator_axpy.cpptests/api/adv_api/math/axpy/test_operator_axpy.cpp+0-0
文件重命名但无更改。
@@ -0,0 +1,153 @@
1+/**
2+* Copyright (c) 2025 Huawei Technologies Co., Ltd.
3+* This program is free software, you can redistribute it and/or modify it under the terms and conditions of
4+* CANN Open Software License Agreement Version 2.0 (the "License").
5+* Please refer to the License for details. You may not use this file except in compliance with the License.
6+* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED,
7+* INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
8+* See LICENSE in the root of the software repository for the full text of the License.
9+*/
10+ 
11+#include <gtest/gtest.h>
12+#include "kernel_operator.h"
13+using namespace std;
14+using namespace AscendC;
15+ 
16+namespace AscendC {
17+template <typename T>
18+class KernelBitwiseAnd {
19+public:
20+ __aicore__ inline KernelBitwiseAnd()
21+ {}
22+ __aicore__ inline void Init(GM_ADDR dstGm, GM_ADDR src0Gm, GM_ADDR src1Gm, uint32_t srcSize)
23+ {
24+ src0Global.SetGlobalBuffer(reinterpret_cast<__gm__ T *>(src0Gm), srcSize);
25+ src1Global.SetGlobalBuffer(reinterpret_cast<__gm__ T *>(src1Gm), srcSize);
26+ dstGlobal.SetGlobalBuffer(reinterpret_cast<__gm__ T *>(dstGm), srcSize);
27+ 
28+ pipe.InitBuffer(inQueueX0, 1, srcSize * sizeof(T));
29+ pipe.InitBuffer(inQueueX1, 1, srcSize * sizeof(T));
30+ pipe.InitBuffer(outQueue, 1, srcSize * sizeof(T));
31+ this->dataSize = srcSize;
32+ }
33+ __aicore__ inline void Process()
34+ {
35+ CopyIn();
36+ Compute();
37+ CopyOut();
38+ }
39+ 
40+private:
41+ __aicore__ inline void CopyIn()
42+ {
43+ LocalTensor<T> src0Local = inQueueX0.AllocTensor<T>();
44+ DataCopy(src0Local, src0Global, dataSize);
45+ inQueueX0.EnQue(src0Local);
46+ 
47+ LocalTensor<T> src1Local = inQueueX1.AllocTensor<T>();
48+ DataCopy(src1Local, src1Global, dataSize);
49+ inQueueX1.EnQue(src1Local);
50+ }
51+ __aicore__ inline void Compute()
52+ {
53+ PipeBarrier<PIPE_ALL>();
54+ LocalTensor<T> dstLocal = outQueue.AllocTensor<T>();
55+ LocalTensor<T> src0Local = inQueueX0.DeQue<T>();
56+ LocalTensor<T> src1Local = inQueueX1.DeQue<T>();
57+ BitwiseAnd(dstLocal, src0Local, src1Local, this->dataSize);
58+ outQueue.EnQue<T>(dstLocal);
59+ inQueueX0.FreeTensor(src0Local);
60+ inQueueX1.FreeTensor(src1Local);
61+ }
62+ __aicore__ inline void CopyOut()
63+ {
64+ LocalTensor<T> dstLocal = outQueue.DeQue<T>();
65+ int32_t remainVal = dataSize % (32 / sizeof(T));
66+ if (remainVal != dataSize) {
67+ DataCopy(dstGlobal, dstLocal, dataSize - remainVal);
68+ }
69+ PipeBarrier<PIPE_ALL>();
70+ for (int32_t i = dataSize - remainVal; i < dataSize; i++) {
71+ dstGlobal.SetValue(i, dstLocal.GetValue(i));
72+ }
73+ outQueue.FreeTensor(dstLocal);
74+ }
75+ 
76+private:
77+ GlobalTensor<T> src0Global;
78+ GlobalTensor<T> src1Global;
79+ GlobalTensor<T> dstGlobal;
80+ 
81+ TPipe pipe;
82+ TQue<TPosition::VECIN, 1> inQueueX0;
83+ TQue<TPosition::VECIN, 1> inQueueX1;
84+ TQue<TPosition::VECOUT, 1> outQueue;
85+ uint32_t dataSize = 0;
86+};
87+}
88+ 
89+ 
90+template <typename T>
91+__aicore__ void testBitwiseAnd(GM_ADDR dstGm, GM_ADDR src0Gm, GM_ADDR src1Gm, uint32_t srcSize)
92+{
93+ KernelBitwiseAnd<T> op;
94+ op.Init(dstGm, src0Gm, src1Gm, srcSize);
95+ op.Process();
96+}
97+ 
98+ 
99+struct BitwiseAndTestParams {
100+ uint32_t dataTypeSize;
101+ uint32_t inDataSize;
102+ void (*calFunc)(GM_ADDR, GM_ADDR, GM_ADDR, uint32_t);
103+};
104+ 
105+ 
106+class BitwiseAndTestSuite : public testing::Test, public testing::WithParamInterface<BitwiseAndTestParams> {
107+protected:
108+ void SetUp() {}
109+ void TearDown() {}
110+};
111+ 
112+INSTANTIATE_TEST_CASE_P(TEST_OPEARATION_ADVANCE_API_BITWISE_AND, BitwiseAndTestSuite,
113+ ::testing::Values(
114+ BitwiseAndTestParams {1, 1024, testBitwiseAnd<uint8_t> },
115+ BitwiseAndTestParams {1, 32, testBitwiseAnd<uint8_t> },
116+ BitwiseAndTestParams {1, 256, testBitwiseAnd<uint8_t> },
117+ BitwiseAndTestParams {1, 1024, testBitwiseAnd<int8_t> },
118+ BitwiseAndTestParams {1, 32, testBitwiseAnd<int8_t> },
119+ BitwiseAndTestParams {1, 256, testBitwiseAnd<int8_t> },
120+ BitwiseAndTestParams {2, 1024, testBitwiseAnd<uint16_t> },
121+ BitwiseAndTestParams {2, 32, testBitwiseAnd<uint16_t> },
122+ BitwiseAndTestParams {2, 256, testBitwiseAnd<uint16_t> },
123+ BitwiseAndTestParams {2, 1024, testBitwiseAnd<int16_t> },
124+ BitwiseAndTestParams {2, 32, testBitwiseAnd<int16_t> },
125+ BitwiseAndTestParams {2, 256, testBitwiseAnd<int16_t> },
126+ BitwiseAndTestParams {4, 1024, testBitwiseAnd<uint32_t> },
127+ BitwiseAndTestParams {4, 32, testBitwiseAnd<uint32_t> },
128+ BitwiseAndTestParams {4, 256, testBitwiseAnd<uint32_t> },
129+ BitwiseAndTestParams {4, 1024, testBitwiseAnd<int32_t> },
130+ BitwiseAndTestParams {4, 32, testBitwiseAnd<int32_t> },
131+ BitwiseAndTestParams {4, 256, testBitwiseAnd<int32_t> },
132+ BitwiseAndTestParams {8, 1024, testBitwiseAnd<uint64_t> },
133+ BitwiseAndTestParams {8, 32, testBitwiseAnd<uint64_t> },
134+ BitwiseAndTestParams {8, 256, testBitwiseAnd<uint64_t> },
135+ BitwiseAndTestParams {8, 1024, testBitwiseAnd<int64_t> },
136+ BitwiseAndTestParams {8, 32, testBitwiseAnd<int64_t> },
137+ BitwiseAndTestParams {8, 256, testBitwiseAnd<int64_t> }
138+ )
139+);
140+ 
141+TEST_P(BitwiseAndTestSuite, testBitwiseAnd)
142+{
143+ auto param = GetParam();
144+ uint32_t dataTypeSize = param.dataTypeSize;
145+ uint32_t inDataSize = param.inDataSize;
146+ uint8_t inputGm0[inDataSize * dataTypeSize] = {1};
147+ uint8_t inputGm1[inDataSize * dataTypeSize] = {1};
148+ uint8_t outputGm[inDataSize * dataTypeSize] = {0};
149+ param.calFunc(outputGm, inputGm0, inputGm1, inDataSize);
150+ for (int32_t i = 0; i < inDataSize; i++) {
151+ EXPECT_EQ(outputGm[i], 0x00);
152+ }
153+}
@@ -0,0 +1,141 @@
1+/**
2+* Copyright (c) 2025 Huawei Technologies Co., Ltd.
3+* This program is free software, you can redistribute it and/or modify it under the terms and conditions of
4+* CANN Open Software License Agreement Version 2.0 (the "License").
5+* Please refer to the License for details. You may not use this file except in compliance with the License.
6+* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED,
7+* INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
8+* See LICENSE in the root of the software repository for the full text of the License.
9+*/
10+ 
11+#include <gtest/gtest.h>
12+#include "kernel_operator.h"
13+using namespace std;
14+using namespace AscendC;
15+ 
16+namespace AscendC {
17+template <typename T>
18+class KernelBitwiseNot {
19+public:
20+ __aicore__ inline KernelBitwiseNot()
21+ {}
22+ __aicore__ inline void Init(GM_ADDR dstGm, GM_ADDR srcGm, uint32_t srcSize)
23+ {
24+ srcGlobal.SetGlobalBuffer(reinterpret_cast<__gm__ T *>(srcGm), srcSize);
25+ dstGlobal.SetGlobalBuffer(reinterpret_cast<__gm__ T *>(dstGm), srcSize);
26+ 
27+ pipe.InitBuffer(inQueue, 1, srcSize * sizeof(T));
28+ pipe.InitBuffer(outQueue, 1, srcSize * sizeof(T));
29+ this->dataSize = srcSize;
30+ }
31+ __aicore__ inline void Process()
32+ {
33+ CopyIn();
34+ Compute();
35+ CopyOut();
36+ }
37+ 
38+private:
39+ __aicore__ inline void CopyIn()
40+ {
41+ LocalTensor<T> srcLocal = inQueue.AllocTensor<T>();
42+ DataCopy(srcLocal, srcGlobal, dataSize);
43+ inQueue.EnQue(srcLocal);
44+ }
45+ __aicore__ inline void Compute()
46+ {
47+ PipeBarrier<PIPE_ALL>();
48+ LocalTensor<T> dstLocal = outQueue.AllocTensor<T>();
49+ LocalTensor<T> srcLocal = inQueue.DeQue<T>();
50+ BitwiseNot(dstLocal, srcLocal, this->dataSize);
51+ outQueue.EnQue<T>(dstLocal);
52+ inQueue.FreeTensor(srcLocal);
53+ }
54+ __aicore__ inline void CopyOut()
55+ {
56+ LocalTensor<T> dstLocal = outQueue.DeQue<T>();
57+ int32_t remainVal = dataSize % (32 / sizeof(T));
58+ if (remainVal != dataSize) {
59+ DataCopy(dstGlobal, dstLocal, dataSize - remainVal);
60+ }
61+ PipeBarrier<PIPE_ALL>();
62+ for (int32_t i = dataSize - remainVal; i < dataSize; i++) {
63+ dstGlobal.SetValue(i, dstLocal.GetValue(i));
64+ }
65+ outQueue.FreeTensor(dstLocal);
66+ }
67+ 
68+private:
69+ GlobalTensor<T> srcGlobal;
70+ GlobalTensor<T> dstGlobal;
71+ TPipe pipe;
72+ TQue<TPosition::VECIN, 1> inQueue;
73+ TQue<TPosition::VECOUT, 1> outQueue;
74+ uint32_t dataSize = 0;
75+};
76+}
77+ 
78+ 
79+template <typename T>
80+__aicore__ void testBitwiseNot(GM_ADDR dstGm, GM_ADDR srcGm, uint32_t srcSize)
81+{
82+ KernelBitwiseNot<T> op;
83+ op.Init(dstGm, srcGm, srcSize);
84+ op.Process();
85+}
86+ 
87+ 
88+struct BitwiseNotTestParams {
89+ uint32_t dataTypeSize;
90+ uint32_t inDataSize;
91+ void (*calFunc)(GM_ADDR, GM_ADDR, uint32_t);
92+};
93+ 
94+ 
95+class BitwiseNotTestSuite : public testing::Test, public testing::WithParamInterface<BitwiseNotTestParams> {
96+protected:
97+ void SetUp() {}
98+ void TearDown() {}
99+};
100+ 
101+INSTANTIATE_TEST_CASE_P(TEST_OPEARATION_ADVANCE_API_BITWISE_NOT, BitwiseNotTestSuite,
102+ ::testing::Values(
103+ BitwiseNotTestParams {1, 1024, testBitwiseNot<uint8_t> },
104+ BitwiseNotTestParams {1, 32, testBitwiseNot<uint8_t> },
105+ BitwiseNotTestParams {1, 256, testBitwiseNot<uint8_t> },
106+ BitwiseNotTestParams {1, 1024, testBitwiseNot<int8_t> },
107+ BitwiseNotTestParams {1, 32, testBitwiseNot<int8_t> },
108+ BitwiseNotTestParams {1, 256, testBitwiseNot<int8_t> },
109+ BitwiseNotTestParams {2, 1024, testBitwiseNot<uint16_t> },
110+ BitwiseNotTestParams {2, 32, testBitwiseNot<uint16_t> },
111+ BitwiseNotTestParams {2, 256, testBitwiseNot<uint16_t> },
112+ BitwiseNotTestParams {2, 1024, testBitwiseNot<int16_t> },
113+ BitwiseNotTestParams {2, 32, testBitwiseNot<int16_t> },
114+ BitwiseNotTestParams {2, 256, testBitwiseNot<int16_t> },
115+ BitwiseNotTestParams {4, 1024, testBitwiseNot<uint32_t> },
116+ BitwiseNotTestParams {4, 32, testBitwiseNot<uint32_t> },
117+ BitwiseNotTestParams {4, 256, testBitwiseNot<uint32_t> },
118+ BitwiseNotTestParams {4, 1024, testBitwiseNot<int32_t> },
119+ BitwiseNotTestParams {4, 32, testBitwiseNot<int32_t> },
120+ BitwiseNotTestParams {4, 256, testBitwiseNot<int32_t> },
121+ BitwiseNotTestParams {8, 1024, testBitwiseNot<uint64_t> },
122+ BitwiseNotTestParams {8, 32, testBitwiseNot<uint64_t> },
123+ BitwiseNotTestParams {8, 256, testBitwiseNot<uint64_t> },
124+ BitwiseNotTestParams {8, 1024, testBitwiseNot<int64_t> },
125+ BitwiseNotTestParams {8, 32, testBitwiseNot<int64_t> },
126+ BitwiseNotTestParams {8, 256, testBitwiseNot<int64_t> }
127+ )
128+);
129+ 
130+TEST_P(BitwiseNotTestSuite, testBitwiseNot)
131+{
132+ auto param = GetParam();
133+ uint32_t dataTypeSize = param.dataTypeSize;
134+ uint32_t inDataSize = param.inDataSize;
135+ uint8_t inputGm[inDataSize * dataTypeSize] = {1};
136+ uint8_t outputGm[inDataSize * dataTypeSize] = {0};
137+ param.calFunc(outputGm, inputGm, inDataSize);
138+ for (int32_t i = 0; i < inDataSize; i++) {
139+ EXPECT_EQ(outputGm[i], 0x00);
140+ }
141+}
@@ -0,0 +1,153 @@
1+/**
2+* Copyright (c) 2025 Huawei Technologies Co., Ltd.
3+* This program is free software, you can redistribute it and/or modify it under the terms and conditions of
4+* CANN Open Software License Agreement Version 2.0 (the "License").
5+* Please refer to the License for details. You may not use this file except in compliance with the License.
6+* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED,
7+* INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
8+* See LICENSE in the root of the software repository for the full text of the License.
9+*/
10+ 
11+#include <gtest/gtest.h>
12+#include "kernel_operator.h"
13+using namespace std;
14+using namespace AscendC;
15+ 
16+namespace AscendC {
17+template <typename T>
18+class KernelBitwiseOr {
19+public:
20+ __aicore__ inline KernelBitwiseOr()
21+ {}
22+ __aicore__ inline void Init(GM_ADDR dstGm, GM_ADDR src0Gm, GM_ADDR src1Gm, uint32_t srcSize)
23+ {
24+ src0Global.SetGlobalBuffer(reinterpret_cast<__gm__ T *>(src0Gm), srcSize);
25+ src1Global.SetGlobalBuffer(reinterpret_cast<__gm__ T *>(src1Gm), srcSize);
26+ dstGlobal.SetGlobalBuffer(reinterpret_cast<__gm__ T *>(dstGm), srcSize);
27+ 
28+ pipe.InitBuffer(inQueueX0, 1, srcSize * sizeof(T));
29+ pipe.InitBuffer(inQueueX1, 1, srcSize * sizeof(T));
30+ pipe.InitBuffer(outQueue, 1, srcSize * sizeof(T));
31+ this->dataSize = srcSize;
32+ }
33+ __aicore__ inline void Process()
34+ {
35+ CopyIn();
36+ Compute();
37+ CopyOut();
38+ }
39+ 
40+private:
41+ __aicore__ inline void CopyIn()
42+ {
43+ LocalTensor<T> src0Local = inQueueX0.AllocTensor<T>();
44+ DataCopy(src0Local, src0Global, dataSize);
45+ inQueueX0.EnQue(src0Local);
46+ 
47+ LocalTensor<T> src1Local = inQueueX1.AllocTensor<T>();
48+ DataCopy(src1Local, src1Global, dataSize);
49+ inQueueX1.EnQue(src1Local);
50+ }
51+ __aicore__ inline void Compute()
52+ {
53+ PipeBarrier<PIPE_ALL>();
54+ LocalTensor<T> dstLocal = outQueue.AllocTensor<T>();
55+ LocalTensor<T> src0Local = inQueueX0.DeQue<T>();
56+ LocalTensor<T> src1Local = inQueueX1.DeQue<T>();
57+ BitwiseOr(dstLocal, src0Local, src1Local, this->dataSize);
58+ outQueue.EnQue<T>(dstLocal);
59+ inQueueX0.FreeTensor(src0Local);
60+ inQueueX1.FreeTensor(src1Local);
61+ }
62+ __aicore__ inline void CopyOut()
63+ {
64+ LocalTensor<T> dstLocal = outQueue.DeQue<T>();
65+ int32_t remainVal = dataSize % (32 / sizeof(T));
66+ if (remainVal != dataSize) {
67+ DataCopy(dstGlobal, dstLocal, dataSize - remainVal);
68+ }
69+ PipeBarrier<PIPE_ALL>();
70+ for (int32_t i = dataSize - remainVal; i < dataSize; i++) {
71+ dstGlobal.SetValue(i, dstLocal.GetValue(i));
72+ }
73+ outQueue.FreeTensor(dstLocal);
74+ }
75+ 
76+private:
77+ GlobalTensor<T> src0Global;
78+ GlobalTensor<T> src1Global;
79+ GlobalTensor<T> dstGlobal;
80+ 
81+ TPipe pipe;
82+ TQue<TPosition::VECIN, 1> inQueueX0;
83+ TQue<TPosition::VECIN, 1> inQueueX1;
84+ TQue<TPosition::VECOUT, 1> outQueue;
85+ uint32_t dataSize = 0;
86+};
87+}
88+ 
89+ 
90+template <typename T>
91+__aicore__ void testBitwiseOr(GM_ADDR dstGm, GM_ADDR src0Gm, GM_ADDR src1Gm, uint32_t srcSize)
92+{
93+ KernelBitwiseOr<T> op;
94+ op.Init(dstGm, src0Gm, src1Gm, srcSize);
95+ op.Process();
96+}
97+ 
98+ 
99+struct BitwiseOrTestParams {
100+ uint32_t dataTypeSize;
101+ uint32_t inDataSize;
102+ void (*calFunc)(GM_ADDR, GM_ADDR, GM_ADDR, uint32_t);
103+};
104+ 
105+ 
106+class BitwiseOrTestSuite : public testing::Test, public testing::WithParamInterface<BitwiseOrTestParams> {
107+protected:
108+ void SetUp() {}
109+ void TearDown() {}
110+};
111+ 
112+INSTANTIATE_TEST_CASE_P(TEST_OPEARATION_ADVANCE_API_BITWISE_OR, BitwiseOrTestSuite,
113+ ::testing::Values(
114+ BitwiseOrTestParams {1, 1024, testBitwiseOr<uint8_t> },
115+ BitwiseOrTestParams {1, 32, testBitwiseOr<uint8_t> },
116+ BitwiseOrTestParams {1, 256, testBitwiseOr<uint8_t> },
117+ BitwiseOrTestParams {1, 1024, testBitwiseOr<int8_t> },
118+ BitwiseOrTestParams {1, 32, testBitwiseOr<int8_t> },
119+ BitwiseOrTestParams {1, 256, testBitwiseOr<int8_t> },
120+ BitwiseOrTestParams {2, 1024, testBitwiseOr<uint16_t> },
121+ BitwiseOrTestParams {2, 32, testBitwiseOr<uint16_t> },
122+ BitwiseOrTestParams {2, 256, testBitwiseOr<uint16_t> },
123+ BitwiseOrTestParams {2, 1024, testBitwiseOr<int16_t> },
124+ BitwiseOrTestParams {2, 32, testBitwiseOr<int16_t> },
125+ BitwiseOrTestParams {2, 256, testBitwiseOr<int16_t> },
126+ BitwiseOrTestParams {4, 1024, testBitwiseOr<uint32_t> },
127+ BitwiseOrTestParams {4, 32, testBitwiseOr<uint32_t> },
128+ BitwiseOrTestParams {4, 256, testBitwiseOr<uint32_t> },
129+ BitwiseOrTestParams {4, 1024, testBitwiseOr<int32_t> },
130+ BitwiseOrTestParams {4, 32, testBitwiseOr<int32_t> },
131+ BitwiseOrTestParams {4, 256, testBitwiseOr<int32_t> },
132+ BitwiseOrTestParams {8, 1024, testBitwiseOr<uint64_t> },
133+ BitwiseOrTestParams {8, 32, testBitwiseOr<uint64_t> },
134+ BitwiseOrTestParams {8, 256, testBitwiseOr<uint64_t> },
135+ BitwiseOrTestParams {8, 1024, testBitwiseOr<int64_t> },
136+ BitwiseOrTestParams {8, 32, testBitwiseOr<int64_t> },
137+ BitwiseOrTestParams {8, 256, testBitwiseOr<int64_t> }
138+ )
139+);
140+ 
141+TEST_P(BitwiseOrTestSuite, testBitwiseOr)
142+{
143+ auto param = GetParam();
144+ uint32_t dataTypeSize = param.dataTypeSize;
145+ uint32_t inDataSize = param.inDataSize;
146+ uint8_t inputGm0[inDataSize * dataTypeSize] = {1};
147+ uint8_t inputGm1[inDataSize * dataTypeSize] = {1};
148+ uint8_t outputGm[inDataSize * dataTypeSize] = {0};
149+ param.calFunc(outputGm, inputGm0, inputGm1, inDataSize);
150+ for (int32_t i = 0; i < inDataSize; i++) {
151+ EXPECT_EQ(outputGm[i], 0x00);
152+ }
153+}
@@ -0,0 +1,153 @@
1+/**
2+* Copyright (c) 2025 Huawei Technologies Co., Ltd.
3+* This program is free software, you can redistribute it and/or modify it under the terms and conditions of
4+* CANN Open Software License Agreement Version 2.0 (the "License").
5+* Please refer to the License for details. You may not use this file except in compliance with the License.
6+* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED,
7+* INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
8+* See LICENSE in the root of the software repository for the full text of the License.
9+*/
10+ 
11+#include <gtest/gtest.h>
12+#include "kernel_operator.h"
13+using namespace std;
14+using namespace AscendC;
15+ 
16+namespace AscendC {
17+template <typename T>
18+class KernelBitwiseXor {
19+public:
20+ __aicore__ inline KernelBitwiseXor()
21+ {}
22+ __aicore__ inline void Init(GM_ADDR dstGm, GM_ADDR src0Gm, GM_ADDR src1Gm, uint32_t srcSize)
23+ {
24+ src0Global.SetGlobalBuffer(reinterpret_cast<__gm__ T *>(src0Gm), srcSize);
25+ src1Global.SetGlobalBuffer(reinterpret_cast<__gm__ T *>(src1Gm), srcSize);
26+ dstGlobal.SetGlobalBuffer(reinterpret_cast<__gm__ T *>(dstGm), srcSize);
27+ 
28+ pipe.InitBuffer(inQueueX0, 1, srcSize * sizeof(T));
29+ pipe.InitBuffer(inQueueX1, 1, srcSize * sizeof(T));
30+ pipe.InitBuffer(outQueue, 1, srcSize * sizeof(T));
31+ this->dataSize = srcSize;
32+ }
33+ __aicore__ inline void Process()
34+ {
35+ CopyIn();
36+ Compute();
37+ CopyOut();
38+ }
39+ 
40+private:
41+ __aicore__ inline void CopyIn()
42+ {
43+ LocalTensor<T> src0Local = inQueueX0.AllocTensor<T>();
44+ DataCopy(src0Local, src0Global, dataSize);
45+ inQueueX0.EnQue(src0Local);
46+ 
47+ LocalTensor<T> src1Local = inQueueX1.AllocTensor<T>();
48+ DataCopy(src1Local, src1Global, dataSize);
49+ inQueueX1.EnQue(src1Local);
50+ }
51+ __aicore__ inline void Compute()
52+ {
53+ PipeBarrier<PIPE_ALL>();
54+ LocalTensor<T> dstLocal = outQueue.AllocTensor<T>();
55+ LocalTensor<T> src0Local = inQueueX0.DeQue<T>();
56+ LocalTensor<T> src1Local = inQueueX1.DeQue<T>();
57+ BitwiseXor(dstLocal, src0Local, src1Local, this->dataSize);
58+ outQueue.EnQue<T>(dstLocal);
59+ inQueueX0.FreeTensor(src0Local);
60+ inQueueX1.FreeTensor(src1Local);
61+ }
62+ __aicore__ inline void CopyOut()
63+ {
64+ LocalTensor<T> dstLocal = outQueue.DeQue<T>();
65+ int32_t remainVal = dataSize % (32 / sizeof(T));
66+ if (remainVal != dataSize) {
67+ DataCopy(dstGlobal, dstLocal, dataSize - remainVal);
68+ }
69+ PipeBarrier<PIPE_ALL>();
70+ for (int32_t i = dataSize - remainVal; i < dataSize; i++) {
71+ dstGlobal.SetValue(i, dstLocal.GetValue(i));
72+ }
73+ outQueue.FreeTensor(dstLocal);
74+ }
75+ 
76+private:
77+ GlobalTensor<T> src0Global;
78+ GlobalTensor<T> src1Global;
79+ GlobalTensor<T> dstGlobal;
80+ 
81+ TPipe pipe;
82+ TQue<TPosition::VECIN, 1> inQueueX0;
83+ TQue<TPosition::VECIN, 1> inQueueX1;
84+ TQue<TPosition::VECOUT, 1> outQueue;
85+ uint32_t dataSize = 0;
86+};
87+}
88+ 
89+ 
90+template <typename T>
91+__aicore__ void testBitwiseXor(GM_ADDR dstGm, GM_ADDR src0Gm, GM_ADDR src1Gm, uint32_t srcSize)
92+{
93+ KernelBitwiseXor<T> op;
94+ op.Init(dstGm, src0Gm, src1Gm, srcSize);
95+ op.Process();
96+}
97+ 
98+ 
99+struct BitwiseXorTestParams {
100+ uint32_t dataTypeSize;
101+ uint32_t inDataSize;
102+ void (*calFunc)(GM_ADDR, GM_ADDR, GM_ADDR, uint32_t);
103+};
104+ 
105+ 
106+class BitwiseXorTestSuite : public testing::Test, public testing::WithParamInterface<BitwiseXorTestParams> {
107+protected:
108+ void SetUp() {}
109+ void TearDown() {}
110+};
111+ 
112+INSTANTIATE_TEST_CASE_P(TEST_OPEARATION_ADVANCE_API_BITWISE_XOR, BitwiseXorTestSuite,
113+ ::testing::Values(
114+ BitwiseXorTestParams {1, 1024, testBitwiseXor<uint8_t> },
115+ BitwiseXorTestParams {1, 32, testBitwiseXor<uint8_t> },
116+ BitwiseXorTestParams {1, 256, testBitwiseXor<uint8_t> },
117+ BitwiseXorTestParams {1, 1024, testBitwiseXor<int8_t> },
118+ BitwiseXorTestParams {1, 32, testBitwiseXor<int8_t> },
119+ BitwiseXorTestParams {1, 256, testBitwiseXor<int8_t> },
120+ BitwiseXorTestParams {2, 1024, testBitwiseXor<uint16_t> },
121+ BitwiseXorTestParams {2, 32, testBitwiseXor<uint16_t> },
122+ BitwiseXorTestParams {2, 256, testBitwiseXor<uint16_t> },
123+ BitwiseXorTestParams {2, 1024, testBitwiseXor<int16_t> },
124+ BitwiseXorTestParams {2, 32, testBitwiseXor<int16_t> },
125+ BitwiseXorTestParams {2, 256, testBitwiseXor<int16_t> },
126+ BitwiseXorTestParams {4, 1024, testBitwiseXor<uint32_t> },
127+ BitwiseXorTestParams {4, 32, testBitwiseXor<uint32_t> },
128+ BitwiseXorTestParams {4, 256, testBitwiseXor<uint32_t> },
129+ BitwiseXorTestParams {4, 1024, testBitwiseXor<int32_t> },
130+ BitwiseXorTestParams {4, 32, testBitwiseXor<int32_t> },
131+ BitwiseXorTestParams {4, 256, testBitwiseXor<int32_t> },
132+ BitwiseXorTestParams {8, 1024, testBitwiseXor<uint64_t> },
133+ BitwiseXorTestParams {8, 32, testBitwiseXor<uint64_t> },
134+ BitwiseXorTestParams {8, 256, testBitwiseXor<uint64_t> },
135+ BitwiseXorTestParams {8, 1024, testBitwiseXor<int64_t> },
136+ BitwiseXorTestParams {8, 32, testBitwiseXor<int64_t> },
137+ BitwiseXorTestParams {8, 256, testBitwiseXor<int64_t> }
138+ )
139+);
140+ 
141+TEST_P(BitwiseXorTestSuite, testBitwiseXor)
142+{
143+ auto param = GetParam();
144+ uint32_t dataTypeSize = param.dataTypeSize;
145+ uint32_t inDataSize = param.inDataSize;
146+ uint8_t inputGm0[inDataSize * dataTypeSize] = {1};
147+ uint8_t inputGm1[inDataSize * dataTypeSize] = {1};
148+ uint8_t outputGm[inDataSize * dataTypeSize] = {0};
149+ param.calFunc(outputGm, inputGm0, inputGm1, inDataSize);
150+ for (int32_t i = 0; i < inDataSize; i++) {
151+ EXPECT_EQ(outputGm[i], 0x00);
152+ }
153+}
Rtests/unit/adv_api/math/ceil/test_operator_ceil.cpptests/api/adv_api/math/ceil/test_operator_ceil.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/math/clamp/test_operator_clamp.cpptests/api/adv_api/math/clamp/test_operator_clamp.cpp+61-0
@@ -79,6 +79,18 @@ void main_vec_clamp_demo(__gm__ uint8_t *__restrict__ dstGm, __gm__ uint8_t *__r
79 ClampMax<T, false>(outputLocal, inputLocal, scalar, dataSize);79 ClampMax<T, false>(outputLocal, inputLocal, scalar, dataSize);
80 } else if constexpr (testMode == CLAMP_MIN) {80 } else if constexpr (testMode == CLAMP_MIN) {
81 ClampMin<T, false>(outputLocal, inputLocal, scalar, dataSize);81 ClampMin<T, false>(outputLocal, inputLocal, scalar, dataSize);
82+ } else {
83+#if defined(__NPU_ARCH__) && (__NPU_ARCH__ == 3101 || __NPU_ARCH__ == 5102)
84+ if constexpr (testMode == CLAMP_BOTH_TENSOR) {
85+ Clamp(outputLocal, inputLocal, minLocal, maxLocal, dataSize);
86+ } else if constexpr (testMode == CLAMP_TENSOR_SCALAR) {
87+ Clamp(outputLocal, inputLocal, minLocal, scalar, dataSize);
88+ } else if constexpr (testMode == CLAMP_SCALAR_TENSOR) {
89+ Clamp(outputLocal, inputLocal, scalar, maxLocal, dataSize);
90+ } else if constexpr (testMode == CLAMP_BOTH_SCALAR) {
91+ Clamp(outputLocal, inputLocal, scalar, scalar, dataSize);
92+ }
93+#endif
82 }94 }
83 } else if (tmpMode == MODE_TMPBUFFER) {95 } else if (tmpMode == MODE_TMPBUFFER) {
84 LocalTensor<uint8_t> sharedTmpBuffer;96 LocalTensor<uint8_t> sharedTmpBuffer;
@@ -117,3 +129,52 @@ VEC_CLAMP_TESTCASE(float, CLAMP_MIN, 256, MODE_NORMAL);
117VEC_CLAMP_TESTCASE(half, CLAMP_MAX, 256, MODE_NORMAL);129VEC_CLAMP_TESTCASE(half, CLAMP_MAX, 256, MODE_NORMAL);
118VEC_CLAMP_TESTCASE(half, CLAMP_MIN, 256, MODE_NORMAL);130VEC_CLAMP_TESTCASE(half, CLAMP_MIN, 256, MODE_NORMAL);
119VEC_CLAMP_TESTCASE(half, CLAMP_MIN, 2048, MODE_TMPBUFFER);131VEC_CLAMP_TESTCASE(half, CLAMP_MIN, 2048, MODE_TMPBUFFER);
132+#if defined(__NPU_ARCH__) && (__NPU_ARCH__ == 3101 || __NPU_ARCH__ == 5102)
133+VEC_CLAMP_TESTCASE(uint8_t, CLAMP_BOTH_TENSOR, 256, MODE_NORMAL);
134+VEC_CLAMP_TESTCASE(int8_t, CLAMP_BOTH_TENSOR, 256, MODE_NORMAL);
135+VEC_CLAMP_TESTCASE(bfloat16_t, CLAMP_BOTH_TENSOR, 256, MODE_NORMAL);
136+VEC_CLAMP_TESTCASE(half, CLAMP_BOTH_TENSOR, 256, MODE_NORMAL);
137+VEC_CLAMP_TESTCASE(uint16_t, CLAMP_BOTH_TENSOR, 256, MODE_NORMAL);
138+VEC_CLAMP_TESTCASE(int16_t, CLAMP_BOTH_TENSOR, 256, MODE_NORMAL);
139+VEC_CLAMP_TESTCASE(float, CLAMP_BOTH_TENSOR, 256, MODE_NORMAL);
140+VEC_CLAMP_TESTCASE(uint32_t, CLAMP_BOTH_TENSOR, 256, MODE_NORMAL);
141+VEC_CLAMP_TESTCASE(int32_t, CLAMP_BOTH_TENSOR, 256, MODE_NORMAL);
142+VEC_CLAMP_TESTCASE(int64_t, CLAMP_BOTH_TENSOR, 256, MODE_NORMAL);
143+VEC_CLAMP_TESTCASE(uint64_t, CLAMP_BOTH_TENSOR, 256, MODE_NORMAL);
144+ 
145+VEC_CLAMP_TESTCASE(uint8_t, CLAMP_BOTH_SCALAR, 256, MODE_NORMAL);
146+VEC_CLAMP_TESTCASE(int8_t, CLAMP_BOTH_SCALAR, 256, MODE_NORMAL);
147+VEC_CLAMP_TESTCASE(bfloat16_t, CLAMP_BOTH_SCALAR, 256, MODE_NORMAL);
148+VEC_CLAMP_TESTCASE(half, CLAMP_BOTH_SCALAR, 256, MODE_NORMAL);
149+VEC_CLAMP_TESTCASE(uint16_t, CLAMP_BOTH_SCALAR, 256, MODE_NORMAL);
150+VEC_CLAMP_TESTCASE(int16_t, CLAMP_BOTH_SCALAR, 256, MODE_NORMAL);
151+VEC_CLAMP_TESTCASE(float, CLAMP_BOTH_SCALAR, 256, MODE_NORMAL);
152+VEC_CLAMP_TESTCASE(uint32_t, CLAMP_BOTH_SCALAR, 256, MODE_NORMAL);
153+VEC_CLAMP_TESTCASE(int32_t, CLAMP_BOTH_SCALAR, 256, MODE_NORMAL);
154+VEC_CLAMP_TESTCASE(int64_t, CLAMP_BOTH_SCALAR, 256, MODE_NORMAL);
155+VEC_CLAMP_TESTCASE(uint64_t, CLAMP_BOTH_SCALAR, 256, MODE_NORMAL);
156+ 
157+VEC_CLAMP_TESTCASE(uint8_t, CLAMP_TENSOR_SCALAR, 256, MODE_NORMAL);
158+VEC_CLAMP_TESTCASE(int8_t, CLAMP_TENSOR_SCALAR, 256, MODE_NORMAL);
159+VEC_CLAMP_TESTCASE(bfloat16_t, CLAMP_TENSOR_SCALAR, 256, MODE_NORMAL);
160+VEC_CLAMP_TESTCASE(half, CLAMP_TENSOR_SCALAR, 256, MODE_NORMAL);
161+VEC_CLAMP_TESTCASE(uint16_t, CLAMP_TENSOR_SCALAR, 256, MODE_NORMAL);
162+VEC_CLAMP_TESTCASE(int16_t, CLAMP_TENSOR_SCALAR, 256, MODE_NORMAL);
163+VEC_CLAMP_TESTCASE(float, CLAMP_TENSOR_SCALAR, 256, MODE_NORMAL);
164+VEC_CLAMP_TESTCASE(uint32_t, CLAMP_TENSOR_SCALAR, 256, MODE_NORMAL);
165+VEC_CLAMP_TESTCASE(int32_t, CLAMP_TENSOR_SCALAR, 256, MODE_NORMAL);
166+VEC_CLAMP_TESTCASE(int64_t, CLAMP_TENSOR_SCALAR, 256, MODE_NORMAL);
167+VEC_CLAMP_TESTCASE(uint64_t, CLAMP_TENSOR_SCALAR, 256, MODE_NORMAL);
168+ 
169+VEC_CLAMP_TESTCASE(uint8_t, CLAMP_SCALAR_TENSOR, 256, MODE_NORMAL);
170+VEC_CLAMP_TESTCASE(int8_t, CLAMP_SCALAR_TENSOR, 256, MODE_NORMAL);
171+VEC_CLAMP_TESTCASE(bfloat16_t, CLAMP_SCALAR_TENSOR, 256, MODE_NORMAL);
172+VEC_CLAMP_TESTCASE(half, CLAMP_SCALAR_TENSOR, 256, MODE_NORMAL);
173+VEC_CLAMP_TESTCASE(uint16_t, CLAMP_SCALAR_TENSOR, 256, MODE_NORMAL);
174+VEC_CLAMP_TESTCASE(int16_t, CLAMP_SCALAR_TENSOR, 256, MODE_NORMAL);
175+VEC_CLAMP_TESTCASE(float, CLAMP_SCALAR_TENSOR, 256, MODE_NORMAL);
176+VEC_CLAMP_TESTCASE(uint32_t, CLAMP_SCALAR_TENSOR, 256, MODE_NORMAL);
177+VEC_CLAMP_TESTCASE(int32_t, CLAMP_SCALAR_TENSOR, 256, MODE_NORMAL);
178+VEC_CLAMP_TESTCASE(int64_t, CLAMP_SCALAR_TENSOR, 256, MODE_NORMAL);
179+VEC_CLAMP_TESTCASE(uint64_t, CLAMP_SCALAR_TENSOR, 256, MODE_NORMAL);
180+#endif
Rtests/unit/adv_api/math/cos/test_operator_cos.cpptests/api/adv_api/math/cos/test_operator_cos.cpp+0-0
文件重命名但无更改。
@@ -0,0 +1,158 @@
1+/**
2+* Copyright (c) 2025 Huawei Technologies Co., Ltd.
3+* This program is free software, you can redistribute it and/or modify it under the terms and conditions of
4+* CANN Open Software License Agreement Version 2.0 (the "License").
5+* Please refer to the License for details. You may not use this file except in compliance with the License.
6+* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED,
7+* INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
8+* See LICENSE in the root of the software repository for the full text of the License.
9+*/
10+ 
11+#include <gtest/gtest.h>
12+#include "kernel_operator.h"
13+#include "kernel_utils.h"
14+ 
15+using namespace AscendC;
16+ 
17+template <int size = 0> struct GetCosAlgo {
18+ static constexpr AscendC::CosAlgo value = AscendC::CosAlgo::POLYNOMIAL_APPROXIMATION;
19+};
20+ 
21+template <> struct GetCosAlgo<1> {
22+ static constexpr AscendC::CosAlgo value = AscendC::CosAlgo::RADIAN_REDUCTION;
23+};
24+ 
25+template <typename srcType, uint32_t calCount, uint32_t dataSize, uint32_t apiMode, uint32_t algoMode = 0>
26+class KernelCos {
27+public:
28+ __aicore__ inline KernelCos()
29+ {}
30+ __aicore__ inline void Init(GM_ADDR src_gm, GM_ADDR dst_gm)
31+ {
32+ src_global.SetGlobalBuffer(reinterpret_cast<__gm__ srcType *>(src_gm), dataSize);
33+ dst_global.SetGlobalBuffer(reinterpret_cast<__gm__ srcType *>(dst_gm), dataSize);
34+ 
35+ pipe.InitBuffer(inQueueX, 1, dataSize * sizeof(srcType));
36+ pipe.InitBuffer(outQueue, 1, dataSize * sizeof(srcType));
37+ pipe.InitBuffer(inQueueX2, 1, dataSize * sizeof(uint8_t));
38+ }
39+ __aicore__ inline void Process()
40+ {
41+ CopyIn();
42+ Compute();
43+ CopyOut();
44+ AscendCUtils::SetOverflow(0);
45+ }
46+ 
47+private:
48+ __aicore__ inline void CopyIn()
49+ {
50+ LocalTensor<srcType> srcLocal = inQueueX.AllocTensor<srcType>();
51+ LocalTensor<uint8_t> src1Local = inQueueX2.AllocTensor<uint8_t>();
52+ DataCopy(srcLocal, src_global, dataSize);
53+ inQueueX.EnQue(srcLocal);
54+ inQueueX2.EnQue(src1Local);
55+ }
56+ __aicore__ inline void Compute()
57+ {
58+ LocalTensor<srcType> dstLocal = outQueue.AllocTensor<srcType>();
59+ 
60+ LocalTensor<srcType> srcLocal = inQueueX.DeQue<srcType>();
61+ LocalTensor<uint8_t> tmpBuf = inQueueX2.DeQue<uint8_t>();
62+ srcType zero = 0;
63+ Duplicate(dstLocal, zero, dataSize);
64+ uint32_t count = (uint32_t)calCount;
65+ 
66+ constexpr AscendC::CosAlgo algo = GetCosAlgo<algoMode>::value;
67+ static constexpr AscendC::CosConfig config = { algo };
68+ 
69+ if constexpr (apiMode == 0) {
70+ Cos<srcType, false, config>(dstLocal, srcLocal);
71+ } else if constexpr (apiMode == 1) {
72+ Cos<srcType, false, config>(dstLocal, srcLocal, count);
73+ } else if constexpr (apiMode == 2) {
74+ Cos<srcType, false, config>(dstLocal, srcLocal, tmpBuf, count);
75+ } else {
76+ Cos<srcType, false, config>(dstLocal, srcLocal, tmpBuf);
77+ }
78+ 
79+ outQueue.EnQue<srcType>(dstLocal);
80+ inQueueX.FreeTensor(srcLocal);
81+ inQueueX2.FreeTensor(tmpBuf);
82+ }
83+ __aicore__ inline void CopyOut()
84+ {
85+ LocalTensor<srcType> dstLocal = outQueue.DeQue<srcType>();
86+ DataCopy(dst_global, dstLocal, dataSize);
87+ outQueue.FreeTensor(dstLocal);
88+ }
89+ 
90+private:
91+ GlobalTensor<srcType> src_global;
92+ GlobalTensor<srcType> dst_global;
93+ 
94+ TPipe pipe;
95+ TQue<QuePosition::VECIN, 1> inQueueX;
96+ TQue<QuePosition::VECIN, 1> inQueueX2;
97+ TQue<QuePosition::VECOUT, 1> outQueue;
98+};
99+ 
100+template <typename srcType, uint32_t calCount, uint32_t dataSize, uint32_t apiMode, uint32_t algoMode = 0>
101+__aicore__ void kernel_cos_operator(GM_ADDR src_gm, GM_ADDR dst_gm)
102+{
103+ KernelCos<srcType, calCount, dataSize, apiMode, algoMode> op;
104+ op.Init(src_gm, dst_gm);
105+ op.Process();
106+}
107+ 
108+struct CosTestParams {
109+ uint32_t dataTypeSize;
110+ uint32_t inDataSize;
111+ void (*calFunc)(GM_ADDR, GM_ADDR);
112+};
113+ 
114+class AdvanceCosTestSuite : public testing::TestWithParam<CosTestParams> {
115+protected:
116+void SetUp()
117+{
118+ AscendC::SetGCoreType(2);
119+}
120+void TearDown()
121+{
122+ AscendC::SetGCoreType(0);
123+}
124+};
125+ 
126+INSTANTIATE_TEST_CASE_P(TEST_OPEARATION_ADVANCE_API_COS, AdvanceCosTestSuite,
127+ ::testing::Values(
128+ CosTestParams {4, 32, kernel_cos_operator<float, 32, 32, 0, 0>},
129+ CosTestParams {4, 4096, kernel_cos_operator<float, 32, 4096, 1, 0>},
130+ CosTestParams {4, 2048, kernel_cos_operator<float, 2048, 2048, 2, 0>},
131+ CosTestParams {4, 1024, kernel_cos_operator<float, 128, 1024, 3, 0>},
132+ CosTestParams {4, 32, kernel_cos_operator<float, 32, 32, 0, 1>},
133+ CosTestParams {4, 4096, kernel_cos_operator<float, 32, 4096, 1, 1>},
134+ CosTestParams {4, 2048, kernel_cos_operator<float, 2048, 2048, 2, 1>},
135+ CosTestParams {4, 1024, kernel_cos_operator<float, 128, 1024, 3, 1>},
136+ CosTestParams {2, 32, kernel_cos_operator<half, 32, 32, 0, 0>},
137+ CosTestParams {2, 4096, kernel_cos_operator<half, 32, 4096, 1, 0>},
138+ CosTestParams {2, 2048, kernel_cos_operator<half, 2048, 2048, 2, 0>},
139+ CosTestParams {2, 1024, kernel_cos_operator<half, 128, 1024, 3, 0>},
140+ CosTestParams {2, 32, kernel_cos_operator<half, 32, 32, 0, 1>},
141+ CosTestParams {2, 4096, kernel_cos_operator<half, 32, 4096, 1, 1>},
142+ CosTestParams {2, 2048, kernel_cos_operator<half, 2048, 2048, 2, 1>},
143+ CosTestParams {2, 1024, kernel_cos_operator<half, 128, 1024, 3, 1>}
144+ )
145+);
146+ 
147+TEST_P(AdvanceCosTestSuite, kernel_cos_operator)
148+{
149+ auto param = GetParam();
150+ uint32_t dataTypeSize = param.dataTypeSize;
151+ uint32_t inDataSize = param.inDataSize;
152+ uint8_t inputGm[inDataSize * dataTypeSize] = {1};
153+ uint8_t outputGm[inDataSize * dataTypeSize] = {0};
154+ param.calFunc(outputGm, inputGm);
155+ for (int32_t i = 0; i < inDataSize; i++) {
156+ EXPECT_EQ(outputGm[i], 0x00);
157+ }
158+}
Rtests/unit/adv_api/math/cosh/test_operator_cosh.cpptests/api/adv_api/math/cosh/test_operator_cosh.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/math/cumsum/test_operator_cumsum.cpptests/api/adv_api/math/cumsum/test_operator_cumsum.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/math/digamma/test_operator_digamma.cpptests/api/adv_api/math/digamma/test_operator_digamma.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/math/erf/test_operator_erf.cpptests/api/adv_api/math/erf/test_operator_erf.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/math/erfc/test_operator_erfc.cpptests/api/adv_api/math/erfc/test_operator_erfc.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/math/exp/test_operator_exphighprecision.cpptests/api/adv_api/math/exp/test_operator_exphighprecision.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/math/floor/test_operator_floor.cpptests/api/adv_api/math/floor/test_operator_floor.cpp+0-0
文件重命名但无更改。
@@ -0,0 +1,109 @@
1+/**
2+* Copyright (c) 2025 Huawei Technologies Co., Ltd.
3+* This program is free software, you can redistribute it and/or modify it under the terms and conditions of
4+* CANN Open Software License Agreement Version 2.0 (the "License").
5+* Please refer to the License for details. You may not use this file except in compliance with the License.
6+* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED,
7+* INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
8+* See LICENSE in the root of the software repository for the full text of the License.
9+*/
10+#include <gtest/gtest.h>
11+#include "kernel_operator.h"
12+ 
13+using namespace AscendC;
14+ 
15+enum TestMode {
16+ CAL_MODE,
17+ BUF_CAL_MODE
18+};
19+ 
20+class TEST_FMA : public testing::Test {
21+protected:
22+ void SetUp()
23+ {
24+ AscendC::SetGCoreType(2);
25+ }
26+ void TearDown()
27+ {
28+ AscendC::SetGCoreType(0);
29+ }
30+};
31+ 
32+template <typename T>
33+void MainVecFmaDemo(__gm__ uint8_t *__restrict__ dstGm, __gm__ uint8_t *__restrict__ src0Gm,
34+ __gm__ uint8_t *__restrict__ src1Gm, __gm__ uint8_t *__restrict__ src2Gm, uint32_t dataSize, TestMode testMode)
35+{
36+ TPipe tpipe;
37+ GlobalTensor<T> input0Global;
38+ GlobalTensor<T> input1Global;
39+ GlobalTensor<T> input2Global;
40+ GlobalTensor<T> outputGlobal;
41+ input0Global.SetGlobalBuffer(reinterpret_cast<__gm__ T *>(src0Gm), dataSize);
42+ input1Global.SetGlobalBuffer(reinterpret_cast<__gm__ T *>(src1Gm), dataSize);
43+ input2Global.SetGlobalBuffer(reinterpret_cast<__gm__ T *>(src2Gm), dataSize);
44+ outputGlobal.SetGlobalBuffer(reinterpret_cast<__gm__ T *>(dstGm), dataSize);
45+ 
46+ TBuf<TPosition::VECCALC> tbuf1;
47+ tpipe.InitBuffer(tbuf1, dataSize * sizeof(T));
48+ LocalTensor<T> input0Local = tbuf1.Get<T>();
49+
50+ TBuf<TPosition::VECCALC> tbuf2;
51+ tpipe.InitBuffer(tbuf2, dataSize * sizeof(T));
52+ LocalTensor<T> input1Local = tbuf2.Get<T>();
53+ 
54+ TBuf<TPosition::VECCALC> tbuf3;
55+ tpipe.InitBuffer(tbuf3, dataSize * sizeof(T));
56+ LocalTensor<T> input2Local = tbuf3.Get<T>();
57+ 
58+ 
59+ TBuf<TPosition::VECCALC> tbuf4;
60+ tpipe.InitBuffer(tbuf4, dataSize * sizeof(T));
61+ LocalTensor<T> outputLocal = tbuf4.Get<T>();
62+ 
63+ DataCopy(input0Local, input0Global, dataSize);
64+ DataCopy(input1Local, input1Global, dataSize);
65+ DataCopy(input2Local, input2Global, dataSize);
66+ 
67+ SetFlag<HardEvent::MTE2_V>(EVENT_ID0);
68+ WaitFlag<HardEvent::MTE2_V>(EVENT_ID0);
69+ 
70+ if (testMode == CAL_MODE) {
71+ Fma(outputLocal, input0Local, input1Local, input2Local, dataSize);
72+ } else {
73+ TBuf<TPosition::VECCALC> tbuf4;
74+ if (sizeof(T) == sizeof(float)) {
75+ tpipe.InitBuffer(tbuf4, dataSize * sizeof(float));
76+ } else {
77+ tpipe.InitBuffer(tbuf4, dataSize * sizeof(float) * 4);
78+ }
79+ LocalTensor<uint8_t> tmpLocal = tbuf4.Get<uint8_t>();
80+ Fma(outputLocal, input0Local, input1Local, input2Local, tmpLocal, dataSize);
81+ }
82+ 
83+ SetFlag<HardEvent::V_MTE3>(EVENT_ID0);
84+ WaitFlag<HardEvent::V_MTE3>(EVENT_ID0);
85+ 
86+ DataCopy(outputGlobal, outputLocal, dataSize);
87+ 
88+ PipeBarrier<PIPE_ALL>();
89+}
90+#define VEC_FMA_TESTCASE(DATA_TYPE, TEST_MODE, DATA_SIZE) \
91+ TEST_F(TEST_FMA, Fma##DATA_TYPE##TEST_MODE##DATA_SIZE##Case) \
92+ { \
93+ uint32_t dataSize = DATA_SIZE; \
94+ uint8_t input0Gm[dataSize * sizeof(DATA_TYPE)] = {0}; \
95+ uint8_t input1Gm[dataSize * sizeof(DATA_TYPE)] = {0}; \
96+ uint8_t input2Gm[dataSize * sizeof(DATA_TYPE)] = {0}; \
97+ uint8_t outputGm[dataSize * sizeof(DATA_TYPE)] = {0}; \
98+ \
99+ MainVecFmaDemo<DATA_TYPE>(outputGm, input0Gm, input1Gm, input2Gm, dataSize, TEST_MODE); \
100+ \
101+ for (uint32_t i = 0; i < dataSize; i++) { \
102+ EXPECT_EQ(outputGm[i], 0x00); \
103+ } \
104+ }
105+VEC_FMA_TESTCASE(float, CAL_MODE, 256);
106+VEC_FMA_TESTCASE(float, BUF_CAL_MODE, 256);
107+ 
108+VEC_FMA_TESTCASE(half, CAL_MODE, 256);
109+VEC_FMA_TESTCASE(half, BUF_CAL_MODE, 256);
Rtests/unit/adv_api/math/fmod/test_operator_fmod.cpptests/api/adv_api/math/fmod/test_operator_fmod.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/math/frac/test_operator_frac.cpptests/api/adv_api/math/frac/test_operator_frac.cpp+0-0
文件重命名但无更改。
@@ -0,0 +1,121 @@
1+/**
2+* Copyright (c) 2025 Huawei Technologies Co., Ltd.
3+* This program is free software, you can redistribute it and/or modify it under the terms and conditions of
4+* CANN Open Software License Agreement Version 2.0 (the "License").
5+* Please refer to the License for details. You may not use this file except in compliance with the License.
6+* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED,
7+* INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
8+* See LICENSE in the root of the software repository for the full text of the License.
9+*/
10+#include <gtest/gtest.h>
11+#include "kernel_operator.h"
12+using namespace std;
13+using namespace AscendC;
14+ 
15+enum TestMode {
16+ NORMAL_MODE,
17+ CAL_MODE,
18+ BUF_MODE,
19+ BUF_CAL_MODE
20+};
21+ 
22+class TEST_HYPOT : public testing::Test {
23+protected:
24+ void SetUp()
25+ {
26+ AscendC::SetGCoreType(2);
27+ }
28+ void TearDown()
29+ {
30+ AscendC::SetGCoreType(0);
31+ }
32+};
33+ 
34+template <typename T>
35+void main_vec_hypot_level2_demo(__gm__ uint8_t* __restrict__ dstGm,
36+ __gm__ uint8_t* __restrict__ src0Gm, __gm__ uint8_t* __restrict__ src1Gm, uint32_t dataSize, TestMode testMode)
37+{
38+ TPipe tpipe;
39+ GlobalTensor<T> input0Global;
40+ GlobalTensor<T> input1Global;
41+ GlobalTensor<T> outputGlobal;
42+ input0Global.SetGlobalBuffer(reinterpret_cast<__gm__ T*>(src0Gm), dataSize);
43+ input1Global.SetGlobalBuffer(reinterpret_cast<__gm__ T*>(src1Gm), dataSize);
44+ outputGlobal.SetGlobalBuffer(reinterpret_cast<__gm__ T*>(dstGm), dataSize);
45+ 
46+ TBuf<TPosition::VECCALC> tbuf0;
47+ tpipe.InitBuffer(tbuf0, dataSize * sizeof(T));
48+ LocalTensor<T> input0_local = tbuf0.Get<T>();
49+ 
50+ TBuf<TPosition::VECCALC> tbuf1;
51+ tpipe.InitBuffer(tbuf1, dataSize * sizeof(T));
52+ LocalTensor<T> input1_local = tbuf1.Get<T>();
53+ 
54+ TBuf<TPosition::VECCALC> tbuf2;
55+ tpipe.InitBuffer(tbuf2, dataSize * sizeof(T) * 2);
56+ LocalTensor<T> output_local = tbuf2.Get<T>();
57+ 
58+ for (int32_t i = 0; i < dataSize; ++i) {
59+ input1_local.SetValue(i, 1);
60+ }
61+ 
62+ SetVectorMask<uint8_t, MaskMode::NORMAL>(256);
63+ 
64+ DataCopy(input0_local, input0Global, dataSize);
65+ DataCopy(input1_local, input1Global, dataSize);
66+ 
67+ SetFlag<HardEvent::MTE2_V>(EVENT_ID0);
68+ SetVectorMask<uint8_t, MaskMode::NORMAL>(128);
69+ WaitFlag<HardEvent::MTE2_V>(EVENT_ID0);
70+ 
71+ if (testMode == NORMAL_MODE) {
72+ Hypot(output_local, input0_local, input1_local);
73+ } else if (testMode == CAL_MODE) {
74+ Hypot(output_local, input0_local, input1_local, dataSize);
75+ } else {
76+ TBuf<TPosition::VECCALC> tbuf3;
77+ tpipe.InitBuffer(tbuf3, dataSize * sizeof(uint8_t) * 3);
78+ LocalTensor<uint8_t> tmp_local = tbuf3.Get<uint8_t>();
79+ 
80+ if (testMode == BUF_MODE) {
81+ Hypot(output_local, input0_local, input1_local, tmp_local);
82+ }
83+ else if (testMode == BUF_CAL_MODE){
84+ Hypot(output_local, input0_local, input1_local, tmp_local, dataSize);
85+ }
86+ }
87+ 
88+ SetFlag<HardEvent::V_MTE3>(EVENT_ID0);
89+ WaitFlag<HardEvent::V_MTE3>(EVENT_ID0);
90+ 
91+ DataCopy(outputGlobal, output_local, dataSize);
92+ 
93+ PipeBarrier<PIPE_ALL>();
94+}
95+#define VEC_HYPOT_LEVEL2_TESTCASE(DATA_TYPE, TEST_MODE) \
96+ TEST_F(TEST_HYPOT, Hypot##DATA_TYPE##TEST_MODE##Case) \
97+ { \
98+ uint32_t dataSize = 256; \
99+ uint32_t sel_mask_size = dataSize / AscendCUtils::GetBitSize(sizeof(uint8_t)); \
100+ uint8_t input0Gm[dataSize * sizeof(DATA_TYPE)]; \
101+ uint8_t input1Gm[dataSize * sizeof(DATA_TYPE)]; \
102+ uint8_t outputGm[dataSize * sizeof(DATA_TYPE)]; \
103+ \
104+ main_vec_hypot_level2_demo<DATA_TYPE>(outputGm, input0Gm, input1Gm, dataSize, TEST_MODE); \
105+ \
106+ for (uint32_t i = 0; i < dataSize; i++) { \
107+ EXPECT_EQ(outputGm[i], 0x00); \
108+ } \
109+ }
110+VEC_HYPOT_LEVEL2_TESTCASE(half, NORMAL_MODE);
111+VEC_HYPOT_LEVEL2_TESTCASE(half, CAL_MODE);
112+VEC_HYPOT_LEVEL2_TESTCASE(half, BUF_MODE);
113+VEC_HYPOT_LEVEL2_TESTCASE(half, BUF_CAL_MODE);
114+VEC_HYPOT_LEVEL2_TESTCASE(bfloat16_t, NORMAL_MODE);
115+VEC_HYPOT_LEVEL2_TESTCASE(bfloat16_t, CAL_MODE);
116+VEC_HYPOT_LEVEL2_TESTCASE(bfloat16_t, BUF_MODE);
117+VEC_HYPOT_LEVEL2_TESTCASE(bfloat16_t, BUF_CAL_MODE);
118+VEC_HYPOT_LEVEL2_TESTCASE(float, NORMAL_MODE);
119+VEC_HYPOT_LEVEL2_TESTCASE(float, CAL_MODE);
120+VEC_HYPOT_LEVEL2_TESTCASE(float, BUF_MODE);
121+VEC_HYPOT_LEVEL2_TESTCASE(float, BUF_CAL_MODE);
@@ -0,0 +1,139 @@
1+/**
2+* Copyright (c) 2025 Huawei Technologies Co., Ltd.
3+* This program is free software, you can redistribute it and/or modify it under the terms and conditions of
4+* CANN Open Software License Agreement Version 2.0 (the "License").
5+* Please refer to the License for details. You may not use this file except in compliance with the License.
6+* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED,
7+* INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
8+* See LICENSE in the root of the software repository for the full text of the License.
9+*/
10+#include <gtest/gtest.h>
11+#include "kernel_operator.h"
12+#include "kernel_utils.h"
13+using namespace std;
14+using namespace AscendC;
15+ 
16+template<typename DstT, typename SrcT, int32_t calCount, int32_t dataSize>
17+class KernelIsfinite {
18+public:
19+ __aicore__ inline KernelIsfinite()
20+ {}
21+ __aicore__ inline void Init(GM_ADDR dst_gm, GM_ADDR src_gm)
22+ {
23+ srcSize = dataSize;
24+ dstSize = dataSize;
25+ src_global.SetGlobalBuffer(reinterpret_cast<__gm__ SrcT *>(src_gm), srcSize);
26+ dst_global.SetGlobalBuffer(reinterpret_cast<__gm__ DstT *>(dst_gm), dstSize);
27+ 
28+ pipe.InitBuffer(inQueue, 1, dataSize * sizeof(SrcT));
29+ pipe.InitBuffer(outQueue, 1, dataSize * sizeof(DstT));
30+ 
31+ mask = calCount;
32+ }
33+ __aicore__ inline void Process()
34+ {
35+ CopyIn();
36+ Compute();
37+ CopyOut();
38+ AscendCUtils::SetOverflow(0);
39+ }
40+private:
41+ __aicore__ inline void CopyIn()
42+ {
43+ LocalTensor<SrcT> srcLocal = inQueue.AllocTensor<SrcT>();
44+ DataCopy(srcLocal, src_global, srcSize);
45+ inQueue.EnQue(srcLocal);
46+ }
47+ __aicore__ inline void Compute()
48+ {
49+ LocalTensor<SrcT> srcLocal = inQueue.DeQue<SrcT>();
50+ if constexpr (std::is_same_v<DstT, bool>) {
51+ LocalTensor<DstT> dstLocal = outQueue.AllocTensor<DstT>();
52+ Duplicate((LocalTensor<int8_t> &)dstLocal, (int8_t)0, dataSize);
53+ IsFinite(dstLocal, srcLocal, calCount);
54+ outQueue.EnQue(dstLocal);
55+ } else {
56+ LocalTensor<DstT> dstLocal = outQueue.AllocTensor<DstT>();
57+ Duplicate(dstLocal, (DstT)0, dataSize);
58+ IsFinite(dstLocal, srcLocal, calCount);
59+ outQueue.EnQue(dstLocal);
60+ }
61+ inQueue.FreeTensor(srcLocal);
62+ 
63+ }
64+ __aicore__ inline void CopyOut()
65+ {
66+ LocalTensor<DstT> dstLocal = outQueue.DeQue<DstT>();
67+ DataCopy(dst_global, dstLocal, dataSize);
68+ outQueue.FreeTensor(dstLocal);
69+ }
70+ 
71+private:
72+ GlobalTensor<SrcT> src_global;
73+ GlobalTensor<DstT> dst_global;
74+ 
75+ TPipe pipe;
76+ TQue<TPosition::VECIN, 1> inQueue;
77+ TQue<TPosition::VECOUT, 1> outQueue;
78+ uint32_t srcSize = 0;
79+ uint32_t dstSize = 0;
80+ uint32_t mask;
81+};
82+ 
83+struct IsfiniteParams {
84+ void (*CalFunc)();
85+};
86+ 
87+template<typename DstT, typename SrcT, int32_t calCount, int32_t dataSize>
88+void RunCase() {
89+ int src_byte_size = sizeof(SrcT);
90+ int dst_byte_size = sizeof(DstT);
91+ 
92+ uint8_t dstGm[calCount * dst_byte_size] = {0};
93+ uint8_t srcGm[calCount * src_byte_size] = {0};
94+ 
95+ KernelIsfinite<DstT, SrcT, calCount, dataSize> op;
96+ op.Init(dstGm, srcGm);
97+ op.Process();
98+}
99+ 
100+class IsfiniteTestsuite : public testing::TestWithParam<IsfiniteParams> {
101+protected:
102+ void SetUp() {}
103+ void TearDown() {}
104+};
105+ 
106+INSTANTIATE_TEST_CASE_P(TEST_OPEARATION_ADVANCE_API_Isfinite, IsfiniteTestsuite,
107+ ::testing::Values(
108+ IsfiniteParams { RunCase<float, float, 1024, 1024> },
109+ IsfiniteParams { RunCase<float, float, 1023, 1024> },
110+ IsfiniteParams { RunCase<float, float, 512, 1024> },
111+ IsfiniteParams { RunCase<float, float, 1, 1024> },
112+ IsfiniteParams { RunCase<bool, float, 1024, 1024> },
113+ IsfiniteParams { RunCase<bool, float, 1023, 1024> },
114+ IsfiniteParams { RunCase<bool, float, 512, 1024> },
115+ IsfiniteParams { RunCase<bool, float, 1, 1024> },
116+ IsfiniteParams { RunCase<half, half, 1024, 1024> },
117+ IsfiniteParams { RunCase<half, half, 1023, 1024> },
118+ IsfiniteParams { RunCase<half, half, 512, 1024> },
119+ IsfiniteParams { RunCase<half, half, 1, 1024> },
120+ IsfiniteParams { RunCase<bool, half, 1024, 1024> },
121+ IsfiniteParams { RunCase<bool, half, 1023, 1024> },
122+ IsfiniteParams { RunCase<bool, half, 512, 1024> },
123+ IsfiniteParams { RunCase<bool, half, 1, 1024> },
124+ IsfiniteParams { RunCase<bfloat16_t, bfloat16_t, 1024, 1024> },
125+ IsfiniteParams { RunCase<bfloat16_t, bfloat16_t, 1023, 1024> },
126+ IsfiniteParams { RunCase<bfloat16_t, bfloat16_t, 512, 1024> },
127+ IsfiniteParams { RunCase<bfloat16_t, bfloat16_t, 1, 1024> },
128+ IsfiniteParams { RunCase<bool, bfloat16_t, 1024, 1024> },
129+ IsfiniteParams { RunCase<bool, bfloat16_t, 1023, 1024> },
130+ IsfiniteParams { RunCase<bool, bfloat16_t, 512, 1024> },
131+ IsfiniteParams { RunCase<bool, bfloat16_t, 1, 1024> }
132+ )
133+);
134+ 
135+TEST_P(IsfiniteTestsuite, IsfiniteTestCase)
136+{
137+ auto param = GetParam();
138+ param.CalFunc();
139+}
@@ -0,0 +1,173 @@
1+/**
2+* Copyright (c) 2025 Huawei Technologies Co., Ltd.
3+* This program is free software, you can redistribute it and/or modify it under the terms and conditions of
4+* CANN Open Software License Agreement Version 2.0 (the "License").
5+* Please refer to the License for details. You may not use this file except in compliance with the License.
6+* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED,
7+* INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
8+* See LICENSE in the root of the software repository for the full text of the License.
9+*/
10+#include <gtest/gtest.h>
11+#include "kernel_operator.h"
12+#include "kernel_utils.h"
13+using namespace std;
14+using namespace AscendC;
15+enum TestMode {
16+ CAL_MODE,
17+ BUF_CAL_MODE
18+};
19+template<typename DstT, typename SrcT, int32_t calCount, int32_t dataSize, TestMode mode>
20+class KernelIsInf {
21+public:
22+ __aicore__ inline KernelIsInf()
23+ {}
24+ __aicore__ inline void Init(GM_ADDR dst_gm, GM_ADDR src_gm)
25+ {
26+ srcSize = dataSize;
27+ dstSize = dataSize;
28+ src_global.SetGlobalBuffer(reinterpret_cast<__gm__ SrcT *>(src_gm), srcSize);
29+ dst_global.SetGlobalBuffer(reinterpret_cast<__gm__ DstT *>(dst_gm), dstSize);
30+ 
31+ pipe.InitBuffer(inQueue, 1, dataSize * sizeof(SrcT));
32+ pipe.InitBuffer(outQueue, 1, dataSize * sizeof(DstT));
33+ 
34+ mask = calCount;
35+ }
36+ __aicore__ inline void Process()
37+ {
38+ AscendCUtils::SetOverflow(1);
39+ CopyIn();
40+ Compute();
41+ CopyOut();
42+ AscendCUtils::SetOverflow(0);
43+ }
44+private:
45+ __aicore__ inline void CopyIn()
46+ {
47+ LocalTensor<SrcT> srcLocal = inQueue.AllocTensor<SrcT>();
48+ DataCopy(srcLocal, src_global, srcSize);
49+ inQueue.EnQue(srcLocal);
50+ }
51+ __aicore__ inline void Compute()
52+ {
53+ LocalTensor<SrcT> srcLocal = inQueue.DeQue<SrcT>();
54+ if constexpr (mode == CAL_MODE) {
55+ if constexpr (std::is_same_v<DstT, bool>) {
56+ LocalTensor<DstT> dstLocal = outQueue.AllocTensor<DstT>();
57+ Duplicate((LocalTensor<int8_t> &)dstLocal, (int8_t)0, dataSize);
58+ IsInf(dstLocal, srcLocal, calCount);
59+ outQueue.EnQue(dstLocal);
60+ } else {
61+ LocalTensor<DstT> dstLocal = outQueue.AllocTensor<DstT>();
62+ Duplicate(dstLocal, (DstT)0, dataSize);
63+ IsInf(dstLocal, srcLocal, calCount);
64+ outQueue.EnQue(dstLocal);
65+ }
66+ } else {
67+ TBuf<TPosition::VECCALC> tbuf;
68+ if constexpr (sizeof(SrcT) == sizeof(float)) {
69+ pipe.InitBuffer(tbuf, dataSize * sizeof(float));
70+ } else {
71+ pipe.InitBuffer(tbuf, dataSize * sizeof(float) * 4);
72+ }
73+ LocalTensor<uint8_t> tmpLocal = tbuf.Get<uint8_t>();
74+ if constexpr (std::is_same_v<DstT, bool>) {
75+ LocalTensor<DstT> dstLocal = outQueue.AllocTensor<DstT>();
76+ Duplicate((LocalTensor<int8_t> &)dstLocal, (int8_t)0, dataSize);
77+ IsInf(dstLocal, srcLocal, tmpLocal, calCount);
78+ outQueue.EnQue(dstLocal);
79+ } else {
80+ LocalTensor<DstT> dstLocal = outQueue.AllocTensor<DstT>();
81+ Duplicate(dstLocal, (DstT)0, dataSize);
82+ IsInf(dstLocal, srcLocal, tmpLocal, calCount);
83+ outQueue.EnQue(dstLocal);
84+ }
85+ }
86+ inQueue.FreeTensor(srcLocal);
87+ 
88+ }
89+ __aicore__ inline void CopyOut()
90+ {
91+ LocalTensor<DstT> dstLocal = outQueue.DeQue<DstT>();
92+ DataCopy(dst_global, dstLocal, dataSize);
93+ outQueue.FreeTensor(dstLocal);
94+ }
95+ 
96+private:
97+ GlobalTensor<SrcT> src_global;
98+ GlobalTensor<DstT> dst_global;
99+ 
100+ TPipe pipe;
101+ TQue<TPosition::VECIN, 1> inQueue;
102+ TQue<TPosition::VECOUT, 1> outQueue;
103+ uint32_t srcSize = 0;
104+ uint32_t dstSize = 0;
105+ uint32_t mask;
106+};
107+ 
108+struct IsInfParams {
109+ void (*CalFunc)();
110+};
111+ 
112+template<typename DstT, typename SrcT, int32_t calCount, int32_t dataSize, TestMode mode>
113+void RunCase() {
114+ int src_byte_size = sizeof(SrcT);
115+ int dst_byte_size = sizeof(DstT);
116+ 
117+ uint8_t dstGm[calCount * dst_byte_size] = {0};
118+ uint8_t srcGm[calCount * src_byte_size] = {0};
119+ 
120+ KernelIsInf<DstT, SrcT, calCount, dataSize, mode> op;
121+ op.Init(dstGm, srcGm);
122+ op.Process();
123+}
124+ 
125+class IsInfTestsuite : public testing::TestWithParam<IsInfParams> {
126+protected:
127+ void SetUp() {}
128+ void TearDown() {}
129+};
130+ 
131+INSTANTIATE_TEST_CASE_P(TEST_OPEARATION_ADVANCE_API_ISINF, IsInfTestsuite,
132+ ::testing::Values(
133+ IsInfParams { RunCase<float, float, 1024, 1024, CAL_MODE> },
134+ IsInfParams { RunCase<float, float, 1023, 1024, CAL_MODE> },
135+ IsInfParams { RunCase<float, float, 512, 1024, CAL_MODE> },
136+ IsInfParams { RunCase<float, float, 1, 1024, CAL_MODE> },
137+ IsInfParams { RunCase<bool, float, 1024, 1024, CAL_MODE> },
138+ IsInfParams { RunCase<bool, float, 1023, 1024, CAL_MODE> },
139+ IsInfParams { RunCase<bool, float, 512, 1024, CAL_MODE> },
140+ IsInfParams { RunCase<bool, float, 1, 1024, CAL_MODE> },
141+ IsInfParams { RunCase<half, half, 1024, 1024, CAL_MODE> },
142+ IsInfParams { RunCase<half, half, 1023, 1024, CAL_MODE> },
143+ IsInfParams { RunCase<half, half, 512, 1024, CAL_MODE> },
144+ IsInfParams { RunCase<half, half, 1, 1024, CAL_MODE> },
145+ IsInfParams { RunCase<bool, half, 1024, 1024, CAL_MODE> },
146+ IsInfParams { RunCase<bool, half, 1023, 1024, CAL_MODE> },
147+ IsInfParams { RunCase<bool, half, 512, 1024, CAL_MODE> },
148+ IsInfParams { RunCase<bool, half, 1, 1024, CAL_MODE> },
149+
150+ IsInfParams { RunCase<float, float, 1024, 1024, BUF_CAL_MODE> },
151+ IsInfParams { RunCase<float, float, 1023, 1024, BUF_CAL_MODE> },
152+ IsInfParams { RunCase<float, float, 512, 1024, BUF_CAL_MODE> },
153+ IsInfParams { RunCase<float, float, 1, 1024, BUF_CAL_MODE> },
154+ IsInfParams { RunCase<bool, float, 1024, 1024, BUF_CAL_MODE> },
155+ IsInfParams { RunCase<bool, float, 1023, 1024, BUF_CAL_MODE> },
156+ IsInfParams { RunCase<bool, float, 512, 1024, BUF_CAL_MODE> },
157+ IsInfParams { RunCase<bool, float, 1, 1024, BUF_CAL_MODE> },
158+ IsInfParams { RunCase<half, half, 1024, 1024, BUF_CAL_MODE> },
159+ IsInfParams { RunCase<half, half, 1023, 1024, BUF_CAL_MODE> },
160+ IsInfParams { RunCase<half, half, 512, 1024, BUF_CAL_MODE> },
161+ IsInfParams { RunCase<half, half, 1, 1024, BUF_CAL_MODE> },
162+ IsInfParams { RunCase<bool, half, 1024, 1024, BUF_CAL_MODE> },
163+ IsInfParams { RunCase<bool, half, 1023, 1024, BUF_CAL_MODE> },
164+ IsInfParams { RunCase<bool, half, 512, 1024, BUF_CAL_MODE> },
165+ IsInfParams { RunCase<bool, half, 1, 1024, BUF_CAL_MODE> }
166+ )
167+);
168+ 
169+TEST_P(IsInfTestsuite, IsInfTestCase)
170+{
171+ auto param = GetParam();
172+ param.CalFunc();
173+}
Rtests/unit/adv_api/math/lgamma/test_operator_lgamma.cpptests/api/adv_api/math/lgamma/test_operator_lgamma.cpp+0-0
Rtests/unit/adv_api/math/log/test_operator_log.cpptests/api/adv_api/math/log/test_operator_log.cpp+0-0
Rtests/unit/adv_api/math/power/test_operator_power.cpptests/api/adv_api/math/power/test_operator_power.cpp+0-0
Rtests/unit/adv_api/math/power/test_operator_power_v200.cpptests/api/adv_api/math/power/test_operator_power_v200.cpp+0-0
Rtests/unit/adv_api/math/round/test_operator_round.cpptests/api/adv_api/math/round/test_operator_round.cpp+0-0
Rtests/unit/adv_api/math/sign/test_operator_sign.cpptests/api/adv_api/math/sign/test_operator_sign.cpp+6-0
Rtests/unit/adv_api/math/sin/test_operator_sin.cpptests/api/adv_api/math/sin/test_operator_sin.cpp+0-0
Rtests/unit/adv_api/math/sinh/test_operator_asinh.cpptests/api/adv_api/math/sinh/test_operator_asinh.cpp+0-0
Rtests/unit/adv_api/math/sinh/test_operator_sinh.cpptests/api/adv_api/math/sinh/test_operator_sinh.cpp+0-0
Rtests/unit/adv_api/math/tan/test_operator_tan.cpptests/api/adv_api/math/tan/test_operator_tan.cpp+0-0
Rtests/unit/adv_api/math/tanh/test_operator_tanh.cpptests/api/adv_api/math/tanh/test_operator_tanh.cpp+0-0
Rtests/unit/adv_api/math/trunc/test_operator_trunc.cpptests/api/adv_api/math/trunc/test_operator_trunc.cpp+0-0
Rtests/unit/adv_api/math/xor/test_operator_xor.cpptests/api/adv_api/math/xor/test_operator_xor.cpp+0-0
Rtests/unit/adv_api/matmul/bias/test_bias_c1_buffer.cpptests/api/adv_api/matmul/bias/test_bias_c1_buffer.cpp+0-0
Rtests/unit/adv_api/matmul/bias/test_bias_c2_buffer.cpptests/api/adv_api/matmul/bias/test_bias_c2_buffer.cpp+0-0
Rtests/unit/adv_api/matmul/copy_cube_in/base_tiling_struct.htests/api/adv_api/matmul/copy_cube_in/base_tiling_struct.h+0-0
Rtests/unit/adv_api/matmul/copy_cube_in/test_copy_cube_in_mdl.cpptests/api/adv_api/matmul/copy_cube_in/test_copy_cube_in_mdl.cpp+0-0
Rtests/unit/adv_api/matmul/copy_cube_in/test_copy_cube_in_mdl_310p.cpptests/api/adv_api/matmul/copy_cube_in/test_copy_cube_in_mdl_310p.cpp+0-0
Atests/api/adv_api/matmul/copy_cube_in/test_copy_cube_in_mdl_mx.cpp+490-0文件内容审核中,请稍后刷新重试
Rtests/unit/adv_api/matmul/copy_cube_in/test_copy_cube_in_norm.cpptests/api/adv_api/matmul/copy_cube_in/test_copy_cube_in_norm.cpp+0-0
Rtests/unit/adv_api/matmul/copy_cube_in/test_copy_cube_in_norm_310p.cpptests/api/adv_api/matmul/copy_cube_in/test_copy_cube_in_norm_310p.cpp+0-0
Rtests/unit/adv_api/matmul/copy_cube_in/test_copy_cube_in_params.cpptests/api/adv_api/matmul/copy_cube_in/test_copy_cube_in_params.cpp+0-0
Atests/api/adv_api/matmul/copy_cube_in/test_copy_cube_in_params_mx.cpp+252-0文件内容审核中,请稍后刷新重试
Rtests/unit/adv_api/matmul/copy_cube_in/test_copy_cube_in_ub_to_l1_ss.cpptests/api/adv_api/matmul/copy_cube_in/test_copy_cube_in_ub_to_l1_ss.cpp+0-0
Rtests/unit/adv_api/matmul/copy_cube_out/test_copy_cube_out.cpptests/api/adv_api/matmul/copy_cube_out/test_copy_cube_out.cpp+0-0
Rtests/unit/adv_api/matmul/copy_cube_out/test_copy_cube_out_fixpipe.cpptests/api/adv_api/matmul/copy_cube_out/test_copy_cube_out_fixpipe.cpp+0-0
Rtests/unit/adv_api/matmul/copy_cube_out/test_quant_processor_fixpipe.cpptests/api/adv_api/matmul/copy_cube_out/test_quant_processor_fixpipe.cpp+0-0
Rtests/unit/adv_api/matmul/cube_in_buffer/test_cube_in_buffer_bmm_db.cpptests/api/adv_api/matmul/cube_in_buffer/test_cube_in_buffer_bmm_db.cpp+0-0
Rtests/unit/adv_api/matmul/cube_in_buffer/test_cube_in_buffer_double_buffer.cpptests/api/adv_api/matmul/cube_in_buffer/test_cube_in_buffer_double_buffer.cpp+0-0
Rtests/unit/adv_api/matmul/cube_in_buffer/test_cube_in_buffer_double_global_buffer.cpptests/api/adv_api/matmul/cube_in_buffer/test_cube_in_buffer_double_global_buffer.cpp+0-0
Rtests/unit/adv_api/matmul/cube_in_buffer/test_cube_in_buffer_n_buffer.cpptests/api/adv_api/matmul/cube_in_buffer/test_cube_in_buffer_n_buffer.cpp+0-0
Rtests/unit/adv_api/matmul/cube_in_buffer/test_cube_in_buffer_normal.cpptests/api/adv_api/matmul/cube_in_buffer/test_cube_in_buffer_normal.cpp+0-31
Rtests/unit/adv_api/matmul/cube_in_buffer/test_cube_in_buffer_single_buffer.cpptests/api/adv_api/matmul/cube_in_buffer/test_cube_in_buffer_single_buffer.cpp+0-0
Rtests/unit/adv_api/matmul/cube_in_buffer/test_cube_in_buffer_single_global_buffer.cpptests/api/adv_api/matmul/cube_in_buffer/test_cube_in_buffer_single_global_buffer.cpp+0-0
Rtests/unit/adv_api/matmul/iterator/test_batch_loop.cpptests/api/adv_api/matmul/iterator/test_batch_loop.cpp+0-0
Rtests/unit/adv_api/matmul/iterator/test_batch_loop_single.cpptests/api/adv_api/matmul/iterator/test_batch_loop_single.cpp+0-0
Rtests/unit/adv_api/matmul/iterator/test_batch_m_loop.cpptests/api/adv_api/matmul/iterator/test_batch_m_loop.cpp+0-0
Rtests/unit/adv_api/matmul/iterator/test_batch_m_loop_db.cpptests/api/adv_api/matmul/iterator/test_batch_m_loop_db.cpp+0-0
Rtests/unit/adv_api/matmul/iterator/test_batch_n_loop.cpptests/api/adv_api/matmul/iterator/test_batch_n_loop.cpp+0-0
Rtests/unit/adv_api/matmul/iterator/test_batch_n_loop_db.cpptests/api/adv_api/matmul/iterator/test_batch_n_loop_db.cpp+0-0
Rtests/unit/adv_api/matmul/iterator/test_k_loop_mdl.cpptests/api/adv_api/matmul/iterator/test_k_loop_mdl.cpp+0-0
Atests/api/adv_api/matmul/iterator/test_k_loop_mdl_mx.cpp+123-0文件内容审核中,请稍后刷新重试
Rtests/unit/adv_api/matmul/iterator/test_k_loop_mdl_reorder.cpptests/api/adv_api/matmul/iterator/test_k_loop_mdl_reorder.cpp+0-0
Rtests/unit/adv_api/matmul/iterator/test_k_loop_n_buffer.cpptests/api/adv_api/matmul/iterator/test_k_loop_n_buffer.cpp+0-0
Rtests/unit/adv_api/matmul/iterator/test_k_loop_norm.cpptests/api/adv_api/matmul/iterator/test_k_loop_norm.cpp+0-0
Rtests/unit/adv_api/matmul/iterator/test_m_loop_basic.cpptests/api/adv_api/matmul/iterator/test_m_loop_basic.cpp+0-45
Rtests/unit/adv_api/matmul/iterator/test_m_loop_mdl.cpptests/api/adv_api/matmul/iterator/test_m_loop_mdl.cpp+0-0
Rtests/unit/adv_api/matmul/iterator/test_m_loop_mdl_outer_product.cpptests/api/adv_api/matmul/iterator/test_m_loop_mdl_outer_product.cpp+0-0
Rtests/unit/adv_api/matmul/iterator/test_m_loop_n_buffer.cpptests/api/adv_api/matmul/iterator/test_m_loop_n_buffer.cpp+0-0
Rtests/unit/adv_api/matmul/iterator/test_m_loop_norm.cpptests/api/adv_api/matmul/iterator/test_m_loop_norm.cpp+0-0
Rtests/unit/adv_api/matmul/iterator/test_matmul_iterator.cpptests/api/adv_api/matmul/iterator/test_matmul_iterator.cpp+0-0
Rtests/unit/adv_api/matmul/iterator/test_n_loop_basic.cpptests/api/adv_api/matmul/iterator/test_n_loop_basic.cpp+0-49
Rtests/unit/adv_api/matmul/iterator/test_n_loop_mdl.cpptests/api/adv_api/matmul/iterator/test_n_loop_mdl.cpp+0-0
Rtests/unit/adv_api/matmul/iterator/test_n_loop_mdl_outer_product.cpptests/api/adv_api/matmul/iterator/test_n_loop_mdl_outer_product.cpp+0-0
Rtests/unit/adv_api/matmul/iterator/test_n_loop_norm.cpptests/api/adv_api/matmul/iterator/test_n_loop_norm.cpp+0-0
Rtests/unit/adv_api/matmul/kfc/kfc_fake_modules.htests/api/adv_api/matmul/kfc/kfc_fake_modules.h+0-0
Rtests/unit/adv_api/matmul/load_buffer/test_matmul_load_to_l0a.cpptests/api/adv_api/matmul/load_buffer/test_matmul_load_to_l0a.cpp+0-0
Rtests/unit/adv_api/matmul/load_buffer/test_matmul_load_to_l0aV2.cpptests/api/adv_api/matmul/load_buffer/test_matmul_load_to_l0aV2.cpp+0-0
Rtests/unit/adv_api/matmul/load_buffer/test_matmul_load_to_l0b.cpptests/api/adv_api/matmul/load_buffer/test_matmul_load_to_l0b.cpp+0-0
Rtests/unit/adv_api/matmul/load_buffer/test_matmul_load_to_l0bV2.cpptests/api/adv_api/matmul/load_buffer/test_matmul_load_to_l0bV2.cpp+0-0
Rtests/unit/adv_api/matmul/load_buffer/test_matmul_mmad_compute.cpptests/api/adv_api/matmul/load_buffer/test_matmul_mmad_compute.cpp+0-0
Rtests/unit/adv_api/matmul/load_buffer/test_matmul_tbufpool_l0.cpptests/api/adv_api/matmul/load_buffer/test_matmul_tbufpool_l0.cpp+0-0
Atests/api/adv_api/matmul/param/test_matmul_shape_tiling.cpp+183-0文件内容审核中,请稍后刷新重试
Rtests/unit/adv_api/matmul/resource/cube_out_buffer/test_cube_out_buffer_co1_shared.cpptests/api/adv_api/matmul/resource/cube_out_buffer/test_cube_out_buffer_co1_shared.cpp+0-0
Rtests/unit/adv_api/matmul/scheduler/batch_scheduler/test_batch_scheduler.cpptests/api/adv_api/matmul/scheduler/batch_scheduler/test_batch_scheduler.cpp+0-0
Rtests/unit/adv_api/matmul/scheduler/batch_scheduler/test_batch_scheduler_single.cpptests/api/adv_api/matmul/scheduler/batch_scheduler/test_batch_scheduler_single.cpp+0-0
Rtests/unit/adv_api/matmul/scheduler/batch_scheduler/test_batch_scheduler_v200.cpptests/api/adv_api/matmul/scheduler/batch_scheduler/test_batch_scheduler_v200.cpp+0-0
Rtests/unit/adv_api/matmul/scheduler/bias_scheduler/test_bias_scheduler_batch.cpptests/api/adv_api/matmul/scheduler/bias_scheduler/test_bias_scheduler_batch.cpp+1-1
Rtests/unit/adv_api/matmul/scheduler/bias_scheduler/test_bias_scheduler_v200.cpptests/api/adv_api/matmul/scheduler/bias_scheduler/test_bias_scheduler_v200.cpp+0-0
Rtests/unit/adv_api/matmul/scheduler/bias_scheduler/test_bias_scheduler_v220.cpptests/api/adv_api/matmul/scheduler/bias_scheduler/test_bias_scheduler_v220.cpp+0-0
Rtests/unit/adv_api/matmul/scheduler/fake_modules.htests/api/adv_api/matmul/scheduler/fake_modules.h+4-1
Rtests/unit/adv_api/matmul/scheduler/test_scheduler_intrablock.cpptests/api/adv_api/matmul/scheduler/test_scheduler_intrablock.cpp+0-0
Rtests/unit/adv_api/matmul/scheduler/test_scheduler_mdl.cpptests/api/adv_api/matmul/scheduler/test_scheduler_mdl.cpp+0-0
Rtests/unit/adv_api/matmul/scheduler/test_scheduler_mdl_fullload.cpptests/api/adv_api/matmul/scheduler/test_scheduler_mdl_fullload.cpp+0-0
Atests/api/adv_api/matmul/scheduler/test_scheduler_mdl_mx.cpp+311-0文件内容审核中,请稍后刷新重试
Rtests/unit/adv_api/matmul/scheduler/test_scheduler_mdl_outer_product.cpptests/api/adv_api/matmul/scheduler/test_scheduler_mdl_outer_product.cpp+0-0
Rtests/unit/adv_api/matmul/scheduler/test_scheduler_n_buffer.cpptests/api/adv_api/matmul/scheduler/test_scheduler_n_buffer.cpp+0-0
Rtests/unit/adv_api/matmul/scheduler/test_scheduler_norm.cpptests/api/adv_api/matmul/scheduler/test_scheduler_norm.cpp+1-1
Rtests/unit/adv_api/matmul/scheduler/test_scheduler_norm_outer_product.cpptests/api/adv_api/matmul/scheduler/test_scheduler_norm_outer_product.cpp+0-0
Rtests/unit/adv_api/matmul/scheduler/test_scheduler_special_mdl.cpptests/api/adv_api/matmul/scheduler/test_scheduler_special_mdl.cpp+0-0
Rtests/unit/adv_api/matmul/test_matmul_channel_split.cpptests/api/adv_api/matmul/test_matmul_channel_split.cpp+0-0
Rtests/unit/adv_api/matmul/test_matmul_config.cpptests/api/adv_api/matmul/test_matmul_config.cpp+0-0
Rtests/unit/adv_api/matmul/test_matmul_l0c_buffer.cpptests/api/adv_api/matmul/test_matmul_l0c_buffer.cpp+0-0
Rtests/unit/adv_api/matmul/test_matmul_l0db.cpptests/api/adv_api/matmul/test_matmul_l0db.cpp+0-0
Rtests/unit/adv_api/matmul/test_matmul_shape_info.cpptests/api/adv_api/matmul/test_matmul_shape_info.cpp+0-0
Rtests/unit/adv_api/matmul/test_matmul_shape_info_left.cpptests/api/adv_api/matmul/test_matmul_shape_info_left.cpp+0-0
Rtests/unit/adv_api/matmul/test_matmul_triangular.cpptests/api/adv_api/matmul/test_matmul_triangular.cpp+0-0
Atests/api/adv_api/matmul/test_operator_matmul_mx_c310.cpp+606-0文件内容审核中,请稍后刷新重试
Rtests/unit/adv_api/matmul/test_operator_matmul_v200.cpptests/api/adv_api/matmul/test_operator_matmul_v200.cpp+0-0
Rtests/unit/adv_api/matmul/test_operator_matmul_v220.cpptests/api/adv_api/matmul/test_operator_matmul_v220.cpp+0-0
Rtests/unit/adv_api/matmul/test_operator_matmul_v300.cpptests/api/adv_api/matmul/test_operator_matmul_v300.cpp+0-0
Rtests/unit/adv_api/matmul/utils/test_custom_loop.htests/api/adv_api/matmul/utils/test_custom_loop.h+0-0
Rtests/unit/adv_api/normalization/batchnorm/test_operator_batchnorm.cpptests/api/adv_api/normalization/batchnorm/test_operator_batchnorm.cpp+0-0
Rtests/unit/adv_api/normalization/deepnorm/test_operator_deepnorm.cpptests/api/adv_api/normalization/deepnorm/test_operator_deepnorm.cpp+0-0
Rtests/unit/adv_api/normalization/groupnorm/test_operator_groupnorm.cpptests/api/adv_api/normalization/groupnorm/test_operator_groupnorm.cpp+0-0
Rtests/unit/adv_api/normalization/layernorm/test_operator_layernorm.cpptests/api/adv_api/normalization/layernorm/test_operator_layernorm.cpp+0-0
Rtests/unit/adv_api/normalization/layernorm/test_operator_layernormgrad.cpptests/api/adv_api/normalization/layernorm/test_operator_layernormgrad.cpp+0-0
Rtests/unit/adv_api/normalization/layernorm/test_operator_layernormgradbeta.cpptests/api/adv_api/normalization/layernorm/test_operator_layernormgradbeta.cpp+0-0
Rtests/unit/adv_api/normalization/layernormV2/test_operator_layernormV2.cpptests/api/adv_api/normalization/layernormV2/test_operator_layernormV2.cpp+0-0
Rtests/unit/adv_api/normalization/normalize/test_operator_normalize.cpptests/api/adv_api/normalization/normalize/test_operator_normalize.cpp+0-0
Rtests/unit/adv_api/normalization/rmsnorm/test_operator_rmsnorm.cpptests/api/adv_api/normalization/rmsnorm/test_operator_rmsnorm.cpp+0-0
Rtests/unit/adv_api/normalization/welfordfinalize/test_operator_welfordfinalize.cpptests/api/adv_api/normalization/welfordfinalize/test_operator_welfordfinalize.cpp+0-0
Rtests/unit/adv_api/normalization/welfordupdate/test_operator_welfordupdate.cpptests/api/adv_api/normalization/welfordupdate/test_operator_welfordupdate.cpp+0-0
Rtests/unit/adv_api/pad/broadcast/test_operator_broadcast_v200.cpptests/api/adv_api/pad/broadcast/test_operator_broadcast_v200.cpp+0-0
Rtests/unit/adv_api/pad/broadcast/test_operator_broadcast_v220.cpptests/api/adv_api/pad/broadcast/test_operator_broadcast_v220.cpp+7-0
Rtests/unit/adv_api/pad/pad/test_operator_pad.cpptests/api/adv_api/pad/pad/test_operator_pad.cpp+0-0
Rtests/unit/adv_api/quantization/antiquant/test_ascend_antiquant.cpptests/api/adv_api/quantization/antiquant/test_ascend_antiquant.cpp+0-0
Rtests/unit/adv_api/quantization/antiquant/test_ascend_antiquant_per_group.cpptests/api/adv_api/quantization/antiquant/test_ascend_antiquant_per_group.cpp+0-0
Rtests/unit/adv_api/quantization/antiquant/test_ascend_antiquant_per_group_transpose.cpptests/api/adv_api/quantization/antiquant/test_ascend_antiquant_per_group_transpose.cpp+0-0
Rtests/unit/adv_api/quantization/antiquant/test_ascend_antiquant_per_token.cpptests/api/adv_api/quantization/antiquant/test_ascend_antiquant_per_token.cpp+0-0
Rtests/unit/adv_api/quantization/antiquant/test_ascend_antiquant_per_token_transpose.cpptests/api/adv_api/quantization/antiquant/test_ascend_antiquant_per_token_transpose.cpp+0-0
Rtests/unit/adv_api/quantization/antiquant/test_ascend_antiquant_scalar.cpptests/api/adv_api/quantization/antiquant/test_ascend_antiquant_scalar.cpp+0-0
Rtests/unit/adv_api/quantization/antiquant/test_ascend_antiquant_weight.cpptests/api/adv_api/quantization/antiquant/test_ascend_antiquant_weight.cpp+0-0
Rtests/unit/adv_api/quantization/antiquant/test_ascend_antiquant_weight_scalar.cpptests/api/adv_api/quantization/antiquant/test_ascend_antiquant_weight_scalar.cpp+0-0
Rtests/unit/adv_api/quantization/antiquantize/test_antiquantize.cpptests/api/adv_api/quantization/antiquantize/test_antiquantize.cpp+0-0
Rtests/unit/adv_api/quantization/dequant/test_ascend_dequant.cpptests/api/adv_api/quantization/dequant/test_ascend_dequant.cpp+0-0
Rtests/unit/adv_api/quantization/dequant/test_ascend_dequant_per_group.cpptests/api/adv_api/quantization/dequant/test_ascend_dequant_per_group.cpp+0-0
Rtests/unit/adv_api/quantization/dequant/test_ascend_dequant_per_token.cpptests/api/adv_api/quantization/dequant/test_ascend_dequant_per_token.cpp+0-0
Rtests/unit/adv_api/quantization/dequant/test_ascend_dequant_v200.cpptests/api/adv_api/quantization/dequant/test_ascend_dequant_v200.cpp+0-0
Rtests/unit/adv_api/quantization/dequantize/test_dequantize.cpptests/api/adv_api/quantization/dequantize/test_dequantize.cpp+0-0
Rtests/unit/adv_api/quantization/quant/test_ascend_quant.cpptests/api/adv_api/quantization/quant/test_ascend_quant.cpp+0-0
Rtests/unit/adv_api/quantization/quant/test_ascend_quant_per_channel.cpptests/api/adv_api/quantization/quant/test_ascend_quant_per_channel.cpp+0-0
Rtests/unit/adv_api/quantization/quant/test_ascend_quant_per_group.cpptests/api/adv_api/quantization/quant/test_ascend_quant_per_group.cpp+0-0
Rtests/unit/adv_api/quantization/quant/test_ascend_quant_per_group_scalar.cpptests/api/adv_api/quantization/quant/test_ascend_quant_per_group_scalar.cpp+0-0
Rtests/unit/adv_api/quantization/quant/test_ascend_quant_per_token.cpptests/api/adv_api/quantization/quant/test_ascend_quant_per_token.cpp+0-0
Rtests/unit/adv_api/quantization/quant/test_ascend_quant_per_token_scalar.cpptests/api/adv_api/quantization/quant/test_ascend_quant_per_token_scalar.cpp+0-0
Rtests/unit/adv_api/quantization/quantize/test_quantize_per_channel.cpptests/api/adv_api/quantization/quantize/test_quantize_per_channel.cpp+0-0
Rtests/unit/adv_api/quantization/quantize/test_quantize_per_group.cpptests/api/adv_api/quantization/quantize/test_quantize_per_group.cpp+0-0
Rtests/unit/adv_api/quantization/quantize/test_quantize_per_tensor.cpptests/api/adv_api/quantization/quantize/test_quantize_per_tensor.cpp+0-0
Rtests/unit/adv_api/quantization/quantize/test_quantize_per_token.cpptests/api/adv_api/quantization/quantize/test_quantize_per_token.cpp+0-0
Rtests/unit/adv_api/reduce/mean/test_operator_mean.cpptests/api/adv_api/reduce/mean/test_operator_mean.cpp+0-0
Rtests/unit/adv_api/reduce/reduce_all/test_operator_reduce_all.cpptests/api/adv_api/reduce/reduce_all/test_operator_reduce_all.cpp+0-0
Rtests/unit/adv_api/reduce/reduce_any/test_operator_reduce_any.cpptests/api/adv_api/reduce/reduce_any/test_operator_reduce_any.cpp+0-0
Rtests/unit/adv_api/reduce/reduce_max/test_operator_reduce_max.cpptests/api/adv_api/reduce/reduce_max/test_operator_reduce_max.cpp+0-0
Rtests/unit/adv_api/reduce/reduce_mean/test_operator_reduce_mean.cpptests/api/adv_api/reduce/reduce_mean/test_operator_reduce_mean.cpp+0-0
Rtests/unit/adv_api/reduce/reduce_min/test_operator_reduce_min.cpptests/api/adv_api/reduce/reduce_min/test_operator_reduce_min.cpp+0-0
Rtests/unit/adv_api/reduce/reduce_prod/test_operator_reduce_prod.cpptests/api/adv_api/reduce/reduce_prod/test_operator_reduce_prod.cpp+0-0
Rtests/unit/adv_api/reduce/reduce_sum/test_operator_reduce_sum.cpptests/api/adv_api/reduce/reduce_sum/test_operator_reduce_sum.cpp+0-0
Rtests/unit/adv_api/reduce/reduce_xor_sum/test_operator_reduce_xor_sum.cpptests/api/adv_api/reduce/reduce_xor_sum/test_operator_reduce_xor_sum.cpp+0-0
Rtests/unit/adv_api/reduce/sum/test_operator_sum.cpptests/api/adv_api/reduce/sum/test_operator_sum.cpp+0-0
Rtests/unit/adv_api/select/selectwithbytesmask/test_operator_select.cpptests/api/adv_api/select/selectwithbytesmask/test_operator_select.cpp+0-0
Rtests/unit/adv_api/select/selectwithbytesmask/test_operator_selectwithbytesmask.cpptests/api/adv_api/select/selectwithbytesmask/test_operator_selectwithbytesmask.cpp+0-0
Atests/api/adv_api/sort/topk/test_operator_radix_topk.cpp+394-0文件内容审核中,请稍后刷新重试
Rtests/unit/adv_api/sort/topk/test_operator_topk.cpptests/api/adv_api/sort/topk/test_operator_topk.cpp+0-0
Rtests/unit/adv_api/tiling/conv/test_conv3d_api_tiling.cpptests/api/adv_api/tiling/conv/test_conv3d_api_tiling.cpp+0-0
Rtests/unit/adv_api/tiling/conv_backprop/test_conv3d_backprop_filter_api_tiling_func.cpptests/api/adv_api/tiling/conv_backprop/test_conv3d_backprop_filter_api_tiling_func.cpp+0-0
Rtests/unit/adv_api/tiling/conv_backprop/test_conv3d_backprop_filter_api_tiling_network.cpptests/api/adv_api/tiling/conv_backprop/test_conv3d_backprop_filter_api_tiling_network.cpp+0-0
Rtests/unit/adv_api/tiling/conv_backprop/test_conv3d_backprop_input_api_tiling_func.cpptests/api/adv_api/tiling/conv_backprop/test_conv3d_backprop_input_api_tiling_func.cpp+0-0
Rtests/unit/adv_api/tiling/conv_backprop/test_conv3d_backprop_input_api_tiling_network.cpptests/api/adv_api/tiling/conv_backprop/test_conv3d_backprop_input_api_tiling_network.cpp+0-0
Rtests/unit/adv_api/tiling/test_hccl_tiling.cpptests/api/adv_api/tiling/test_hccl_tiling.cpp+0-50
Rtests/unit/adv_api/tiling/test_matmul_api_tiling.cpptests/api/adv_api/tiling/test_matmul_api_tiling.cpp+0-15
Rtests/unit/adv_api/tiling/test_tiling.cpptests/api/adv_api/tiling/test_tiling.cpp+2448-125
Rtests/unit/adv_api/transpose/confusion_transpose/test_operator_confusion_transpose.cpptests/api/adv_api/transpose/confusion_transpose/test_operator_confusion_transpose.cpp+0-0
Rtests/unit/adv_api/transpose/confusion_transpose/test_operator_transpose.cpptests/api/adv_api/transpose/confusion_transpose/test_operator_transpose.cpp+0-0
Rtests/unit/adv_api/transpose/transdata/test_operator_transdata.cpptests/api/adv_api/transpose/transdata/test_operator_transdata.cpp+0-0
Rtests/unit/adv_api/utils/init_global_memory/test_operator_fill.cpptests/api/adv_api/utils/init_global_memory/test_operator_fill.cpp+0-0
Rtests/unit/adv_api/utils/init_global_memory/test_operator_init_global_memory.cpptests/api/adv_api/utils/init_global_memory/test_operator_init_global_memory.cpp+0-0
Rtests/unit/basic_api/ut/testcase/ascendc_kernel/test_aicpu_dump.cpptests/api/aicpu_api/test_aicpu_dump.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310b1/test_atomic_operator.cpptests/api/basic_api/ascendc_case_ascend310b1/test_atomic_operator.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310b1/test_copy.cpptests/api/basic_api/ascendc_case_ascend310b1/test_copy.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310b1/test_coverage.cpptests/api/basic_api/ascendc_case_ascend310b1/test_coverage.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310b1/test_data_copy_pad.cpptests/api/basic_api/ascendc_case_ascend310b1/test_data_copy_pad.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310b1/test_operator_cache.cpptests/api/basic_api/ascendc_case_ascend310b1/test_operator_cache.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310b1/test_operator_common.cpptests/api/basic_api/ascendc_case_ascend310b1/test_operator_common.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310b1/test_operator_compare.cpptests/api/basic_api/ascendc_case_ascend310b1/test_operator_compare.cpp+64-37
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310b1/test_operator_createvecindex.cpptests/api/basic_api/ascendc_case_ascend310b1/test_operator_createvecindex.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310b1/test_operator_datacopy.cpptests/api/basic_api/ascendc_case_ascend310b1/test_operator_datacopy.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310b1/test_operator_fixpipe.cpptests/api/basic_api/ascendc_case_ascend310b1/test_operator_fixpipe.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310b1/test_operator_fixpipe_v2.cpptests/api/basic_api/ascendc_case_ascend310b1/test_operator_fixpipe_v2.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310b1/test_operator_load_image.cpptests/api/basic_api/ascendc_case_ascend310b1/test_operator_load_image.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310b1/test_operator_loaddata.cpptests/api/basic_api/ascendc_case_ascend310b1/test_operator_loaddata.cpp+42-11
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310b1/test_operator_nchwconv.cpptests/api/basic_api/ascendc_case_ascend310b1/test_operator_nchwconv.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310b1/test_operator_select.cpptests/api/basic_api/ascendc_case_ascend310b1/test_operator_select.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310b1/test_operator_sort.cpptests/api/basic_api/ascendc_case_ascend310b1/test_operator_sort.cpp+10-10
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310b1/test_operator_transpose.cpptests/api/basic_api/ascendc_case_ascend310b1/test_operator_transpose.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310b1/test_operator_vec_binary.cpptests/api/basic_api/ascendc_case_ascend310b1/test_operator_vec_binary.cpp+11-2
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310b1/test_operator_vec_binary_cast.cpptests/api/basic_api/ascendc_case_ascend310b1/test_operator_vec_binary_cast.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310b1/test_operator_vec_binary_scalar.cpptests/api/basic_api/ascendc_case_ascend310b1/test_operator_vec_binary_scalar.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310b1/test_operator_vec_cast.cpptests/api/basic_api/ascendc_case_ascend310b1/test_operator_vec_cast.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310b1/test_operator_vec_duplicate.cpptests/api/basic_api/ascendc_case_ascend310b1/test_operator_vec_duplicate.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310b1/test_operator_vec_gather_mask.cpptests/api/basic_api/ascendc_case_ascend310b1/test_operator_vec_gather_mask.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310b1/test_operator_vec_reduce.cpptests/api/basic_api/ascendc_case_ascend310b1/test_operator_vec_reduce.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310b1/test_operator_vec_ternary_scalar.cpptests/api/basic_api/ascendc_case_ascend310b1/test_operator_vec_ternary_scalar.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310b1/test_operator_vec_unary.cpptests/api/basic_api/ascendc_case_ascend310b1/test_operator_vec_unary.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310b1/test_operator_vgather.cpptests/api/basic_api/ascendc_case_ascend310b1/test_operator_vgather.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310b1/test_operator_vgatherb.cpptests/api/basic_api/ascendc_case_ascend310b1/test_operator_vgatherb.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310b1/test_operator_vscatter.cpptests/api/basic_api/ascendc_case_ascend310b1/test_operator_vscatter.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_compare_scalar.cpptests/api/basic_api/ascendc_case_ascend310p/test_compare_scalar.cpp+39-21
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310p/test_data_copy_pad.cpptests/api/basic_api/ascendc_case_ascend310p/test_data_copy_pad.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310p/test_dump_tensor.cpptests/api/basic_api/ascendc_case_ascend310p/test_dump_tensor.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310p/test_operator_adddeqrelu.cpptests/api/basic_api/ascendc_case_ascend310p/test_operator_adddeqrelu.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310p/test_operator_atomic.cpptests/api/basic_api/ascendc_case_ascend310p/test_operator_atomic.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310p/test_operator_bilinearinterpalation.cpptests/api/basic_api/ascendc_case_ascend310p/test_operator_bilinearinterpalation.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310p/test_operator_cast.cpptests/api/basic_api/ascendc_case_ascend310p/test_operator_cast.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310p/test_operator_createvecindex.cpptests/api/basic_api/ascendc_case_ascend310p/test_operator_createvecindex.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310p/test_operator_datacopy.cpptests/api/basic_api/ascendc_case_ascend310p/test_operator_datacopy.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310p/test_operator_list_tensor.cpptests/api/basic_api/ascendc_case_ascend310p/test_operator_list_tensor.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310p/test_operator_mmad_int4.cpptests/api/basic_api/ascendc_case_ascend310p/test_operator_mmad_int4.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310p/test_operator_mulcast.cpptests/api/basic_api/ascendc_case_ascend310p/test_operator_mulcast.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310p/test_operator_transdatato5hd.cpptests/api/basic_api/ascendc_case_ascend310p/test_operator_transdatato5hd.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310p/test_operator_transpose.cpptests/api/basic_api/ascendc_case_ascend310p/test_operator_transpose.cpp+1-1
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310p/test_operator_vec_binary.cpptests/api/basic_api/ascendc_case_ascend310p/test_operator_vec_binary.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310p/test_operator_vpadding.cpptests/api/basic_api/ascendc_case_ascend310p/test_operator_vpadding.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310p/test_operator_vscatter.cpptests/api/basic_api/ascendc_case_ascend310p/test_operator_vscatter.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend610/test_scalar.cpptests/api/basic_api/ascendc_case_ascend310p/test_scalar.cpp+127-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310p/test_set_vector_mask.cpptests/api/basic_api/ascendc_case_ascend310p/test_set_vector_mask.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310p/test_spm_buffer.cpptests/api/basic_api/ascendc_case_ascend310p/test_spm_buffer.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310p/test_sys_var.cpptests/api/basic_api/ascendc_case_ascend310p/test_sys_var.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310p/test_tensor_scope.cpptests/api/basic_api/ascendc_case_ascend310p/test_tensor_scope.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend610/test_compare_scalar.cpptests/api/basic_api/ascendc_case_ascend610/test_compare_scalar.cpp+30-9
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend610/test_loaddata_check.cpptests/api/basic_api/ascendc_case_ascend610/test_loaddata_check.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend610/test_mul_add_dst.cpptests/api/basic_api/ascendc_case_ascend610/test_mul_add_dst.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend610/test_operator_MM.cpptests/api/basic_api/ascendc_case_ascend610/test_operator_MM.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend610/test_operator_adddeqrelu.cpptests/api/basic_api/ascendc_case_ascend610/test_operator_adddeqrelu.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend610/test_operator_atomic.cpptests/api/basic_api/ascendc_case_ascend610/test_operator_atomic.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend610/test_operator_cast.cpptests/api/basic_api/ascendc_case_ascend610/test_operator_cast.cpp+2-2
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend610/test_operator_compare.cpptests/api/basic_api/ascendc_case_ascend610/test_operator_compare.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend610/test_operator_determine_compute_sync.cpptests/api/basic_api/ascendc_case_ascend610/test_operator_determine_compute_sync.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend610/test_operator_fixpipe.cpptests/api/basic_api/ascendc_case_ascend610/test_operator_fixpipe.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend610/test_operator_load_data_3dv2.cpptests/api/basic_api/ascendc_case_ascend610/test_operator_load_data_3dv2.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend610/test_operator_load_image.cpptests/api/basic_api/ascendc_case_ascend610/test_operator_load_image.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend610/test_operator_load_unzip.cpptests/api/basic_api/ascendc_case_ascend610/test_operator_load_unzip.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend610/test_operator_nchwconv.cpptests/api/basic_api/ascendc_case_ascend610/test_operator_nchwconv.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend610/test_operator_select.cpptests/api/basic_api/ascendc_case_ascend610/test_operator_select.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend610/test_operator_sort.cpptests/api/basic_api/ascendc_case_ascend610/test_operator_sort.cpp+10-10
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend610/test_operator_vbrcb.cpptests/api/basic_api/ascendc_case_ascend610/test_operator_vbrcb.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend610/test_operator_vec_binary.cpptests/api/basic_api/ascendc_case_ascend610/test_operator_vec_binary.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend610/test_operator_vec_binary_scalar.cpptests/api/basic_api/ascendc_case_ascend610/test_operator_vec_binary_scalar.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend610/test_operator_vec_gather_mask.cpptests/api/basic_api/ascendc_case_ascend610/test_operator_vec_gather_mask.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend610/test_operator_vec_reduce.cpptests/api/basic_api/ascendc_case_ascend610/test_operator_vec_reduce.cpp+56-1
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend610/test_operator_vec_unary.cpptests/api/basic_api/ascendc_case_ascend610/test_operator_vec_unary.cpp+37-19
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend610/test_operator_vgather.cpptests/api/basic_api/ascendc_case_ascend610/test_operator_vgather.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310p/test_scalar.cpptests/api/basic_api/ascendc_case_ascend610/test_scalar.cpp+102-10
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend610/test_symbol_override.cpptests/api/basic_api/ascendc_case_ascend610/test_symbol_override.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend610/test_vec_gather_mask_check.cpptests/api/basic_api/ascendc_case_ascend610/test_vec_gather_mask_check.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend610lite/test_copy.cpptests/api/basic_api/ascendc_case_ascend610lite/test_copy.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend610lite/test_coverage.cpptests/api/basic_api/ascendc_case_ascend610lite/test_coverage.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend610lite/test_data_copy_610lite.cpptests/api/basic_api/ascendc_case_ascend610lite/test_data_copy_610lite.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend610lite/test_operator_compare.cpptests/api/basic_api/ascendc_case_ascend610lite/test_operator_compare.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend610lite/test_operator_fixpipe.cpptests/api/basic_api/ascendc_case_ascend610lite/test_operator_fixpipe.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend610lite/test_operator_loaddata.cpptests/api/basic_api/ascendc_case_ascend610lite/test_operator_loaddata.cpp+54-19
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend610lite/test_operator_select.cpptests/api/basic_api/ascendc_case_ascend610lite/test_operator_select.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend610lite/test_operator_vec_binary.cpptests/api/basic_api/ascendc_case_ascend610lite/test_operator_vec_binary.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend610lite/test_operator_vec_binary_scalar.cpptests/api/basic_api/ascendc_case_ascend610lite/test_operator_vec_binary_scalar.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend610lite/test_operator_vec_cast.cpptests/api/basic_api/ascendc_case_ascend610lite/test_operator_vec_cast.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend610lite/test_operator_vec_duplicate.cpptests/api/basic_api/ascendc_case_ascend610lite/test_operator_vec_duplicate.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend610lite/test_operator_vec_gather_mask.cpptests/api/basic_api/ascendc_case_ascend610lite/test_operator_vec_gather_mask.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend610lite/test_operator_vec_reduce.cpptests/api/basic_api/ascendc_case_ascend610lite/test_operator_vec_reduce.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend610lite/test_operator_vec_ternary_scalar.cpptests/api/basic_api/ascendc_case_ascend610lite/test_operator_vec_ternary_scalar.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend610lite/test_operator_vec_unary.cpptests/api/basic_api/ascendc_case_ascend610lite/test_operator_vec_unary.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910/test_data_copy_pad.cpptests/api/basic_api/ascendc_case_ascend910/test_data_copy_pad.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910/test_loaddata_check.cpptests/api/basic_api/ascendc_case_ascend910/test_loaddata_check.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910/test_operator_cast.cpptests/api/basic_api/ascendc_case_ascend910/test_operator_cast.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910/test_operator_fixpipe.cpptests/api/basic_api/ascendc_case_ascend910/test_operator_fixpipe.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910/test_operator_vec_binary.cpptests/api/basic_api/ascendc_case_ascend910/test_operator_vec_binary.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910/test_operator_vec_binary_scalar.cpptests/api/basic_api/ascendc_case_ascend910/test_operator_vec_binary_scalar.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910/test_operator_vec_unary.cpptests/api/basic_api/ascendc_case_ascend910/test_operator_vec_unary.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910/test_set_vector_mask.cpptests/api/basic_api/ascendc_case_ascend910/test_set_vector_mask.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910/test_symbol_override.cpptests/api/basic_api/ascendc_case_ascend910/test_symbol_override.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aic/test_aic_sub_block_dim.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aic/test_aic_sub_block_dim.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aic/test_clear_workspace.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aic/test_clear_workspace.cpp+1-1
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aic/test_hsync.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aic/test_hsync.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aic/test_kfc_comm_client.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aic/test_kfc_comm_client.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aic/test_localmem_alloc_aic.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aic/test_localmem_alloc_aic.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aic/test_operator_MM.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aic/test_operator_MM.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aic/test_operator_atomic_datacopy.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aic/test_operator_atomic_datacopy.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aic/test_operator_datacopy.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aic/test_operator_datacopy.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aic/test_operator_datacopy_desc.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aic/test_operator_datacopy_desc.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aic/test_operator_fixpipe.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aic/test_operator_fixpipe.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aic/test_operator_fixpipe_v2.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aic/test_operator_fixpipe_v2.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aic/test_operator_load_image.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aic/test_operator_load_image.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aic/test_operator_loaddata.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aic/test_operator_loaddata.cpp+43-12
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aic/test_operator_mmad_int4.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aic/test_operator_mmad_int4.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aic/test_operator_mmad_sp.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aic/test_operator_mmad_sp.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aic/test_reg.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aic/test_reg.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aic/test_tensor_scope.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aic/test_tensor_scope.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aic/test_tque.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aic/test_tque.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aic/test_tscm_data.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aic/test_tscm_data.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310p/test_compare_scalar.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_compare_scalar.cpp+52-25
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_cpu_debug.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_cpu_debug.cpp+17-17
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_data_copy_pad.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_data_copy_pad.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_dma_oom.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_dma_oom.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_dump_tensor.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_dump_tensor.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_ffts_debug.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_ffts_debug.cpp+29-29
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_fused_mul_add.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_fused_mul_add.cpp+25-7
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_kernel_bf16.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_kernel_bf16.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_kfc_comm_client.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_kfc_comm_client.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_loaddata_check.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_loaddata_check.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_localmem_alloc_aiv.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_localmem_alloc_aiv.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_mul_add_dst.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_mul_add_dst.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_operator_adddeqrelu.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_operator_adddeqrelu.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_operator_axpy.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_operator_axpy.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_operator_bilinearinterpalation.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_operator_bilinearinterpalation.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_operator_cache.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_operator_cache.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_operator_cast.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_operator_cast.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_operator_compare.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_operator_compare.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_operator_copy.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_operator_copy.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_operator_createvecindex.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_operator_createvecindex.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_operator_datacopy.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_operator_datacopy.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_operator_datacopy_desc.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_operator_datacopy_desc.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_operator_determine_compute_sync.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_operator_determine_compute_sync.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_operator_duplicate.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_operator_duplicate.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_operator_list_tensor.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_operator_list_tensor.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_operator_mulcast.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_operator_mulcast.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_operator_nchwconv.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_operator_nchwconv.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_operator_object_identification.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_operator_object_identification.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_operator_select.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_operator_select.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_operator_sort.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_operator_sort.cpp+10-10
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_operator_tensortrait.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_operator_tensortrait.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_operator_transpose.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_operator_transpose.cpp+2-2
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_operator_vbrcb.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_operator_vbrcb.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_operator_vec_binary.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_operator_vec_binary.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_operator_vec_binary_desc.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_operator_vec_binary_desc.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_operator_vec_binary_scalar.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_operator_vec_binary_scalar.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_operator_vec_binary_scalar_desc.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_operator_vec_binary_scalar_desc.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_operator_vec_binary_scalar_error.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_operator_vec_binary_scalar_error.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_operator_vec_gather_mask.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_operator_vec_gather_mask.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_operator_vec_reduce.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_operator_vec_reduce.cpp+62-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_operator_vec_setvectormask.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_operator_vec_setvectormask.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_operator_vec_unary.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_operator_vec_unary.cpp+40-19
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_operator_vec_unary_desc.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_operator_vec_unary_desc.cpp+1-1
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_operator_vgather.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_operator_vgather.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_operator_vgatherb.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_operator_vgatherb.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_scalar.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_scalar.cpp+111-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_set_pad_value.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_set_pad_value.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_set_vector_mask.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_set_vector_mask.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_spm_buffer.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_spm_buffer.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_symbol_override.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_symbol_override.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_sync_stub_func.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_sync_stub_func.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_sys_var.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_sys_var.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_tensor_scope.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_tensor_scope.cpp+4-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_tque.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_tque.cpp+1-1
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend910b1/tikcpp_case_ascend910b1_aiv/test_vec_gather_mask_check.cpptests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/test_vec_gather_mask_check.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend610/test_fused_mul_add.cpptests/api/basic_api/ascendc_case_ascend950pr_9599/ascendc_case_ascend950pr_9599_aiv_basic/test_fused_mul_add.cpp+29-11
Rtests/unit/basic_api/ut/testcase/tikcpp_case_common/test_data_copy.cpptests/api/basic_api/ascendc_case_common/test_data_copy.cpp+0-0
Rtests/unit/basic_api/ut/testcase/tikcpp_case_common/test_data_copy_slice.cpptests/api/basic_api/ascendc_case_common/test_data_copy_slice.cpp+0-0
Rtests/unit/basic_api/ut/testcase/tikcpp_case_common/test_kernel_pop_stack_buffer.cpptests/api/basic_api/ascendc_case_common/test_kernel_pop_stack_buffer.cpp+0-0
Rtests/unit/basic_api/ut/testcase/common/test_kernel_tensor.cpptests/api/basic_api/ascendc_case_common/test_kernel_tensor.cpp+0-0
Rtests/unit/basic_api/ut/testcase/common/test_kernel_tensor_desc.cpptests/api/basic_api/ascendc_case_common/test_kernel_tensor_desc.cpp+1-1
Rtests/unit/basic_api/ut/testcase/common/test_kernel_tpipe.cpptests/api/basic_api/ascendc_case_common/test_kernel_tpipe.cpp+7-7
Rtests/unit/basic_api/ut/testcase/tikcpp_case_common/test_operator_axpy.cpptests/api/basic_api/ascendc_case_common/test_operator_axpy.cpp+0-9
Rtests/unit/basic_api/ut/testcase/tikcpp_case_common/test_operator_common.cpptests/api/basic_api/ascendc_case_common/test_operator_common.cpp+0-0
Rtests/unit/basic_api/ut/testcase/tikcpp_case_common/test_operator_conv2d.cpptests/api/basic_api/ascendc_case_common/test_operator_conv2d.cpp+3-3
Rtests/unit/basic_api/ut/testcase/tikcpp_case_common/test_operator_duplicate.cpptests/api/basic_api/ascendc_case_common/test_operator_duplicate.cpp+0-10
Rtests/unit/basic_api/ut/testcase/tikcpp_case_common/test_operator_gemm.cpptests/api/basic_api/ascendc_case_common/test_operator_gemm.cpp+0-0
Rtests/unit/basic_api/ut/testcase/tikcpp_case_common/test_operator_load_data.cpptests/api/basic_api/ascendc_case_common/test_operator_load_data.cpp+0-0
Rtests/unit/basic_api/ut/testcase/tikcpp_case_common/test_operator_nchwconv.cpptests/api/basic_api/ascendc_case_common/test_operator_nchwconv.cpp+0-0
Rtests/unit/basic_api/ut/testcase/tikcpp_case_common/test_operator_proposal.cpptests/api/basic_api/ascendc_case_common/test_operator_proposal.cpp+3-3
Rtests/unit/basic_api/ut/testcase/tikcpp_case_common/test_operator_transpose.cpptests/api/basic_api/ascendc_case_common/test_operator_transpose.cpp+0-0
Rtests/unit/basic_api/ut/testcase/tikcpp_case_common/test_operator_vec_sigmoid.cpptests/api/basic_api/ascendc_case_common/test_operator_vec_sigmoid.cpp+0-0
Rtests/unit/basic_api/ut/testcase/tikcpp_case_common/test_process_lock.cpptests/api/basic_api/ascendc_case_common/test_process_lock.cpp+0-0
Rtests/unit/basic_api/ut/testcase/common/test_type_check.cpptests/api/basic_api/ascendc_case_common/test_type_check.cpp+0-0
Rtests/unit/basic_api/ut/testcase/test_operator_vec_binary.htests/api/basic_api/common/test_operator_vec_binary.h+0-0
Rtests/unit/basic_api/ut/testcase/test_symbol_override.htests/api/basic_api/common/test_symbol_override.h+0-0
Rtests/unit/basic_api/ut/testcase/test_utils.htests/api/basic_api/common/test_utils.h+0-0
Rtests/unit/basic_api/ut/testcase/c_api/CMakeLists.txttests/api/c_api/CMakeLists.txt+23-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/cache_ctrl/test_asc_data_cache_preload.cpptests/api/c_api/npu_arch_2201/cache_ctrl/test_asc_data_cache_preload.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/cache_ctrl/test_dcci.cpptests/api/c_api/npu_arch_2201/cache_ctrl/test_dcci.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/cache_ctrl/test_get_icache_preload_status.cpptests/api/c_api/npu_arch_2201/cache_ctrl/test_get_icache_preload_status.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/cache_ctrl/test_icache_preload.cpptests/api/c_api/npu_arch_2201/cache_ctrl/test_icache_preload.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/cube_compute/test_asc_clz_impl.cpptests/api/c_api/npu_arch_2201/cube_compute/test_asc_clz_impl.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/cube_compute/test_enable_hf32.cpptests/api/c_api/npu_arch_2201/cube_compute/test_enable_hf32.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/cube_compute/test_enable_hf32_trans.cpptests/api/c_api/npu_arch_2201/cube_compute/test_enable_hf32_trans.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/cube_compute/test_mmad.cpptests/api/c_api/npu_arch_2201/cube_compute/test_mmad.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/cube_compute/test_mmad_sparse.cpptests/api/c_api/npu_arch_2201/cube_compute/test_mmad_sparse.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/cube_compute/test_set_fp32_mode.cpptests/api/c_api/npu_arch_2201/cube_compute/test_set_fp32_mode.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/cube_compute/test_set_l13d_padding.cpptests/api/c_api/npu_arch_2201/cube_compute/test_set_l13d_padding.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/cube_compute/test_set_mm_transform.cpptests/api/c_api/npu_arch_2201/cube_compute/test_set_mm_transform.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/cube_datamove/test_asc_copy_gm2l1.cpptests/api/c_api/npu_arch_2201/cube_datamove/test_asc_copy_gm2l1.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/cube_datamove/test_asc_copy_gm2l1_nd2nz.cpptests/api/c_api/npu_arch_2201/cube_datamove/test_asc_copy_gm2l1_nd2nz.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/cube_datamove/test_asc_copy_l12bt.cpptests/api/c_api/npu_arch_2201/cube_datamove/test_asc_copy_l12bt.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/cube_datamove/test_asc_copy_l12fb.cpptests/api/c_api/npu_arch_2201/cube_datamove/test_asc_copy_l12fb.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/cube_datamove/test_copy_l12l0.cpptests/api/c_api/npu_arch_2201/cube_datamove/test_copy_l12l0.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/cube_datamove/test_copy_l12l0b_sparse.cpptests/api/c_api/npu_arch_2201/cube_datamove/test_copy_l12l0b_sparse.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/cube_datamove/test_copy_l12l0b_trans.cpptests/api/c_api/npu_arch_2201/cube_datamove/test_copy_l12l0b_trans.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/cube_datamove/test_fill_l0a_value.cpptests/api/c_api/npu_arch_2201/cube_datamove/test_fill_l0a_value.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/cube_datamove/test_fill_l0b_value.cpptests/api/c_api/npu_arch_2201/cube_datamove/test_fill_l0b_value.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/cube_datamove/test_fill_l1_value.cpptests/api/c_api/npu_arch_2201/cube_datamove/test_fill_l1_value.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/cube_datamove/test_asc_copy_l0c2l1.cpptests/api/c_api/npu_arch_2201/cube_datamove/test_fixpipe_l0c2l1.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/cube_datamove/test_asc_copy_l0c2gm.cpptests/api/c_api/npu_arch_2201/cube_datamove/test_fixpipe_l0c2out.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/cube_datamove/test_load_image_to_cbuf.cpptests/api/c_api/npu_arch_2201/cube_datamove/test_load_image_to_cbuf.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/cube_datamove/test_set_l0c_copy_params.cpptests/api/c_api/npu_arch_2201/cube_datamove/test_set_l0c_copy_params.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/cube_datamove/test_set_l0c_copy_prequant.cpptests/api/c_api/npu_arch_2201/cube_datamove/test_set_l0c_copy_prequant.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/cube_datamove/test_set_l1_3d_rpt.cpptests/api/c_api/npu_arch_2201/cube_datamove/test_set_l1_3d_rpt.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/cube_datamove/test_set_l1_3d_size.cpptests/api/c_api/npu_arch_2201/cube_datamove/test_set_l1_3d_size.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/scalar_compute/test_ffs.cpptests/api/c_api/npu_arch_2201/scalar_compute/test_ffs.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/scalar_compute/test_ffz.cpptests/api/c_api/npu_arch_2201/scalar_compute/test_ffz.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/scalar_compute/test_sflbits.cpptests/api/c_api/npu_arch_2201/scalar_compute/test_sflbits.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/scalar_compute/test_zero_bits_cnt.cpptests/api/c_api/npu_arch_2201/scalar_compute/test_zero_bits_cnt.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/simd_atomic/test_get_st_atomic_cfg.cpptests/api/c_api/npu_arch_2201/simd_atomic/test_get_st_atomic_cfg.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/simd_atomic/test_popc.cpptests/api/c_api/npu_arch_2201/simd_atomic/test_popc.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/simd_atomic/test_set_atomic_add_bfloat.cpptests/api/c_api/npu_arch_2201/simd_atomic/test_set_atomic_add_bfloat.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/simd_atomic/test_set_atomic_add_float.cpptests/api/c_api/npu_arch_2201/simd_atomic/test_set_atomic_add_float.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/simd_atomic/test_set_atomic_add_float16.cpptests/api/c_api/npu_arch_2201/simd_atomic/test_set_atomic_add_float16.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/simd_atomic/test_set_atomic_add_int.cpptests/api/c_api/npu_arch_2201/simd_atomic/test_set_atomic_add_int.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/simd_atomic/test_set_atomic_add_int16.cpptests/api/c_api/npu_arch_2201/simd_atomic/test_set_atomic_add_int16.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/simd_atomic/test_set_atomic_add_int8.cpptests/api/c_api/npu_arch_2201/simd_atomic/test_set_atomic_add_int8.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/simd_atomic/test_set_atomic_max_bfloat.cpptests/api/c_api/npu_arch_2201/simd_atomic/test_set_atomic_max_bfloat.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/simd_atomic/test_set_atomic_max_float.cpptests/api/c_api/npu_arch_2201/simd_atomic/test_set_atomic_max_float.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/simd_atomic/test_set_atomic_max_float16.cpptests/api/c_api/npu_arch_2201/simd_atomic/test_set_atomic_max_float16.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/simd_atomic/test_set_atomic_max_int.cpptests/api/c_api/npu_arch_2201/simd_atomic/test_set_atomic_max_int.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/simd_atomic/test_set_atomic_max_int16.cpptests/api/c_api/npu_arch_2201/simd_atomic/test_set_atomic_max_int16.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/simd_atomic/test_set_atomic_max_int8.cpptests/api/c_api/npu_arch_2201/simd_atomic/test_set_atomic_max_int8.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/simd_atomic/test_set_atomic_min_bfloat.cpptests/api/c_api/npu_arch_2201/simd_atomic/test_set_atomic_min_bfloat.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/simd_atomic/test_set_atomic_min_float.cpptests/api/c_api/npu_arch_2201/simd_atomic/test_set_atomic_min_float.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/simd_atomic/test_set_atomic_min_float16.cpptests/api/c_api/npu_arch_2201/simd_atomic/test_set_atomic_min_float16.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/simd_atomic/test_set_atomic_min_int.cpptests/api/c_api/npu_arch_2201/simd_atomic/test_set_atomic_min_int.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/simd_atomic/test_set_atomic_min_int16.cpptests/api/c_api/npu_arch_2201/simd_atomic/test_set_atomic_min_int16.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/simd_atomic/test_set_atomic_min_int8.cpptests/api/c_api/npu_arch_2201/simd_atomic/test_set_atomic_min_int8.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/sync/test_sync_data_barrier.cpptests/api/c_api/npu_arch_2201/sync/test_sync_data_barrier.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/sys_var/test_get_arch_ver.cpptests/api/c_api/npu_arch_2201/sys_var/test_get_arch_ver.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/sys_var/test_get_core_id.cpptests/api/c_api/npu_arch_2201/sys_var/test_get_core_id.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/sys_var/test_get_ctrl.cpptests/api/c_api/npu_arch_2201/sys_var/test_get_ctrl.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/sys_var/test_get_imm.cpptests/api/c_api/npu_arch_2201/sys_var/test_get_imm.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/sys_var/test_get_overflow_status.cpptests/api/c_api/npu_arch_2201/sys_var/test_get_overflow_status.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/sys_var/test_get_program_counter.cpptests/api/c_api/npu_arch_2201/sys_var/test_get_program_counter.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/sys_var/test_get_sub_block_id.cpptests/api/c_api/npu_arch_2201/sys_var/test_get_sub_block_id.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/sys_var/test_get_sub_block_num.cpptests/api/c_api/npu_arch_2201/sys_var/test_get_sub_block_num.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/sys_var/test_get_sys_cnt.cpptests/api/c_api/npu_arch_2201/sys_var/test_get_sys_cnt.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/sys_var/test_set_ctrl.cpptests/api/c_api/npu_arch_2201/sys_var/test_set_ctrl.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/utils/test_binary_instr_diff_types.htests/api/c_api/npu_arch_2201/utils/test_binary_instr_diff_types.h+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/utils/test_binary_instr_utils.htests/api/c_api/npu_arch_2201/utils/test_binary_instr_utils.h+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/utils/test_conv_instr_utils.htests/api/c_api/npu_arch_2201/utils/test_conv_instr_utils.h+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/utils/test_copy_instr_utils.htests/api/c_api/npu_arch_2201/utils/test_copy_instr_utils.h+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/utils/test_copy_l0c2l1_instr_utils.htests/api/c_api/npu_arch_2201/utils/test_copy_l0c2l1_instr_utils.h+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/utils/test_mmad_instr_utils.htests/api/c_api/npu_arch_2201/utils/test_mmad_instr_utils.h+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/utils/test_unary_instr_utils.htests/api/c_api/npu_arch_2201/utils/test_unary_instr_utils.h+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/utils/test_unary_normal_instr_utils.htests/api/c_api/npu_arch_2201/utils/test_unary_normal_instr_utils.h+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/utils/test_unary_scalar_instr_utils.htests/api/c_api/npu_arch_2201/utils/test_unary_scalar_instr_utils.h+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/utils/test_vcmp_instr_utils.htests/api/c_api/npu_arch_2201/utils/test_vcmp_instr_utils.h+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/utils/test_vcmpv_instr_utils.htests/api/c_api/npu_arch_2201/utils/test_vcmpv_instr_utils.h+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/utils/test_vcmpvs_instr_utils.htests/api/c_api/npu_arch_2201/utils/test_vcmpvs_instr_utils.h+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_add_instr.cpptests/api/c_api/npu_arch_2201/vector_compute/test_add_instr.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_add_scalar_instr.cpptests/api/c_api/npu_arch_2201/vector_compute/test_add_scalar_instr.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_and.cpptests/api/c_api/npu_arch_2201/vector_compute/test_and.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_asc_add_relu.cpptests/api/c_api/npu_arch_2201/vector_compute/test_asc_add_relu.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_asc_eq.cpptests/api/c_api/npu_arch_2201/vector_compute/test_asc_eq.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_asc_ge.cpptests/api/c_api/npu_arch_2201/vector_compute/test_asc_ge.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_asc_gt.cpptests/api/c_api/npu_arch_2201/vector_compute/test_asc_gt.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_asc_half2int8.cpptests/api/c_api/npu_arch_2201/vector_compute/test_asc_half2int8.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_asc_int642float.cpptests/api/c_api/npu_arch_2201/vector_compute/test_asc_int642float.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_asc_le.cpptests/api/c_api/npu_arch_2201/vector_compute/test_asc_le.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_asc_le_scalar.cpptests/api/c_api/npu_arch_2201/vector_compute/test_asc_le_scalar.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_asc_max_scalar.cpptests/api/c_api/npu_arch_2201/vector_compute/test_asc_max_scalar.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_asc_min_scalar.cpptests/api/c_api/npu_arch_2201/vector_compute/test_asc_min_scalar.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_asc_mrgsort4_instr.cpptests/api/c_api/npu_arch_2201/vector_compute/test_asc_mrgsort4_instr.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_asc_mul_add_relu.cpptests/api/c_api/npu_arch_2201/vector_compute/test_asc_mul_add_relu.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_asc_not.cpptests/api/c_api/npu_arch_2201/vector_compute/test_asc_not.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_asc_relu.cpptests/api/c_api/npu_arch_2201/vector_compute/test_asc_relu.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_asc_rsqrt.cpptests/api/c_api/npu_arch_2201/vector_compute/test_asc_rsqrt.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_asc_sub_relu.cpptests/api/c_api/npu_arch_2201/vector_compute/test_asc_sub_relu.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_axpy_instr.cpptests/api/c_api/npu_arch_2201/vector_compute/test_axpy_instr.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_bf162f32.cpptests/api/c_api/npu_arch_2201/vector_compute/test_bf162f32.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_bf162s32.cpptests/api/c_api/npu_arch_2201/vector_compute/test_bf162s32.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_bitsort_instr.cpptests/api/c_api/npu_arch_2201/vector_compute/test_bitsort_instr.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_block_reduce_instr.cpptests/api/c_api/npu_arch_2201/vector_compute/test_block_reduce_instr.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_clear_nthbit.cpptests/api/c_api/npu_arch_2201/vector_compute/test_clear_nthbit.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_conv162fp16.cpptests/api/c_api/npu_arch_2201/vector_compute/test_conv162fp16.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_conv_deq_instr.cpptests/api/c_api/npu_arch_2201/vector_compute/test_conv_deq_instr.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_conv_int82half_instr.cpptests/api/c_api/npu_arch_2201/vector_compute/test_conv_int82half_instr.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_div_instr.cpptests/api/c_api/npu_arch_2201/vector_compute/test_div_instr.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_exp_instr.cpptests/api/c_api/npu_arch_2201/vector_compute/test_exp_instr.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_f162f32.cpptests/api/c_api/npu_arch_2201/vector_compute/test_f162f32.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_f162s16.cpptests/api/c_api/npu_arch_2201/vector_compute/test_f162s16.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_f162s32.cpptests/api/c_api/npu_arch_2201/vector_compute/test_f162s32.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_f162s4.cpptests/api/c_api/npu_arch_2201/vector_compute/test_f162s4.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_f162u8.cpptests/api/c_api/npu_arch_2201/vector_compute/test_f162u8.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_f322bf16.cpptests/api/c_api/npu_arch_2201/vector_compute/test_f322bf16.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_f322f16.cpptests/api/c_api/npu_arch_2201/vector_compute/test_f322f16.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_f322f32.cpptests/api/c_api/npu_arch_2201/vector_compute/test_f322f32.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_float2int32_float2int64_instr.cpptests/api/c_api/npu_arch_2201/vector_compute/test_float2int32_float2int64_instr.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_fma.cpptests/api/c_api/npu_arch_2201/vector_compute/test_fma.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_ge_scalar.cpptests/api/c_api/npu_arch_2201/vector_compute/test_ge_scalar.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_get_cmp_mask.cpptests/api/c_api/npu_arch_2201/vector_compute/test_get_cmp_mask.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_get_max_min_cnt.cpptests/api/c_api/npu_arch_2201/vector_compute/test_get_max_min_cnt.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_get_rsvd_cnt.cpptests/api/c_api/npu_arch_2201/vector_compute/test_get_rsvd_cnt.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_get_vms4_sr.cpptests/api/c_api/npu_arch_2201/vector_compute/test_get_vms4_sr.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_gt_scalar_instr.cpptests/api/c_api/npu_arch_2201/vector_compute/test_gt_scalar_instr.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_leakyrelu.cpptests/api/c_api/npu_arch_2201/vector_compute/test_leakyrelu.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_lt_scalar.cpptests/api/c_api/npu_arch_2201/vector_compute/test_lt_scalar.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_max_instr.cpptests/api/c_api/npu_arch_2201/vector_compute/test_max_instr.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_min_instr.cpptests/api/c_api/npu_arch_2201/vector_compute/test_min_instr.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_mul_cast.cpptests/api/c_api/npu_arch_2201/vector_compute/test_mul_cast.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_mul_instr.cpptests/api/c_api/npu_arch_2201/vector_compute/test_mul_instr.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_mul_scalar_instr.cpptests/api/c_api/npu_arch_2201/vector_compute/test_mul_scalar_instr.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_ne.cpptests/api/c_api/npu_arch_2201/vector_compute/test_ne.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_reduce_instr.cpptests/api/c_api/npu_arch_2201/vector_compute/test_reduce_instr.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_relu_conv_instr.cpptests/api/c_api/npu_arch_2201/vector_compute/test_relu_conv_instr.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_repeat_reduce_instr.cpptests/api/c_api/npu_arch_2201/vector_compute/test_repeat_reduce_instr.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_repeat_reduce_sum_instr.cpptests/api/c_api/npu_arch_2201/vector_compute/test_repeat_reduce_sum_instr.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_s42f16.cpptests/api/c_api/npu_arch_2201/vector_compute/test_s42f16.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_select.cpptests/api/c_api/npu_arch_2201/vector_compute/test_select.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_set_atomic_none.cpptests/api/c_api/npu_arch_2201/vector_compute/test_set_atomic_none.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_set_cmp_mask.cpptests/api/c_api/npu_arch_2201/vector_compute/test_set_cmp_mask.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_set_deq_scale.cpptests/api/c_api/npu_arch_2201/vector_compute/test_set_deq_scale.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_set_mask_count.cpptests/api/c_api/npu_arch_2201/vector_compute/test_set_mask_count.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_set_mask_norm.cpptests/api/c_api/npu_arch_2201/vector_compute/test_set_mask_norm.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_set_nthbit.cpptests/api/c_api/npu_arch_2201/vector_compute/test_set_nthbit.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_set_va_reg.cpptests/api/c_api/npu_arch_2201/vector_compute/test_set_va_reg.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_set_vector_mask.cpptests/api/c_api/npu_arch_2201/vector_compute/test_set_vector_mask.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_sub_instr.cpptests/api/c_api/npu_arch_2201/vector_compute/test_sub_instr.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_sub_scalar_instr.cpptests/api/c_api/npu_arch_2201/vector_compute/test_sub_scalar_instr.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_transpose.cpptests/api/c_api/npu_arch_2201/vector_compute/test_transpose.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_transto5hd.cpptests/api/c_api/npu_arch_2201/vector_compute/test_transto5hd.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_vabs_instr.cpptests/api/c_api/npu_arch_2201/vector_compute/test_vabs_instr.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_vbrcb_instr.cpptests/api/c_api/npu_arch_2201/vector_compute/test_vbrcb_instr.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_vcmp_lt_instr.cpptests/api/c_api/npu_arch_2201/vector_compute/test_vcmp_lt_instr.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_vcmpvs_eq_instr.cpptests/api/c_api/npu_arch_2201/vector_compute/test_vcmpvs_eq_instr.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_vconv_float2int16.cpptests/api/c_api/npu_arch_2201/vector_compute/test_vconv_float2int16.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_vconv_s322f32.cpptests/api/c_api/npu_arch_2201/vector_compute/test_vconv_s322f32.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_vdeq_instr.cpptests/api/c_api/npu_arch_2201/vector_compute/test_vdeq_instr.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_vector_dup_instr.cpptests/api/c_api/npu_arch_2201/vector_compute/test_vector_dup_instr.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_vgather_instr.cpptests/api/c_api/npu_arch_2201/vector_compute/test_vgather_instr.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_vgatherb_instr.cpptests/api/c_api/npu_arch_2201/vector_compute/test_vgatherb_instr.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_vlog_instr.cpptests/api/c_api/npu_arch_2201/vector_compute/test_vlog_instr.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_vmadd_instr.cpptests/api/c_api/npu_arch_2201/vector_compute/test_vmadd_instr.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_vor_instr.cpptests/api/c_api/npu_arch_2201/vector_compute/test_vor_instr.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_vrec_instr.cpptests/api/c_api/npu_arch_2201/vector_compute/test_vrec_instr.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_vshl_instr.cpptests/api/c_api/npu_arch_2201/vector_compute/test_vshl_instr.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_vshr_instr.cpptests/api/c_api/npu_arch_2201/vector_compute/test_vshr_instr.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_compute/test_vsqrt_instr.cpptests/api/c_api/npu_arch_2201/vector_compute/test_vsqrt_instr.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_datamove/test_copy_gm_to_ub_align_instr.cpptests/api/c_api/npu_arch_2201/vector_datamove/test_copy_gm_to_ub_align_instr.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_datamove/test_copy_gm_to_ubuf_instr.cpptests/api/c_api/npu_arch_2201/vector_datamove/test_copy_gm_to_ubuf_instr.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_datamove/test_copy_ubuf_to_gm_align_instr.cpptests/api/c_api/npu_arch_2201/vector_datamove/test_copy_ubuf_to_gm_align_instr.cpp+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/vector_datamove/test_copy_ubuf_to_gm_instr.cpptests/api/c_api/npu_arch_2201/vector_datamove/test_copy_ubuf_to_gm_instr.cpp+0-0
Rtests/unit/basic_api/common/alog_stub.cpptests/api/common/alog_stub.cpp+0-0
Rtests/unit/basic_api/ut/common/common.cpptests/api/common/common.cpp+0-0
Rtests/unit/basic_api/ut/common/common.htests/api/common/common.h+0-0
Rtests/unit/basic_api/common/dlog_stub.cpptests/api/common/dlog_stub.cpp+0-0
Rtests/unit/basic_api/common/k3_pvwrap.cpptests/api/common/k3_pvwrap.cpp+0-0
Rtests/unit/basic_api/common/k3_pvwrap.htests/api/common/k3_pvwrap.h+0-0
Rtests/unit/basic_api/common/platform_stub.cpptests/api/common/platform_stub.cpp+22-7
Rtests/unit/common/platform_stub.htests/api/common/platform_stub.h+3-0
Rtests/unit/basic_api/common/tik_pv_wrapper.cpptests/api/common/tik_pv_wrapper.cpp+0-0
Rtests/unit/basic_api/common/tik_pv_wrapper.htests/api/common/tik_pv_wrapper.h+0-0
Atests/api/micro_api/ascendc_case_mc62cm12aa_micro/test_operator_micro_cast.cpp+412-0文件内容审核中,请稍后刷新重试
Atests/api/micro_api/ascendc_case_mc62cm12aa_micro/test_operator_micro_cmp.cpp+288-0文件内容审核中,请稍后刷新重试
Atests/api/micro_api/ascendc_case_mc62cm12aa_micro/test_operator_micro_mask.cpp+238-0文件内容审核中,请稍后刷新重试
Rtests/unit/utils/std/cmath/test_abs.cpptests/api/utils/std/cmath/test_abs.cpp+0-0
Rtests/unit/utils/std/cmath/test_sqrt.cpptests/api/utils/std/cmath/test_sqrt.cpp+0-0
Rtests/unit/utils/std/sequence/test_sequence.cpptests/api/utils/std/sequence/test_sequence.cpp+0-0
Rtests/unit/utils/std/tuple/test_operator_tuple.cpptests/api/utils/std/tuple/test_operator_tuple.cpp+0-0
Rtests/unit/utils/std/type_traits/test_operator_conditional.cpptests/api/utils/std/type_traits/test_operator_conditional.cpp+0-0
Rtests/unit/utils/std/type_traits/test_operator_enable_if.cpptests/api/utils/std/type_traits/test_operator_enable_if.cpp+0-0
Rtests/unit/utils/std/type_traits/test_operator_integral_constant.cpptests/api/utils/std/type_traits/test_operator_integral_constant.cpp+0-0
Rtests/unit/utils/std/type_traits/test_operator_is_base_of.cpptests/api/utils/std/type_traits/test_operator_is_base_of.cpp+0-0
Rtests/unit/utils/std/type_traits/test_operator_is_convertible.cpptests/api/utils/std/type_traits/test_operator_is_convertible.cpp+0-0
Rtests/unit/utils/std/type_traits/test_operator_is_one_of.cpptests/api/utils/std/type_traits/test_operator_is_one_of.cpp+0-0
Rtests/unit/utils/std/type_traits/test_operator_is_same.cpptests/api/utils/std/type_traits/test_operator_is_same.cpp+0-0
Rtests/unit/basic_api/ut/testcase/tikcpp_tiling/test_tiling.cpptests/api/utils/tiling/test_tiling.cpp+10-4
Rtests/unit/basic_api/ut/testcase/tikcpp_tiling/test_tpl_tiling_key_debug.cpptests/api/utils/tiling/test_tpl_tiling_key_debug.cpp+1-1
Rtests/unit/basic_api/ut/testcase/tikcpp_tiling/test_tpl_tiling_key_release.cpptests/api/utils/tiling/test_tpl_tiling_key_release.cpp+0-0
Rtests/unit/CMakeLists.txttests/cmake/config.cmake+8-15
Rtests/unit/basic_api/cmake/func.cmaketests/cmake/func.cmake+10-11
Rtests/unit/basic_api/cmake/intf.cmaketests/cmake/intf.cmake+31-5
Rtests/unit/basic_api/cmake/tools/comm_log.shtests/cmake/scripts/comm_log.sh+0-2
Rtests/unit/cmake/scripts/generate_cpp_cov.shtests/cmake/scripts/generate_cpp_cov.sh+5-10文件内容审核中,请稍后刷新重试
Rtests/unit/basic_api/cmake/tools/python_llt_run_and_check.shtests/cmake/scripts/python_llt_run_and_check.sh+0-0
Rtests/unit/cmake/scripts/util.shtests/cmake/scripts/util.sh+0-2
Rtests/unit/basic_api/third_party/boost.cmaketests/cmake/third_party/boost.cmake+5-4
Rtests/unit/basic_api/third_party/mockcpp.cmaketests/cmake/third_party/mockcpp.cmake+47-31
Rtests/unit/adv_api/tiling/main.cpptests/main.cpp+0-0
Rtests/unit/adv_api/main_global.cpptests/main_global.cpp+2-2
Rtests/unit/basic_api/cmake/config.cmaketests/python/asc_opc/stub/tbe/common/platform/platform.py+4-7
Rtests/unit/basic_api/CMakeLists.txttests/python/asc_opc/stub/tbe/tvm/tensor.py+15-13
Rtests/unit/basic_api/common/ci/install_files.shtests/python/ci/install_files.sh+0-0
Rtests/unit/basic_api/common/ci/set_python_env.shtests/python/ci/set_python_env.sh+0-0
Rtests/unit/basic_api/py_ut/testcase/compile_trace_log/empty_golden.jsontests/python/compile_trace_log/empty_golden.json+0-0
Rtests/unit/basic_api/py_ut/testcase/compile_trace_log/test_compile_trace_log.pytests/python/compile_trace_log/test_compile_trace_log.py+5-1
Rtests/unit/basic_api/py_ut/testcase/compile_trace_log/unvalid.txttests/python/compile_trace_log/unvalid.txt+0-0
Rtests/unit/basic_api/py_ut/testcase/compile_trace_log/unvalid_golden.jsontests/python/compile_trace_log/unvalid_golden.json+0-0
Rtests/unit/basic_api/py_ut/testcase/compile_trace_log/valid.txttests/python/compile_trace_log/valid.txt+0-0
Rtests/unit/basic_api/py_ut/testcase/compile_trace_log/valid_golden.jsontests/python/compile_trace_log/valid_golden.json+0-0
Rtests/unit/basic_api/ut/testcase/aclrtc/stub/asrtc.cpptests/tools/aclrtc/stub/asrtc.cpp+0-0
Rtests/unit/basic_api/ut/testcase/aclrtc/stub/asrtc.htests/tools/aclrtc/stub/asrtc.h+0-0
Rtests/unit/basic_api/ut/testcase/aclrtc/test_acl_rt_compile.cpptests/tools/aclrtc/test_acl_rt_compile.cpp+38-3
Rtests/unit/basic_api/ut/main.cpptests/tools/ascc/clang/Sema/Sema.h+4-6
Rtests/unit/common/k3_pvwrap.cpptests/tools/ascc/hello_world/hello_world.cpp+21-36
Rtests/unit/basic_api/ut/testcase/ascendc_kernel/test_elf_tool.cpptests/tools/utils/asc_pack_kernel/test_pack_kernel.cpp+8-145
Rtests/unit/basic_api/ut/testcase/ascendc_kernel/test_aicpu_rt.cpptests/tools/utils/asc_rt/test_aicpu_rt.cpp+0-0
Rtests/unit/basic_api/ut/testcase/ascendc_kernel/test_ascendc_runtime.cpptests/tools/utils/asc_rt/test_ascendc_runtime.cpp+325-22
Rtests/unit/basic_api/ut/testcase/ascendc_kernel/elf_tools.txttests/tools/utils/elf_tool/elf_tools.txt+0-0
Rtests/unit/basic_api/ascendc_kernel_header/acl_rt_stub.cpptests/tools/utils/stub/acl_rt_stub.cpp+72-0
Rtests/unit/basic_api/ascendc_kernel_header/kernel_stub.cpptests/tools/utils/stub/kernel_stub.cpp+0-0
Rtests/unit/basic_api/ascendc_kernel_header/mem_stub.cpptests/tools/utils/stub/mem_stub.cpp+0-73
Rtests/unit/basic_api/ascendc_kernel_header/prof_api_stub.cpptests/tools/utils/stub/prof_api_stub.cpp+0-0
Rtests/unit/basic_api/ascendc_kernel_header/rt_ffts_stub.cpptests/tools/utils/stub/rt_ffts_stub.cpp+0-0