已合并
refactor tests #197
吴洋创建于 1月30日
refactor tests #197
已合并
共 1409 个文件变更+135654-21220
| @@ -436,23 +436,19 @@ function build_test() { | |||
| 436 | } | 436 | } |
| 437 | 437 | ||
| 438 | function build_test_part() { | 438 | function build_test_part() { |
| 439 | - if [[ "$TEST_PART" == "adv_test" ]]; then | 439 | + 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.sh | 441 | + if [ "$TEST_PART" == "adv_test" ]; then |
| 446 | - | 442 | + TEST_TARGET_LIST=("${adv_test_targets[@]}") |
| 447 | - if [ "$TEST_PART" == "basic_test_one" ]; then | 443 | + 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" ]; then | 445 | 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" ]; then | 447 | elif [ "$TEST_PART" == "basic_test_three" ]; then |
| 452 | - BASIC_TEST_PART=("${test_three_targets[@]}") | 448 | + TEST_TARGET_LIST=("${basic_test_three_targets[@]}") |
| 453 | fi | 449 | fi |
| 454 | 450 | ||
| 455 | - for tag in "${BASIC_TEST_PART[@]}"; do | 451 | + 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 | done | 454 | done |
| @@ -10,4 +10,16 @@ | |||
| 10 | project(ascendc_tests) | 10 | project(ascendc_tests) |
| 11 | cmake_minimum_required(VERSION 3.16.0) | 11 | cmake_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) | ||
| @@ -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 of | 3 | # 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 -e | 13 | +add_subdirectory(adv_api) |
| 13 | - | 14 | +add_subdirectory(aicpu_api) |
| 14 | -test_one_targets=( | 15 | +add_subdirectory(basic_api) |
| 15 | - tikcpp_utest_ascend910 | 16 | +add_subdirectory(c_api) |
| 16 | - # tikcpp_utest_compile_trace_log | 17 | +add_subdirectory(tensor_api) |
| 17 | - # tikcpp_utest_ascend910 | 18 | +add_subdirectory(micro_api) |
| 18 | - # tikcpp_utest_ascend610 | 19 | +add_subdirectory(simt_api) |
| 19 | - # tikcpp_utest_ascend310p | 20 | +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.cpp→tests/api/adv_api/activation/geglu/test_operator_geglu.cpp+4-0
| @@ -18,6 +18,10 @@ | |||
| 18 | using namespace std; | 18 | using namespace std; |
| 19 | using namespace AscendC; | 19 | using namespace AscendC; |
| 20 | 20 | ||
| 21 | + | ||
| 22 | +constexpr uint32_t GEGLU_HALF_BUFFER_SIZE = 8; // 1 half data needs 2 float tmpbuffer which is 8 uint8 size | ||
| 23 | + | ||
| 24 | + | ||
| 21 | enum TestMode { | 25 | enum 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.cpp→tests/api/adv_api/activation/gelu/test_operator_fast_gelu.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/activation/gelu/test_operator_fast_gelu_v2.cpp→tests/api/adv_api/activation/gelu/test_operator_fast_gelu_v2.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/activation/gelu/test_operator_gelu.cpp→tests/api/adv_api/activation/gelu/test_operator_gelu.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/activation/reglu/test_operator_reglu.cpp→tests/api/adv_api/activation/reglu/test_operator_reglu.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/activation/sigmoid/test_operator_vec_sigmoid.cpp→tests/api/adv_api/activation/sigmoid/test_operator_vec_sigmoid.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/activation/silu/test_operator_silu.cpp→tests/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 | + | ||
| 11 | + | ||
| 12 | + | ||
| 13 | + | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 17 | + | ||
| 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.cpp→tests/api/adv_api/activation/softmax/test_operator_softmax_v220.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/activation/softmax/test_operator_softmax_v300.cpp→tests/api/adv_api/activation/softmax/test_operator_softmax_v300.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/activation/softmax/test_operator_softmaxflashv3_v220.cpp→tests/api/adv_api/activation/softmax/test_operator_softmaxflashv3_v220.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/activation/swiglu/test_operator_swiglu.cpp→tests/api/adv_api/activation/swiglu/test_operator_swiglu.cpp+3-0
| @@ -14,6 +14,9 @@ | |||
| 14 | */ | 14 | */ |
| 15 | 15 | ||
| 16 | 16 | ||
| 17 | + | ||
| 18 | +constexpr uint32_t SWIGLU_HALF_BUFFER_SIZE = 8; // 1 half data needs 2 float tmpbuffer which is 8 uint8 size | ||
| 19 | + | ||
| 17 | using namespace std; | 20 | using namespace std; |
| 18 | using namespace AscendC; | 21 | using namespace AscendC; |
| 19 | 22 | ||
Rtests/unit/adv_api/activation/swish/test_operator_swish.cpp→tests/api/adv_api/activation/swish/test_operator_swish.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/api_check/activation/geglu/kernel_geglu_check.cpp→tests/api/adv_api/api_check/activation/geglu/kernel_geglu_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class GeGLUAPICheck : public testing::Test { | 19 | class GeGLUAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/activation/gelu/kernel_faster_gelu_check.cpp→tests/api/adv_api/api_check/activation/gelu/kernel_faster_gelu_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class FasterGeluAPICheck : public testing::Test { | 19 | class FasterGeluAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/activation/gelu/kernel_faster_geluv2_check.cpp→tests/api/adv_api/api_check/activation/gelu/kernel_faster_geluv2_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class FasterGeluV2APICheck : public testing::Test { | 19 | class FasterGeluV2APICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/activation/gelu/kernel_gelu_check.cpp→tests/api/adv_api/api_check/activation/gelu/kernel_gelu_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class GeluAPICheck : public testing::Test { | 19 | class GeluAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/activation/reglu/kernel_reglu_check.cpp→tests/api/adv_api/api_check/activation/reglu/kernel_reglu_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class ReGluAPICheck : public testing::Test { | 19 | class ReGluAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/activation/sigmoid/kernel_sigmoid_check.cpp→tests/api/adv_api/api_check/activation/sigmoid/kernel_sigmoid_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class SigmoidAPICheck : public testing::Test { | 19 | class SigmoidAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/activation/silu/kernel_silu_check.cpp→tests/api/adv_api/api_check/activation/silu/kernel_silu_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class SiluAPICheck : public testing::Test { | 19 | class SiluAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/activation/softmax/adjust_softmax_res/kernel_adjust_softmax_res_check.cpp→tests/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 | 11 | ||
| 12 | 12 | ||
| 13 | + | ||
| 14 | + | ||
| 15 | + | ||
| 13 | 16 | ||
| 14 | 17 | ||
| 15 | class AdjustSoftMaxResAPICheck : public testing::Test { | 18 | class AdjustSoftMaxResAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/activation/softmax/log_softmax/kernel_log_softmax_check.cpp→tests/api/adv_api/api_check/activation/softmax/log_softmax/kernel_log_softmax_check.cpp+3-0
| @@ -10,6 +10,9 @@ | |||
| 10 | 10 | ||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | + | ||
| 14 | + | ||
| 15 | + | ||
| 13 | 16 | ||
| 14 | 17 | ||
| 15 | class LogSoftMaxAPICheck : public testing::Test { | 18 | class LogSoftMaxAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/activation/softmax/simple_softmax/kernel_simple_softmax_check.cpp→tests/api/adv_api/api_check/activation/softmax/simple_softmax/kernel_simple_softmax_check.cpp+3-0
| @@ -10,6 +10,9 @@ | |||
| 10 | 10 | ||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | + | ||
| 14 | + | ||
| 15 | + | ||
| 13 | 16 | ||
| 14 | 17 | ||
| 15 | class SimpleSoftMaxAPICheck : public testing::Test { | 18 | class SimpleSoftMaxAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/activation/softmax/softmax/kernel_softmax_check.cpp→tests/api/adv_api/api_check/activation/softmax/softmax/kernel_softmax_check.cpp+3-0
| @@ -10,6 +10,9 @@ | |||
| 10 | 10 | ||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | + | ||
| 14 | + | ||
| 15 | + | ||
| 13 | 16 | ||
| 14 | 17 | ||
| 15 | class SoftMaxAPICheck : public testing::Test { | 18 | class SoftMaxAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/activation/softmax/softmax_flash/kernel_softmax_flash_check.cpp→tests/api/adv_api/api_check/activation/softmax/softmax_flash/kernel_softmax_flash_check.cpp+3-0
| @@ -10,6 +10,9 @@ | |||
| 10 | 10 | ||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | + | ||
| 14 | + | ||
| 15 | + | ||
| 13 | 16 | ||
| 14 | 17 | ||
| 15 | class SoftMaxFlashAPICheck : public testing::Test { | 18 | class SoftMaxFlashAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/activation/softmax/softmax_flashv2/kernel_softmax_flashv2_check.cpp→tests/api/adv_api/api_check/activation/softmax/softmax_flashv2/kernel_softmax_flashv2_check.cpp+3-0
| @@ -10,6 +10,9 @@ | |||
| 10 | 10 | ||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | + | ||
| 14 | + | ||
| 15 | + | ||
| 13 | 16 | ||
| 14 | 17 | ||
| 15 | class SoftMaxFlashV2APICheck : public testing::Test { | 18 | class SoftMaxFlashV2APICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/activation/softmax/softmax_flashv3/kernel_softmax_flashv3_check.cpp→tests/api/adv_api/api_check/activation/softmax/softmax_flashv3/kernel_softmax_flashv3_check.cpp+3-0
| @@ -10,6 +10,9 @@ | |||
| 10 | 10 | ||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | + | ||
| 14 | + | ||
| 15 | + | ||
| 13 | 16 | ||
| 14 | 17 | ||
| 15 | class SoftMaxFlashV3APICheck : public testing::Test { | 18 | class SoftMaxFlashV3APICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/activation/softmax/softmax_grad/kernel_softmax_grad_check.cpp→tests/api/adv_api/api_check/activation/softmax/softmax_grad/kernel_softmax_grad_check.cpp+3-0
| @@ -10,6 +10,9 @@ | |||
| 10 | 10 | ||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | + | ||
| 14 | + | ||
| 15 | + | ||
| 13 | 16 | ||
| 14 | 17 | ||
| 15 | class SoftMaxGradAPICheck : public testing::Test { | 18 | class SoftMaxGradAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/activation/softmax/softmax_grad_front/kernel_softmax_grad_front_check.cpp→tests/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 | 11 | ||
| 12 | 12 | ||
| 13 | + | ||
| 14 | + | ||
| 15 | + | ||
| 13 | 16 | ||
| 14 | 17 | ||
| 15 | class SoftMaxGradFrontAPICheck : public testing::Test { | 18 | class SoftMaxGradFrontAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/activation/swiglu/kernel_swiglu_check.cpp→tests/api/adv_api/api_check/activation/swiglu/kernel_swiglu_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class SwiGLUAPICheck : public testing::Test { | 19 | class SwiGLUAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/activation/swish/kernel_swish_check.cpp→tests/api/adv_api/api_check/activation/swish/kernel_swish_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class SwishAPICheck : public testing::Test { | 19 | class SwishAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/filter/droupout/kernel_droupout_check.cpp→tests/api/adv_api/api_check/filter/droupout/kernel_droupout_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class DropOutAPICheck : public testing::Test { | 19 | class DropOutAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/index/arithprogression/kernel_arithprogression_check.cpp→tests/api/adv_api/api_check/index/arithprogression/kernel_arithprogression_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class ArithProgressionAPICheck : public testing::Test { | 19 | class ArithProgressionAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/math/acos/kernel_acos_check.cpp→tests/api/adv_api/api_check/math/acos/kernel_acos_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class AcosAPICheck : public testing::Test { | 19 | class AcosAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/math/acosh/kernel_acosh_check.cpp→tests/api/adv_api/api_check/math/acosh/kernel_acosh_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class AcoshAPICheck : public testing::Test { | 19 | class AcoshAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/math/asin/kernel_asin_check.cpp→tests/api/adv_api/api_check/math/asin/kernel_asin_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class AsinAPICheck : public testing::Test { | 19 | class AsinAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/math/asinh/kernel_asinh_check.cpp→tests/api/adv_api/api_check/math/asinh/kernel_asinh_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class AsinhAPICheck : public testing::Test { | 19 | class AsinhAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/math/atan/kernel_atan_check.cpp→tests/api/adv_api/api_check/math/atan/kernel_atan_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class AtanAPICheck : public testing::Test { | 19 | class AtanAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/math/atanh/kernel_atanh_check.cpp→tests/api/adv_api/api_check/math/atanh/kernel_atanh_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class AtanhAPICheck : public testing::Test { | 19 | class AtanhAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/math/axpy/kernel_axpy_check.cpp→tests/api/adv_api/api_check/math/axpy/kernel_axpy_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class AxpyAPICheck : public testing::Test { | 19 | class AxpyAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/math/ceil/kernel_ceil_check.cpp→tests/api/adv_api/api_check/math/ceil/kernel_ceil_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class CeilAPICheck : public testing::Test { | 19 | class CeilAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/math/clamp/kernel_clamp_check.cpp→tests/api/adv_api/api_check/math/clamp/kernel_clamp_check.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/api_check/math/cos/kernel_cos_check.cpp→tests/api/adv_api/api_check/math/cos/kernel_cos_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class CosAPICheck : public testing::Test { | 19 | class CosAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/math/cosh/kernel_cosh_check.cpp→tests/api/adv_api/api_check/math/cosh/kernel_cosh_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class CoshAPICheck : public testing::Test { | 19 | class CoshAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/math/cumsum/kernel_cumsum_check.cpp→tests/api/adv_api/api_check/math/cumsum/kernel_cumsum_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class CumSumAPICheck : public testing::Test { | 19 | class CumSumAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/math/digamma/kernel_digamma_check.cpp→tests/api/adv_api/api_check/math/digamma/kernel_digamma_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class DigammaAPICheck : public testing::Test { | 19 | class DigammaAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/math/erf/kernel_erf_check.cpp→tests/api/adv_api/api_check/math/erf/kernel_erf_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class ErfAPICheck : public testing::Test { | 19 | class ErfAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/math/erfc/kernel_erfc_check.cpp→tests/api/adv_api/api_check/math/erfc/kernel_erfc_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class ErfcAPICheck : public testing::Test { | 19 | class ErfcAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/math/exp/kernel_exp_check.cpp→tests/api/adv_api/api_check/math/exp/kernel_exp_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class ExpAPICheck : public testing::Test { | 19 | class ExpAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/math/floor/kernel_floor_check.cpp→tests/api/adv_api/api_check/math/floor/kernel_floor_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class FloorAPICheck : public testing::Test { | 19 | class FloorAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/math/fmod/kernel_fmod_check.cpp→tests/api/adv_api/api_check/math/fmod/kernel_fmod_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class FmodAPICheck : public testing::Test { | 19 | class FmodAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/math/frac/kernel_frac_check.cpp→tests/api/adv_api/api_check/math/frac/kernel_frac_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class FracAPICheck : public testing::Test { | 19 | class FracAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/math/lgamma/kernel_lgamma_check.cpp→tests/api/adv_api/api_check/math/lgamma/kernel_lgamma_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class LgammaAPICheck : public testing::Test { | 19 | class LgammaAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/math/log/kernel_log_check.cpp→tests/api/adv_api/api_check/math/log/kernel_log_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class LogAPICheck : public testing::Test { | 19 | class LogAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/math/power/kernel_power_check.cpp→tests/api/adv_api/api_check/math/power/kernel_power_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class PowerAPICheck : public testing::Test { | 19 | class PowerAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/math/round/kernel_round_check.cpp→tests/api/adv_api/api_check/math/round/kernel_round_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class RoundAPICheck : public testing::Test { | 19 | class RoundAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/math/sign/kernel_sign_check.cpp→tests/api/adv_api/api_check/math/sign/kernel_sign_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class SignAPICheck : public testing::Test { | 19 | class SignAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/math/sin/kernel_sin_check.cpp→tests/api/adv_api/api_check/math/sin/kernel_sin_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class SinAPICheck : public testing::Test { | 19 | class SinAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/math/sinh/kernel_sinh_check.cpp→tests/api/adv_api/api_check/math/sinh/kernel_sinh_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class SinhAPICheck : public testing::Test { | 19 | class SinhAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/math/tan/kernel_tan_check.cpp→tests/api/adv_api/api_check/math/tan/kernel_tan_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class TanAPICheck : public testing::Test { | 19 | class TanAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/math/tanh/kernel_tanh_check.cpp→tests/api/adv_api/api_check/math/tanh/kernel_tanh_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class TanhAPICheck : public testing::Test { | 19 | class TanhAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/math/trunc/kernel_trunc_check.cpp→tests/api/adv_api/api_check/math/trunc/kernel_trunc_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class TruncAPICheck : public testing::Test { | 19 | class 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 | + | ||
| 13 | + | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 17 | + | ||
| 18 | + | ||
| 19 | + | ||
| 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 | + | ||
Rtests/unit/adv_api/api_check/math/xor/kernel_xor_check.cpp→tests/api/adv_api/api_check/math/xor/kernel_xor_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class XorAPICheck : public testing::Test { | 19 | class XorAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/normalization/batchnorm/kernel_batchnorm_check.cpp→tests/api/adv_api/api_check/normalization/batchnorm/kernel_batchnorm_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class BatchNormAPICheck : public testing::Test { | 19 | class BatchNormAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/normalization/deepnorm/kernel_deepnorm_check.cpp→tests/api/adv_api/api_check/normalization/deepnorm/kernel_deepnorm_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class DeepNormAPICheck : public testing::Test { | 19 | class DeepNormAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/normalization/groupnorm/kernel_groupnorm_check.cpp→tests/api/adv_api/api_check/normalization/groupnorm/kernel_groupnorm_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class GroupNormAPICheck : public testing::Test { | 19 | class GroupNormAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/normalization/layernorm/kernel_layernorm_check.cpp→tests/api/adv_api/api_check/normalization/layernorm/kernel_layernorm_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class LayerNormAPICheck : public testing::Test { | 19 | class LayerNormAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/normalization/layernormgrad/kernel_layernormgrad_check.cpp→tests/api/adv_api/api_check/normalization/layernormgrad/kernel_layernormgrad_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class LayerNormGradAPICheck : public testing::Test { | 19 | class LayerNormGradAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/normalization/layernormgradbeta/kernel_layernormgradbeta_check.cpp→tests/api/adv_api/api_check/normalization/layernormgradbeta/kernel_layernormgradbeta_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class LayerNormGradBetaAPICheck : public testing::Test { | 19 | class LayerNormGradBetaAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/normalization/normalize/kernel_normalize_check.cpp→tests/api/adv_api/api_check/normalization/normalize/kernel_normalize_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class NormalizeAPICheck : public testing::Test { | 19 | class NormalizeAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/normalization/rmsnorm/kernel_rmsnorm_check.cpp→tests/api/adv_api/api_check/normalization/rmsnorm/kernel_rmsnorm_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class RmsNormAPICheck : public testing::Test { | 19 | class RmsNormAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/normalization/welfordfinalize/kernel_welfordfinalize_check.cpp→tests/api/adv_api/api_check/normalization/welfordfinalize/kernel_welfordfinalize_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class WelfordFinalizeAPICheck : public testing::Test { | 19 | class WelfordFinalizeAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/normalization/welfordupdate/kernel_welfordupdate_check.cpp→tests/api/adv_api/api_check/normalization/welfordupdate/kernel_welfordupdate_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class WelfordUpdateAPICheck : public testing::Test { | 19 | class WelfordUpdateAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/pad/broadcast/kernel_broadcast_check.cpp→tests/api/adv_api/api_check/pad/broadcast/kernel_broadcast_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class BroadcastAPICheck : public testing::Test { | 19 | class BroadcastAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/pad/pad/kernel_pad_check.cpp→tests/api/adv_api/api_check/pad/pad/kernel_pad_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class PadAPICheck : public testing::Test { | 19 | class PadAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/pad/unpad/kernel_unpad_check.cpp→tests/api/adv_api/api_check/pad/unpad/kernel_unpad_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class UnPadAPICheck : public testing::Test { | 19 | class UnPadAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/quantization/antiquant/kernel_antiquant_check.cpp→tests/api/adv_api/api_check/quantization/antiquant/kernel_antiquant_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class AntiQuantAPICheck : public testing::Test { | 19 | class AntiQuantAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/quantization/dequant/kernel_dequant_check.cpp→tests/api/adv_api/api_check/quantization/dequant/kernel_dequant_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class DequantAPICheck : public testing::Test { | 19 | class DequantAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/quantization/quant/kernel_quant_check.cpp→tests/api/adv_api/api_check/quantization/quant/kernel_quant_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class QuantAPICheck : public testing::Test { | 19 | class QuantAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/reduce/mean/kernel_mean_check.cpp→tests/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.cpp→tests/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 | + | ||
| 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 | + | ||
Rtests/unit/adv_api/api_check/reduce/reduce_any/kernel_reduce_any_check.cpp→tests/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 | + | ||
| 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 | + | ||
Rtests/unit/adv_api/api_check/reduce/reduce_case_common.h→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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 | + | ||
| 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 | + | ||
Rtests/unit/adv_api/api_check/reduce/reduce_sum/kernel_reduce_sum_check.cpp→tests/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.cpp→tests/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.cpp→tests/api/adv_api/api_check/reduce/sum/kernel_sum_check.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/api_check/select/selectwithbytesmask/kernel_selectwithbytesmask_check.cpp→tests/api/adv_api/api_check/select/selectwithbytesmask/kernel_selectwithbytesmask_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class SelectWithBytesMaskAPICheck : public testing::Test { | 19 | class SelectWithBytesMaskAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/sort/concat/kernel_concat_check.cpp→tests/api/adv_api/api_check/sort/concat/kernel_concat_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class ConcatAPICheck : public testing::Test { | 19 | class ConcatAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/sort/extract/kernel_extract_check.cpp→tests/api/adv_api/api_check/sort/extract/kernel_extract_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class ExtractAPICheck : public testing::Test { | 19 | class ExtractAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/sort/mrgsort/kernel_mrgsort_check.cpp→tests/api/adv_api/api_check/sort/mrgsort/kernel_mrgsort_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class MrgSortAPICheck : public testing::Test { | 19 | class MrgSortAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/sort/sort/kernel_sort_check.cpp→tests/api/adv_api/api_check/sort/sort/kernel_sort_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class SortAPICheck : public testing::Test { | 19 | class SortAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/sort/topk/kernel_topk_check.cpp→tests/api/adv_api/api_check/sort/topk/kernel_topk_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class TopKAPICheck : public testing::Test { | 19 | class TopKAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/transdata/kernel_transdata_check.cpp→tests/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.cpp→tests/api/adv_api/api_check/transpose/confusion_transpose/kernel_confusion_transpose_check.cpp+3-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class ConfusionTransposeAPICheck : public testing::Test { | 19 | class ConfusionTransposeAPICheck : public testing::Test { |
Rtests/unit/adv_api/api_check/utils/init_global_memory/kernel_init_global_memory_check.cpp→tests/api/adv_api/api_check/utils/init_global_memory/kernel_init_global_memory_check.cpp+7-0
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | 17 | ||
| 15 | 18 | ||
| 16 | class InitGlobalMemoryAPICheck : public testing::Test { | 19 | class InitGlobalMemoryAPICheck : public testing::Test { |
| @@ -27,7 +30,9 @@ protected: | |||
| 27 | 30 | ||
| 28 | TEST_F(InitGlobalMemoryAPICheck, InitGlobalMemoryAPICheckTestSuccess) | 31 | TEST_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 | ||
| 37 | TEST_F(InitGlobalMemoryAPICheck, InitGlobalMemoryAPICheckTestFailure) | 42 | TEST_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.cpp→tests/api/adv_api/filter/dropout/test_operator_dropout.cpp+0-0
文件重命名但无更改。
| @@ -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 | +} | ||
| @@ -32,10 +32,10 @@ constexpr size_t workSpaceSize = sizeof(HcclMsgArea); | |||
| 32 | 32 | ||
| 33 | HcclCombineOpParam GetHcclCombineOpParam(const vector<uint8_t> &workSpace) { | 33 | HcclCombineOpParam 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.cpp→tests/api/adv_api/index/arithprogression/test_operator_arange.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/index/arithprogression/test_operator_arithprogression.cpp→tests/api/adv_api/index/arithprogression/test_operator_arithprogression.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/math/acos/test_operator_acos.cpp→tests/api/adv_api/math/acos/test_operator_acos.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/math/acosh/test_operator_acosh.cpp→tests/api/adv_api/math/acosh/test_operator_acosh.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/math/asin/test_operator_asin.cpp→tests/api/adv_api/math/asin/test_operator_asin.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/math/atan/test_operator_atan.cpp→tests/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 | + | ||
| 11 | + | ||
| 12 | + | ||
| 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.cpp→tests/api/adv_api/math/atanh/test_operator_atanh.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/math/axpy/test_operator_axpy.cpp→tests/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 | + | ||
| 12 | + | ||
| 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 | + | ||
| 12 | + | ||
| 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 | + | ||
| 12 | + | ||
| 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 | + | ||
| 12 | + | ||
| 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.cpp→tests/api/adv_api/math/ceil/test_operator_ceil.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/math/clamp/test_operator_clamp.cpp→tests/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 | + | ||
| 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 | + | ||
| 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); | |||
| 117 | VEC_CLAMP_TESTCASE(half, CLAMP_MAX, 256, MODE_NORMAL); | 129 | VEC_CLAMP_TESTCASE(half, CLAMP_MAX, 256, MODE_NORMAL); |
| 118 | VEC_CLAMP_TESTCASE(half, CLAMP_MIN, 256, MODE_NORMAL); | 130 | VEC_CLAMP_TESTCASE(half, CLAMP_MIN, 256, MODE_NORMAL); |
| 119 | VEC_CLAMP_TESTCASE(half, CLAMP_MIN, 2048, MODE_TMPBUFFER); | 131 | VEC_CLAMP_TESTCASE(half, CLAMP_MIN, 2048, MODE_TMPBUFFER); |
| 132 | + | ||
| 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 | + | ||
Rtests/unit/adv_api/math/cos/test_operator_cos.cpp→tests/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 | + | ||
| 12 | + | ||
| 13 | + | ||
| 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.cpp→tests/api/adv_api/math/cosh/test_operator_cosh.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/math/cumsum/test_operator_cumsum.cpp→tests/api/adv_api/math/cumsum/test_operator_cumsum.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/math/digamma/test_operator_digamma.cpp→tests/api/adv_api/math/digamma/test_operator_digamma.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/math/erf/test_operator_erf.cpp→tests/api/adv_api/math/erf/test_operator_erf.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/math/erfc/test_operator_erfc.cpp→tests/api/adv_api/math/erfc/test_operator_erfc.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/math/exp/test_operator_exphighprecision.cpp→tests/api/adv_api/math/exp/test_operator_exphighprecision.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/math/floor/test_operator_floor.cpp→tests/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 | + | ||
| 11 | + | ||
| 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 | + | ||
| 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.cpp→tests/api/adv_api/math/fmod/test_operator_fmod.cpp+0-0
文件重命名但无更改。
Rtests/unit/adv_api/math/frac/test_operator_frac.cpp→tests/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 | + | ||
| 11 | + | ||
| 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 | + | ||
| 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 | + | ||
| 11 | + | ||
| 12 | + | ||
| 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 | + | ||
| 11 | + | ||
| 12 | + | ||
| 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.cpp→tests/api/adv_api/math/lgamma/test_operator_lgamma.cpp+0-0
Rtests/unit/adv_api/math/log/test_operator_log.cpp→tests/api/adv_api/math/log/test_operator_log.cpp+0-0
Rtests/unit/adv_api/math/power/test_operator_power.cpp→tests/api/adv_api/math/power/test_operator_power.cpp+0-0
Rtests/unit/adv_api/math/power/test_operator_power_v200.cpp→tests/api/adv_api/math/power/test_operator_power_v200.cpp+0-0
Rtests/unit/adv_api/math/round/test_operator_round.cpp→tests/api/adv_api/math/round/test_operator_round.cpp+0-0
Rtests/unit/adv_api/math/sign/test_operator_sign.cpp→tests/api/adv_api/math/sign/test_operator_sign.cpp+6-0
Rtests/unit/adv_api/math/sin/test_operator_sin.cpp→tests/api/adv_api/math/sin/test_operator_sin.cpp+0-0
Rtests/unit/adv_api/math/sinh/test_operator_asinh.cpp→tests/api/adv_api/math/sinh/test_operator_asinh.cpp+0-0
Rtests/unit/adv_api/math/sinh/test_operator_sinh.cpp→tests/api/adv_api/math/sinh/test_operator_sinh.cpp+0-0
Rtests/unit/adv_api/math/tan/test_operator_tan.cpp→tests/api/adv_api/math/tan/test_operator_tan.cpp+0-0
Rtests/unit/adv_api/math/tanh/test_operator_tanh.cpp→tests/api/adv_api/math/tanh/test_operator_tanh.cpp+0-0
Rtests/unit/adv_api/math/trunc/test_operator_trunc.cpp→tests/api/adv_api/math/trunc/test_operator_trunc.cpp+0-0
Rtests/unit/adv_api/math/xor/test_operator_xor.cpp→tests/api/adv_api/math/xor/test_operator_xor.cpp+0-0
Rtests/unit/adv_api/matmul/bias/test_bias_c1_buffer.cpp→tests/api/adv_api/matmul/bias/test_bias_c1_buffer.cpp+0-0
Rtests/unit/adv_api/matmul/bias/test_bias_c2_buffer.cpp→tests/api/adv_api/matmul/bias/test_bias_c2_buffer.cpp+0-0
Rtests/unit/adv_api/matmul/copy_cube_in/base_tiling_struct.h→tests/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.cpp→tests/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.cpp→tests/api/adv_api/matmul/copy_cube_in/test_copy_cube_in_mdl_310p.cpp+0-0
Rtests/unit/adv_api/matmul/copy_cube_in/test_copy_cube_in_norm.cpp→tests/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.cpp→tests/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.cpp→tests/api/adv_api/matmul/copy_cube_in/test_copy_cube_in_params.cpp+0-0
Rtests/unit/adv_api/matmul/copy_cube_in/test_copy_cube_in_ub_to_l1_ss.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/api/adv_api/matmul/iterator/test_batch_loop.cpp+0-0
Rtests/unit/adv_api/matmul/iterator/test_batch_loop_single.cpp→tests/api/adv_api/matmul/iterator/test_batch_loop_single.cpp+0-0
Rtests/unit/adv_api/matmul/iterator/test_batch_m_loop.cpp→tests/api/adv_api/matmul/iterator/test_batch_m_loop.cpp+0-0
Rtests/unit/adv_api/matmul/iterator/test_batch_m_loop_db.cpp→tests/api/adv_api/matmul/iterator/test_batch_m_loop_db.cpp+0-0
Rtests/unit/adv_api/matmul/iterator/test_batch_n_loop.cpp→tests/api/adv_api/matmul/iterator/test_batch_n_loop.cpp+0-0
Rtests/unit/adv_api/matmul/iterator/test_batch_n_loop_db.cpp→tests/api/adv_api/matmul/iterator/test_batch_n_loop_db.cpp+0-0
Rtests/unit/adv_api/matmul/iterator/test_k_loop_mdl.cpp→tests/api/adv_api/matmul/iterator/test_k_loop_mdl.cpp+0-0
Rtests/unit/adv_api/matmul/iterator/test_k_loop_mdl_reorder.cpp→tests/api/adv_api/matmul/iterator/test_k_loop_mdl_reorder.cpp+0-0
Rtests/unit/adv_api/matmul/iterator/test_k_loop_n_buffer.cpp→tests/api/adv_api/matmul/iterator/test_k_loop_n_buffer.cpp+0-0
Rtests/unit/adv_api/matmul/iterator/test_k_loop_norm.cpp→tests/api/adv_api/matmul/iterator/test_k_loop_norm.cpp+0-0
Rtests/unit/adv_api/matmul/iterator/test_m_loop_basic.cpp→tests/api/adv_api/matmul/iterator/test_m_loop_basic.cpp+0-45
Rtests/unit/adv_api/matmul/iterator/test_m_loop_mdl.cpp→tests/api/adv_api/matmul/iterator/test_m_loop_mdl.cpp+0-0
Rtests/unit/adv_api/matmul/iterator/test_m_loop_mdl_outer_product.cpp→tests/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.cpp→tests/api/adv_api/matmul/iterator/test_m_loop_n_buffer.cpp+0-0
Rtests/unit/adv_api/matmul/iterator/test_m_loop_norm.cpp→tests/api/adv_api/matmul/iterator/test_m_loop_norm.cpp+0-0
Rtests/unit/adv_api/matmul/iterator/test_matmul_iterator.cpp→tests/api/adv_api/matmul/iterator/test_matmul_iterator.cpp+0-0
Rtests/unit/adv_api/matmul/iterator/test_n_loop_basic.cpp→tests/api/adv_api/matmul/iterator/test_n_loop_basic.cpp+0-49
Rtests/unit/adv_api/matmul/iterator/test_n_loop_mdl.cpp→tests/api/adv_api/matmul/iterator/test_n_loop_mdl.cpp+0-0
Rtests/unit/adv_api/matmul/iterator/test_n_loop_mdl_outer_product.cpp→tests/api/adv_api/matmul/iterator/test_n_loop_mdl_outer_product.cpp+0-0
Rtests/unit/adv_api/matmul/iterator/test_n_loop_norm.cpp→tests/api/adv_api/matmul/iterator/test_n_loop_norm.cpp+0-0
Rtests/unit/adv_api/matmul/kfc/kfc_fake_modules.h→tests/api/adv_api/matmul/kfc/kfc_fake_modules.h+0-0
Rtests/unit/adv_api/matmul/load_buffer/test_matmul_load_to_l0a.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/api/adv_api/matmul/load_buffer/test_matmul_mmad_compute.cpp+0-0
Rtests/unit/adv_api/matmul/load_buffer/test_matmul_tbufpool_l0.cpp→tests/api/adv_api/matmul/load_buffer/test_matmul_tbufpool_l0.cpp+0-0
Rtests/unit/adv_api/matmul/scheduler/batch_scheduler/test_batch_scheduler.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/api/adv_api/matmul/scheduler/bias_scheduler/test_bias_scheduler_v220.cpp+0-0
Rtests/unit/adv_api/matmul/scheduler/fake_modules.h→tests/api/adv_api/matmul/scheduler/fake_modules.h+4-1
Rtests/unit/adv_api/matmul/scheduler/test_scheduler_intrablock.cpp→tests/api/adv_api/matmul/scheduler/test_scheduler_intrablock.cpp+0-0
Rtests/unit/adv_api/matmul/scheduler/test_scheduler_mdl.cpp→tests/api/adv_api/matmul/scheduler/test_scheduler_mdl.cpp+0-0
Rtests/unit/adv_api/matmul/scheduler/test_scheduler_mdl_fullload.cpp→tests/api/adv_api/matmul/scheduler/test_scheduler_mdl_fullload.cpp+0-0
Rtests/unit/adv_api/matmul/scheduler/test_scheduler_mdl_outer_product.cpp→tests/api/adv_api/matmul/scheduler/test_scheduler_mdl_outer_product.cpp+0-0
Rtests/unit/adv_api/matmul/scheduler/test_scheduler_n_buffer.cpp→tests/api/adv_api/matmul/scheduler/test_scheduler_n_buffer.cpp+0-0
Rtests/unit/adv_api/matmul/scheduler/test_scheduler_norm.cpp→tests/api/adv_api/matmul/scheduler/test_scheduler_norm.cpp+1-1
Rtests/unit/adv_api/matmul/scheduler/test_scheduler_norm_outer_product.cpp→tests/api/adv_api/matmul/scheduler/test_scheduler_norm_outer_product.cpp+0-0
Rtests/unit/adv_api/matmul/scheduler/test_scheduler_special_mdl.cpp→tests/api/adv_api/matmul/scheduler/test_scheduler_special_mdl.cpp+0-0
Rtests/unit/adv_api/matmul/test_matmul_channel_split.cpp→tests/api/adv_api/matmul/test_matmul_channel_split.cpp+0-0
Rtests/unit/adv_api/matmul/test_matmul_config.cpp→tests/api/adv_api/matmul/test_matmul_config.cpp+0-0
Rtests/unit/adv_api/matmul/test_matmul_l0c_buffer.cpp→tests/api/adv_api/matmul/test_matmul_l0c_buffer.cpp+0-0
Rtests/unit/adv_api/matmul/test_matmul_shape_info.cpp→tests/api/adv_api/matmul/test_matmul_shape_info.cpp+0-0
Rtests/unit/adv_api/matmul/test_matmul_shape_info_left.cpp→tests/api/adv_api/matmul/test_matmul_shape_info_left.cpp+0-0
Rtests/unit/adv_api/matmul/test_matmul_triangular.cpp→tests/api/adv_api/matmul/test_matmul_triangular.cpp+0-0
Rtests/unit/adv_api/matmul/test_operator_matmul_v200.cpp→tests/api/adv_api/matmul/test_operator_matmul_v200.cpp+0-0
Rtests/unit/adv_api/matmul/test_operator_matmul_v220.cpp→tests/api/adv_api/matmul/test_operator_matmul_v220.cpp+0-0
Rtests/unit/adv_api/matmul/test_operator_matmul_v300.cpp→tests/api/adv_api/matmul/test_operator_matmul_v300.cpp+0-0
Rtests/unit/adv_api/matmul/utils/test_custom_loop.h→tests/api/adv_api/matmul/utils/test_custom_loop.h+0-0
Rtests/unit/adv_api/normalization/batchnorm/test_operator_batchnorm.cpp→tests/api/adv_api/normalization/batchnorm/test_operator_batchnorm.cpp+0-0
Rtests/unit/adv_api/normalization/deepnorm/test_operator_deepnorm.cpp→tests/api/adv_api/normalization/deepnorm/test_operator_deepnorm.cpp+0-0
Rtests/unit/adv_api/normalization/groupnorm/test_operator_groupnorm.cpp→tests/api/adv_api/normalization/groupnorm/test_operator_groupnorm.cpp+0-0
Rtests/unit/adv_api/normalization/layernorm/test_operator_layernorm.cpp→tests/api/adv_api/normalization/layernorm/test_operator_layernorm.cpp+0-0
Rtests/unit/adv_api/normalization/layernorm/test_operator_layernormgrad.cpp→tests/api/adv_api/normalization/layernorm/test_operator_layernormgrad.cpp+0-0
Rtests/unit/adv_api/normalization/layernorm/test_operator_layernormgradbeta.cpp→tests/api/adv_api/normalization/layernorm/test_operator_layernormgradbeta.cpp+0-0
Rtests/unit/adv_api/normalization/layernormV2/test_operator_layernormV2.cpp→tests/api/adv_api/normalization/layernormV2/test_operator_layernormV2.cpp+0-0
Rtests/unit/adv_api/normalization/normalize/test_operator_normalize.cpp→tests/api/adv_api/normalization/normalize/test_operator_normalize.cpp+0-0
Rtests/unit/adv_api/normalization/rmsnorm/test_operator_rmsnorm.cpp→tests/api/adv_api/normalization/rmsnorm/test_operator_rmsnorm.cpp+0-0
Rtests/unit/adv_api/normalization/welfordfinalize/test_operator_welfordfinalize.cpp→tests/api/adv_api/normalization/welfordfinalize/test_operator_welfordfinalize.cpp+0-0
Rtests/unit/adv_api/normalization/welfordupdate/test_operator_welfordupdate.cpp→tests/api/adv_api/normalization/welfordupdate/test_operator_welfordupdate.cpp+0-0
Rtests/unit/adv_api/pad/broadcast/test_operator_broadcast_v200.cpp→tests/api/adv_api/pad/broadcast/test_operator_broadcast_v200.cpp+0-0
Rtests/unit/adv_api/pad/broadcast/test_operator_broadcast_v220.cpp→tests/api/adv_api/pad/broadcast/test_operator_broadcast_v220.cpp+7-0
Rtests/unit/adv_api/pad/pad/test_operator_pad.cpp→tests/api/adv_api/pad/pad/test_operator_pad.cpp+0-0
Rtests/unit/adv_api/quantization/antiquant/test_ascend_antiquant.cpp→tests/api/adv_api/quantization/antiquant/test_ascend_antiquant.cpp+0-0
Rtests/unit/adv_api/quantization/antiquant/test_ascend_antiquant_per_group.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/api/adv_api/quantization/antiquant/test_ascend_antiquant_per_token_transpose.cpp+0-0
Rtests/unit/adv_api/quantization/antiquant/test_ascend_antiquant_scalar.cpp→tests/api/adv_api/quantization/antiquant/test_ascend_antiquant_scalar.cpp+0-0
Rtests/unit/adv_api/quantization/antiquant/test_ascend_antiquant_weight.cpp→tests/api/adv_api/quantization/antiquant/test_ascend_antiquant_weight.cpp+0-0
Rtests/unit/adv_api/quantization/antiquant/test_ascend_antiquant_weight_scalar.cpp→tests/api/adv_api/quantization/antiquant/test_ascend_antiquant_weight_scalar.cpp+0-0
Rtests/unit/adv_api/quantization/antiquantize/test_antiquantize.cpp→tests/api/adv_api/quantization/antiquantize/test_antiquantize.cpp+0-0
Rtests/unit/adv_api/quantization/dequant/test_ascend_dequant.cpp→tests/api/adv_api/quantization/dequant/test_ascend_dequant.cpp+0-0
Rtests/unit/adv_api/quantization/dequant/test_ascend_dequant_per_group.cpp→tests/api/adv_api/quantization/dequant/test_ascend_dequant_per_group.cpp+0-0
Rtests/unit/adv_api/quantization/dequant/test_ascend_dequant_per_token.cpp→tests/api/adv_api/quantization/dequant/test_ascend_dequant_per_token.cpp+0-0
Rtests/unit/adv_api/quantization/dequant/test_ascend_dequant_v200.cpp→tests/api/adv_api/quantization/dequant/test_ascend_dequant_v200.cpp+0-0
Rtests/unit/adv_api/quantization/dequantize/test_dequantize.cpp→tests/api/adv_api/quantization/dequantize/test_dequantize.cpp+0-0
Rtests/unit/adv_api/quantization/quant/test_ascend_quant.cpp→tests/api/adv_api/quantization/quant/test_ascend_quant.cpp+0-0
Rtests/unit/adv_api/quantization/quant/test_ascend_quant_per_channel.cpp→tests/api/adv_api/quantization/quant/test_ascend_quant_per_channel.cpp+0-0
Rtests/unit/adv_api/quantization/quant/test_ascend_quant_per_group.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/api/adv_api/quantization/quant/test_ascend_quant_per_token_scalar.cpp+0-0
Rtests/unit/adv_api/quantization/quantize/test_quantize_per_channel.cpp→tests/api/adv_api/quantization/quantize/test_quantize_per_channel.cpp+0-0
Rtests/unit/adv_api/quantization/quantize/test_quantize_per_group.cpp→tests/api/adv_api/quantization/quantize/test_quantize_per_group.cpp+0-0
Rtests/unit/adv_api/quantization/quantize/test_quantize_per_tensor.cpp→tests/api/adv_api/quantization/quantize/test_quantize_per_tensor.cpp+0-0
Rtests/unit/adv_api/quantization/quantize/test_quantize_per_token.cpp→tests/api/adv_api/quantization/quantize/test_quantize_per_token.cpp+0-0
Rtests/unit/adv_api/reduce/mean/test_operator_mean.cpp→tests/api/adv_api/reduce/mean/test_operator_mean.cpp+0-0
Rtests/unit/adv_api/reduce/reduce_all/test_operator_reduce_all.cpp→tests/api/adv_api/reduce/reduce_all/test_operator_reduce_all.cpp+0-0
Rtests/unit/adv_api/reduce/reduce_any/test_operator_reduce_any.cpp→tests/api/adv_api/reduce/reduce_any/test_operator_reduce_any.cpp+0-0
Rtests/unit/adv_api/reduce/reduce_max/test_operator_reduce_max.cpp→tests/api/adv_api/reduce/reduce_max/test_operator_reduce_max.cpp+0-0
Rtests/unit/adv_api/reduce/reduce_mean/test_operator_reduce_mean.cpp→tests/api/adv_api/reduce/reduce_mean/test_operator_reduce_mean.cpp+0-0
Rtests/unit/adv_api/reduce/reduce_min/test_operator_reduce_min.cpp→tests/api/adv_api/reduce/reduce_min/test_operator_reduce_min.cpp+0-0
Rtests/unit/adv_api/reduce/reduce_prod/test_operator_reduce_prod.cpp→tests/api/adv_api/reduce/reduce_prod/test_operator_reduce_prod.cpp+0-0
Rtests/unit/adv_api/reduce/reduce_sum/test_operator_reduce_sum.cpp→tests/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.cpp→tests/api/adv_api/reduce/reduce_xor_sum/test_operator_reduce_xor_sum.cpp+0-0
Rtests/unit/adv_api/reduce/sum/test_operator_sum.cpp→tests/api/adv_api/reduce/sum/test_operator_sum.cpp+0-0
Rtests/unit/adv_api/select/selectwithbytesmask/test_operator_select.cpp→tests/api/adv_api/select/selectwithbytesmask/test_operator_select.cpp+0-0
Rtests/unit/adv_api/select/selectwithbytesmask/test_operator_selectwithbytesmask.cpp→tests/api/adv_api/select/selectwithbytesmask/test_operator_selectwithbytesmask.cpp+0-0
Rtests/unit/adv_api/sort/topk/test_operator_topk.cpp→tests/api/adv_api/sort/topk/test_operator_topk.cpp+0-0
Rtests/unit/adv_api/tiling/conv/test_conv3d_api_tiling.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/api/adv_api/tiling/conv_backprop/test_conv3d_backprop_input_api_tiling_network.cpp+0-0
Rtests/unit/adv_api/tiling/test_matmul_api_tiling.cpp→tests/api/adv_api/tiling/test_matmul_api_tiling.cpp+0-15
Rtests/unit/adv_api/transpose/confusion_transpose/test_operator_confusion_transpose.cpp→tests/api/adv_api/transpose/confusion_transpose/test_operator_confusion_transpose.cpp+0-0
Rtests/unit/adv_api/transpose/confusion_transpose/test_operator_transpose.cpp→tests/api/adv_api/transpose/confusion_transpose/test_operator_transpose.cpp+0-0
Rtests/unit/adv_api/transpose/transdata/test_operator_transdata.cpp→tests/api/adv_api/transpose/transdata/test_operator_transdata.cpp+0-0
Rtests/unit/adv_api/utils/init_global_memory/test_operator_fill.cpp→tests/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.cpp→tests/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.cpp→tests/api/aicpu_api/test_aicpu_dump.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310b1/test_atomic_operator.cpp→tests/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.cpp→tests/api/basic_api/ascendc_case_ascend310b1/test_copy.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend310b1/test_coverage.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/api/basic_api/ascendc_case_ascend610lite/test_copy.cpp+0-0
Rtests/unit/basic_api/ut/testcase/basic_api/tikcpp_case_ascend610lite/test_coverage.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/api/basic_api/ascendc_case_common/test_kernel_pop_stack_buffer.cpp+0-0
Rtests/unit/basic_api/ut/testcase/common/test_kernel_tensor.cpp→tests/api/basic_api/ascendc_case_common/test_kernel_tensor.cpp+0-0
Rtests/unit/basic_api/ut/testcase/common/test_kernel_tensor_desc.cpp→tests/api/basic_api/ascendc_case_common/test_kernel_tensor_desc.cpp+1-1
Rtests/unit/basic_api/ut/testcase/common/test_kernel_tpipe.cpp→tests/api/basic_api/ascendc_case_common/test_kernel_tpipe.cpp+7-7
Rtests/unit/basic_api/ut/testcase/tikcpp_case_common/test_operator_axpy.cpp→tests/api/basic_api/ascendc_case_common/test_operator_axpy.cpp+0-9
Rtests/unit/basic_api/ut/testcase/tikcpp_case_common/test_operator_common.cpp→tests/api/basic_api/ascendc_case_common/test_operator_common.cpp+0-0
Rtests/unit/basic_api/ut/testcase/tikcpp_case_common/test_operator_conv2d.cpp→tests/api/basic_api/ascendc_case_common/test_operator_conv2d.cpp+3-3
Rtests/unit/basic_api/ut/testcase/tikcpp_case_common/test_operator_duplicate.cpp→tests/api/basic_api/ascendc_case_common/test_operator_duplicate.cpp+0-10
Rtests/unit/basic_api/ut/testcase/tikcpp_case_common/test_operator_gemm.cpp→tests/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.cpp→tests/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.cpp→tests/api/basic_api/ascendc_case_common/test_operator_nchwconv.cpp+0-0
Rtests/unit/basic_api/ut/testcase/tikcpp_case_common/test_operator_proposal.cpp→tests/api/basic_api/ascendc_case_common/test_operator_proposal.cpp+3-3
Rtests/unit/basic_api/ut/testcase/tikcpp_case_common/test_operator_transpose.cpp→tests/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.cpp→tests/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.cpp→tests/api/basic_api/ascendc_case_common/test_process_lock.cpp+0-0
Rtests/unit/basic_api/ut/testcase/common/test_type_check.cpp→tests/api/basic_api/ascendc_case_common/test_type_check.cpp+0-0
Rtests/unit/basic_api/ut/testcase/test_operator_vec_binary.h→tests/api/basic_api/common/test_operator_vec_binary.h+0-0
Rtests/unit/basic_api/ut/testcase/test_symbol_override.h→tests/api/basic_api/common/test_symbol_override.h+0-0
Rtests/unit/basic_api/ut/testcase/c_api/npu_arch_2201/cache_ctrl/test_asc_data_cache_preload.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.h→tests/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.h→tests/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.h→tests/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.h→tests/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.h→tests/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.h→tests/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.h→tests/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.h→tests/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.h→tests/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.h→tests/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.h→tests/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.h→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/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.cpp→tests/api/c_api/npu_arch_2201/vector_datamove/test_copy_ubuf_to_gm_instr.cpp+0-0
Atests/api/micro_api/ascendc_case_ascend950pr_9599_micro/test_operator_micro_binary.cpp+313-0文件内容审核中,请稍后刷新重试
Atests/api/micro_api/ascendc_case_ascend950pr_9599_micro/test_operator_micro_cast.cpp+412-0文件内容审核中,请稍后刷新重试
Atests/api/micro_api/ascendc_case_ascend950pr_9599_micro/test_operator_micro_cmp.cpp+288-0文件内容审核中,请稍后刷新重试
Atests/api/micro_api/ascendc_case_ascend950pr_9599_micro/test_operator_micro_creIndex.cpp+144-0文件内容审核中,请稍后刷新重试
Atests/api/micro_api/ascendc_case_ascend950pr_9599_micro/test_operator_micro_datacopy.cpp+486-0文件内容审核中,请稍后刷新重试
Atests/api/micro_api/ascendc_case_ascend950pr_9599_micro/test_operator_micro_gather.cpp+148-0文件内容审核中,请稍后刷新重试
Atests/api/micro_api/ascendc_case_ascend950pr_9599_micro/test_operator_micro_mask.cpp+236-0文件内容审核中,请稍后刷新重试
Atests/api/micro_api/ascendc_case_ascend950pr_9599_micro/test_operator_micro_unary.cpp+238-0文件内容审核中,请稍后刷新重试
Atests/api/micro_api/ascendc_case_ascend950pr_9599_micro/test_operator_micro_vgather.cpp+146-0文件内容审核中,请稍后刷新重试
Atests/api/micro_api/ascendc_case_ascend950pr_9599_micro/test_operator_micro_vgatherb.cpp+161-0文件内容审核中,请稍后刷新重试
Atests/api/micro_api/ascendc_case_ascend950pr_9599_micro/test_operator_micro_vpack.cpp+142-0文件内容审核中,请稍后刷新重试
Atests/api/micro_api/ascendc_case_ascend950pr_9599_micro/test_operator_micro_vscatter.cpp+144-0文件内容审核中,请稍后刷新重试
Atests/api/micro_api/ascendc_case_mc62cm12aa_micro/test_operator_micro_binary.cpp+313-0文件内容审核中,请稍后刷新重试
Atests/api/micro_api/ascendc_case_mc62cm12aa_micro/test_operator_micro_binary_b64.cpp+207-0文件内容审核中,请稍后刷新重试
Atests/api/micro_api/ascendc_case_mc62cm12aa_micro/test_operator_micro_binary_scalar.cpp+204-0文件内容审核中,请稍后刷新重试
Atests/api/micro_api/ascendc_case_mc62cm12aa_micro/test_operator_micro_blockreduce.cpp+140-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_creIndex.cpp+144-0文件内容审核中,请稍后刷新重试
Atests/api/micro_api/ascendc_case_mc62cm12aa_micro/test_operator_micro_datacopy.cpp+462-0文件内容审核中,请稍后刷新重试
Atests/api/micro_api/ascendc_case_mc62cm12aa_micro/test_operator_micro_datacopy_b64.cpp+318-0文件内容审核中,请稍后刷新重试
Atests/api/micro_api/ascendc_case_mc62cm12aa_micro/test_operator_micro_duplicate.cpp+155-0文件内容审核中,请稍后刷新重试
Atests/api/micro_api/ascendc_case_mc62cm12aa_micro/test_operator_micro_gather.cpp+148-0文件内容审核中,请稍后刷新重试
Atests/api/micro_api/ascendc_case_mc62cm12aa_micro/test_operator_micro_histograms.cpp+126-0文件内容审核中,请稍后刷新重试
Atests/api/micro_api/ascendc_case_mc62cm12aa_micro/test_operator_micro_mask.cpp+238-0文件内容审核中,请稍后刷新重试
Atests/api/micro_api/ascendc_case_mc62cm12aa_micro/test_operator_micro_reducemax.cpp+144-0文件内容审核中,请稍后刷新重试
Atests/api/micro_api/ascendc_case_mc62cm12aa_micro/test_operator_micro_reducemin.cpp+144-0文件内容审核中,请稍后刷新重试
Atests/api/micro_api/ascendc_case_mc62cm12aa_micro/test_operator_micro_reducesum.cpp+144-0文件内容审核中,请稍后刷新重试
Atests/api/micro_api/ascendc_case_mc62cm12aa_micro/test_operator_micro_unary.cpp+237-0文件内容审核中,请稍后刷新重试
Atests/api/micro_api/ascendc_case_mc62cm12aa_micro/test_operator_micro_vpack.cpp+142-0文件内容审核中,请稍后刷新重试
Atests/api/micro_api/ascendc_case_mc62cm12aa_micro/test_operator_micro_vscatter.cpp+144-0文件内容审核中,请稍后刷新重试
Rtests/unit/basic_api/ut/main_global.cpp→tests/api/simt_api/ascendc_case_ascend950pr_9599_simt/test_operator_simt_common.cpp+13-22
Rtests/unit/utils/std/tuple/test_operator_tuple.cpp→tests/api/utils/std/tuple/test_operator_tuple.cpp+0-0
Rtests/unit/utils/std/type_traits/test_operator_conditional.cpp→tests/api/utils/std/type_traits/test_operator_conditional.cpp+0-0
Rtests/unit/utils/std/type_traits/test_operator_enable_if.cpp→tests/api/utils/std/type_traits/test_operator_enable_if.cpp+0-0
Rtests/unit/utils/std/type_traits/test_operator_integral_constant.cpp→tests/api/utils/std/type_traits/test_operator_integral_constant.cpp+0-0
Rtests/unit/utils/std/type_traits/test_operator_is_base_of.cpp→tests/api/utils/std/type_traits/test_operator_is_base_of.cpp+0-0
Rtests/unit/utils/std/type_traits/test_operator_is_convertible.cpp→tests/api/utils/std/type_traits/test_operator_is_convertible.cpp+0-0
Rtests/unit/utils/std/type_traits/test_operator_is_one_of.cpp→tests/api/utils/std/type_traits/test_operator_is_one_of.cpp+0-0
Rtests/unit/utils/std/type_traits/test_operator_is_same.cpp→tests/api/utils/std/type_traits/test_operator_is_same.cpp+0-0
Rtests/unit/basic_api/ut/testcase/tikcpp_tiling/test_tiling.cpp→tests/api/utils/tiling/test_tiling.cpp+10-4
Rtests/unit/basic_api/ut/testcase/tikcpp_tiling/test_tpl_tiling_key_debug.cpp→tests/api/utils/tiling/test_tpl_tiling_key_debug.cpp+1-1
Rtests/unit/basic_api/ut/testcase/tikcpp_tiling/test_tpl_tiling_key_release.cpp→tests/api/utils/tiling/test_tpl_tiling_key_release.cpp+0-0
Rtests/unit/cmake/scripts/generate_cpp_cov.sh→tests/cmake/scripts/generate_cpp_cov.sh+5-10文件内容审核中,请稍后刷新重试
Rtests/unit/basic_api/cmake/tools/python_llt_run_and_check.sh→tests/cmake/scripts/python_llt_run_and_check.sh+0-0
Rtests/unit/basic_api/cmake/config.cmake→tests/python/asc_opc/stub/tbe/common/platform/platform.py+4-7
Rtests/unit/basic_api/py_ut/testcase/compile_trace_log/empty_golden.json→tests/python/compile_trace_log/empty_golden.json+0-0
Rtests/unit/basic_api/py_ut/testcase/compile_trace_log/test_compile_trace_log.py→tests/python/compile_trace_log/test_compile_trace_log.py+5-1
Rtests/unit/basic_api/py_ut/testcase/compile_trace_log/unvalid.txt→tests/python/compile_trace_log/unvalid.txt+0-0
Rtests/unit/basic_api/py_ut/testcase/compile_trace_log/unvalid_golden.json→tests/python/compile_trace_log/unvalid_golden.json+0-0
Rtests/unit/basic_api/py_ut/testcase/compile_trace_log/valid.txt→tests/python/compile_trace_log/valid.txt+0-0
Rtests/unit/basic_api/py_ut/testcase/compile_trace_log/valid_golden.json→tests/python/compile_trace_log/valid_golden.json+0-0
Rtests/unit/basic_api/ut/testcase/aclrtc/test_acl_rt_compile.cpp→tests/tools/aclrtc/test_acl_rt_compile.cpp+38-3
Rtests/unit/basic_api/ut/testcase/ascendc_kernel/test_elf_tool.cpp→tests/tools/utils/asc_pack_kernel/test_pack_kernel.cpp+8-145
Rtests/unit/basic_api/ut/testcase/ascendc_kernel/test_aicpu_rt.cpp→tests/tools/utils/asc_rt/test_aicpu_rt.cpp+0-0
Rtests/unit/basic_api/ut/testcase/ascendc_kernel/test_ascendc_runtime.cpp→tests/tools/utils/asc_rt/test_ascendc_runtime.cpp+325-22
Rtests/unit/basic_api/ut/testcase/ascendc_kernel/elf_tools.txt→tests/tools/utils/elf_tool/elf_tools.txt+0-0
Rtests/unit/basic_api/ascendc_kernel_header/acl_rt_stub.cpp→tests/tools/utils/stub/acl_rt_stub.cpp+72-0
Rtests/unit/basic_api/ascendc_kernel_header/kernel_stub.cpp→tests/tools/utils/stub/kernel_stub.cpp+0-0
Rtests/unit/basic_api/ascendc_kernel_header/prof_api_stub.cpp→tests/tools/utils/stub/prof_api_stub.cpp+0-0
Rtests/unit/basic_api/ascendc_kernel_header/rt_ffts_stub.cpp→tests/tools/utils/stub/rt_ffts_stub.cpp+0-0