已合并
refactor: 统一 soc version chipType 获取链路 #1795
daijinling创建于 4月24日
refactor: 统一 soc version chipType 获取链路 #1795
已合并
共 116 个文件变更+1547-1517
| @@ -1,413 +1,414 @@ | |||
| 1 | -# [Platform Info configuration begin] | 1 | +# [Platform Info configuration begin] |
| 2 | -#************************************************************************************** | 2 | +#************************************************************************************** |
| 3 | -# | 3 | +# |
| 4 | -[version] | 4 | +[version] |
| 5 | -SoC_version=Ascend350_354f | 5 | +SoC_version=Ascend350_354f |
| 6 | -Short_SoC_version=Ascend350 | 6 | +Short_SoC_version=Ascend350 |
| 7 | -AIC_version=AIC-C-310 | 7 | +AIC_version=AIC-C-310 |
| 8 | -CCEC_AIC_version=dav-c310-cube | 8 | +CCEC_AIC_version=dav-c310-cube |
| 9 | -CCEC_AIV_version=dav-c310-vec | 9 | +CCEC_AIV_version=dav-c310-vec |
| 10 | -CCEC_CUBE_version=dav-c310-cube | 10 | +CCEC_CUBE_version=dav-c310-cube |
| 11 | -CCEC_VECTOR_version=dav-c310-vec | 11 | +CCEC_VECTOR_version=dav-c310-vec |
| 12 | -Compiler_aicpu_support_os=true | 12 | +Compiler_aicpu_support_os=true |
| 13 | -NpuArch=3510 | 13 | +NpuArch=3510 |
| 14 | - | 14 | +Chip_type=15 |
| 15 | -[SoCInfo] | 15 | + |
| 16 | -ai_core_cnt=14 | 16 | +[SoCInfo] |
| 17 | -cube_core_cnt=14 | 17 | +ai_core_cnt=14 |
| 18 | -vector_core_cnt=28 | 18 | +cube_core_cnt=14 |
| 19 | -ai_cpu_cnt=2 | 19 | +vector_core_cnt=28 |
| 20 | -memory_type=0 | 20 | +ai_cpu_cnt=2 |
| 21 | -memory_size=60129542144 | 21 | +memory_type=0 |
| 22 | -l2_type=0 | 22 | +memory_size=60129542144 |
| 23 | -l2_size=58720256 | 23 | +l2_type=0 |
| 24 | -l2PageNum=64 | 24 | +l2_size=58720256 |
| 25 | -normal_stream_num=2048 | 25 | +l2PageNum=64 |
| 26 | -normal_stream_depth=2048 | 26 | +normal_stream_num=2048 |
| 27 | -huge_stream_num=0 | 27 | +normal_stream_depth=2048 |
| 28 | -huge_stream_depth=0 | 28 | +huge_stream_num=0 |
| 29 | -prefetch_num=8 | 29 | +huge_stream_depth=0 |
| 30 | -core_type_list=CubeCore,VectorCore | 30 | +prefetch_num=8 |
| 31 | -cube_vector_combine=split | 31 | +core_type_list=CubeCore,VectorCore |
| 32 | -hardware_sync_betweencore=1 | 32 | +cube_vector_combine=split |
| 33 | -vir_type_list=7,14 | 33 | +hardware_sync_betweencore=1 |
| 34 | -support_bf16=1 | 34 | +vir_type_list=7,14 |
| 35 | -support_inf_nan=1 | 35 | +support_bf16=1 |
| 36 | - | 36 | +support_inf_nan=1 |
| 37 | -[AICoreSpec] | 37 | + |
| 38 | -cube_freq=1650 | 38 | +[AICoreSpec] |
| 39 | -cube_m_size=16 | 39 | +cube_freq=1650 |
| 40 | -cube_n_size=16 | 40 | +cube_m_size=16 |
| 41 | -cube_k_size=16 | 41 | +cube_n_size=16 |
| 42 | -vec_calc_size=128 | 42 | +cube_k_size=16 |
| 43 | -l0_a_size=65536 | 43 | +vec_calc_size=128 |
| 44 | -l0_b_size=65536 | 44 | +l0_a_size=65536 |
| 45 | -l0_c_size=262144 | 45 | +l0_b_size=65536 |
| 46 | -l1_size=524288 | 46 | +l0_c_size=262144 |
| 47 | -fb0_size=4096 | 47 | +l1_size=524288 |
| 48 | -fb1_size=2048 | 48 | +fb0_size=4096 |
| 49 | -fb2_size=0 | 49 | +fb1_size=2048 |
| 50 | -fb3_size=0 | 50 | +fb2_size=0 |
| 51 | -bt_size=4096 | 51 | +fb3_size=0 |
| 52 | -smask_buffer=0 | 52 | +bt_size=4096 |
| 53 | -ub_size=253952 | 53 | +smask_buffer=0 |
| 54 | -ubblock_size=32 | 54 | +ub_size=253952 |
| 55 | -ubbank_size=4096 | 55 | +ubblock_size=32 |
| 56 | -ubbank_num=16 | 56 | +ubbank_size=4096 |
| 57 | -ubsubbank_num=64 | 57 | +ubbank_num=16 |
| 58 | -ubburst_in_one_block=32 | 58 | +ubsubbank_num=64 |
| 59 | -ubbank_group_num=8 | 59 | +ubburst_in_one_block=32 |
| 60 | -support_fixpipe=1 | 60 | +ubbank_group_num=8 |
| 61 | -sparsity=0 | 61 | +support_fixpipe=1 |
| 62 | -l0a_layout_zN=1 | 62 | +sparsity=0 |
| 63 | -vector_reg_width=256 | 63 | +l0a_layout_zN=1 |
| 64 | -predicate_reg_width=32 | 64 | +vector_reg_width=256 |
| 65 | -wide_reg_width=768 | 65 | +predicate_reg_width=32 |
| 66 | -padding_size=0 | 66 | +wide_reg_width=768 |
| 67 | - | 67 | +padding_size=0 |
| 68 | -[AICoreMemoryRates] | 68 | + |
| 69 | -ddr_rate=27 | 69 | +[AICoreMemoryRates] |
| 70 | -ddr_read_rate=27 | 70 | +ddr_rate=27 |
| 71 | -ddr_write_rate=27 | 71 | +ddr_read_rate=27 |
| 72 | -l2_rate=100 | 72 | +ddr_write_rate=27 |
| 73 | -l2_read_rate=100 | 73 | +l2_rate=100 |
| 74 | -l2_write_rate=100 | 74 | +l2_read_rate=100 |
| 75 | -l1_to_l0_a_rate=256 | 75 | +l2_write_rate=100 |
| 76 | -l1_to_l0_b_rate=256 | 76 | +l1_to_l0_a_rate=256 |
| 77 | -l1_to_ub_rate=128 | 77 | +l1_to_l0_b_rate=256 |
| 78 | -l0_c_to_ub_rate=128 | 78 | +l1_to_ub_rate=128 |
| 79 | -ub_to_l2_rate=128 | 79 | +l0_c_to_ub_rate=128 |
| 80 | -ub_to_ddr_rate=128 | 80 | +ub_to_l2_rate=128 |
| 81 | -ub_to_l1_rate=128 | 81 | +ub_to_ddr_rate=128 |
| 82 | - | 82 | +ub_to_l1_rate=128 |
| 83 | -[DtypeMKN] | 83 | + |
| 84 | -Default=16,16,16 | 84 | +[DtypeMKN] |
| 85 | -DT_FLOAT8_E4M3FN=16,32,16 | 85 | +Default=16,16,16 |
| 86 | -DT_HIFLOAT8=16,32,16 | 86 | +DT_FLOAT8_E4M3FN=16,32,16 |
| 87 | -DT_HIFLOAT4=16,64,16 | 87 | +DT_HIFLOAT8=16,32,16 |
| 88 | -DT_FLOAT4_E2M1=16,64,16 | 88 | +DT_HIFLOAT4=16,64,16 |
| 89 | -DT_FLOAT4_E1M2=16,64,16 | 89 | +DT_FLOAT4_E2M1=16,64,16 |
| 90 | -DT_INT8=16,32,16 | 90 | +DT_FLOAT4_E1M2=16,64,16 |
| 91 | -DT_UINT8=16,32,16 | 91 | +DT_INT8=16,32,16 |
| 92 | -DT_INT4=16,64,16 | 92 | +DT_UINT8=16,32,16 |
| 93 | -DT_INT2=16,128,16 | 93 | +DT_INT4=16,64,16 |
| 94 | -DT_UINT2=16,128,16 | 94 | +DT_INT2=16,128,16 |
| 95 | -DT_UINT1=16,256,16 | 95 | +DT_UINT2=16,128,16 |
| 96 | -DT_FLOAT=16,8,16 | 96 | +DT_UINT1=16,256,16 |
| 97 | - | 97 | +DT_FLOAT=16,8,16 |
| 98 | -[CPUCache] | 98 | + |
| 99 | -AICPUSyncBySW=0 | 99 | +[CPUCache] |
| 100 | -TSCPUSyncBySW=0 | 100 | +AICPUSyncBySW=0 |
| 101 | - | 101 | +TSCPUSyncBySW=0 |
| 102 | -[AICoreintrinsicDtypeMap] | 102 | + |
| 103 | -0=Intrinsic_vrelu|float16,float32,int32 | 103 | +[AICoreintrinsicDtypeMap] |
| 104 | -1=Intrinsic_vexp|float16,float32 | 104 | +0=Intrinsic_vrelu|float16,float32,int32 |
| 105 | -2=Intrinsic_vln|float16,float32 | 105 | +1=Intrinsic_vexp|float16,float32 |
| 106 | -3=Intrinsic_vabs|float16,float32 | 106 | +2=Intrinsic_vln|float16,float32 |
| 107 | -4=Intrinsic_vrec|float16,float32 | 107 | +3=Intrinsic_vabs|float16,float32 |
| 108 | -5=Intrinsic_vrsqrt|float16,float32 | 108 | +4=Intrinsic_vrec|float16,float32 |
| 109 | -6=Intrinsic_vnot|int16,uint16 | 109 | +5=Intrinsic_vrsqrt|float16,float32 |
| 110 | -7=Intrinsic_vadd|float16,float32,int32,int16 | 110 | +6=Intrinsic_vnot|int16,uint16 |
| 111 | -8=Intrinsic_vsub|float16,float32,int32,int16 | 111 | +7=Intrinsic_vadd|float16,float32,int32,int16 |
| 112 | -9=Intrinsic_vmul|float16,float32,int32,int16 | 112 | +8=Intrinsic_vsub|float16,float32,int32,int16 |
| 113 | -10=Intrinsic_vmax|float16,float32,int32,int16 | 113 | +9=Intrinsic_vmul|float16,float32,int32,int16 |
| 114 | -11=Intrinsic_vmin|float16,float32,int32,int16 | 114 | +10=Intrinsic_vmax|float16,float32,int32,int16 |
| 115 | -12=Intrinsic_vand|int16,uint16 | 115 | +11=Intrinsic_vmin|float16,float32,int32,int16 |
| 116 | -13=Intrinsic_vor|int16,uint16 | 116 | +12=Intrinsic_vand|int16,uint16 |
| 117 | -14=Intrinsic_vadds|float16,float32,int32,int16 | 117 | +13=Intrinsic_vor|int16,uint16 |
| 118 | -15=Intrinsic_vmuls|float16,float32,int32,int16 | 118 | +14=Intrinsic_vadds|float16,float32,int32,int16 |
| 119 | -16=Intrinsic_vaxpy|f16f16f16,f32f32f32,float16,float32 | 119 | +15=Intrinsic_vmuls|float16,float32,int32,int16 |
| 120 | -17=Intrinsic_vcmpv_ne|float16,float32 | 120 | +16=Intrinsic_vaxpy|f16f16f16,f32f32f32,float16,float32 |
| 121 | -18=Intrinsic_vcmpv_eq|float16,float32,int32 | 121 | +17=Intrinsic_vcmpv_ne|float16,float32 |
| 122 | -19=Intrinsic_vcmpv_gt|float16,float32 | 122 | +18=Intrinsic_vcmpv_eq|float16,float32,int32 |
| 123 | -20=Intrinsic_vcmpv_ge|float16,float32 | 123 | +19=Intrinsic_vcmpv_gt|float16,float32 |
| 124 | -21=Intrinsic_vcmpv_lt|float16,float32 | 124 | +20=Intrinsic_vcmpv_ge|float16,float32 |
| 125 | -22=Intrinsic_vcmpv_le|float16,float32 | 125 | +21=Intrinsic_vcmpv_lt|float16,float32 |
| 126 | -23=Intrinsic_vconv|f322f32r,f322f32f,f322f32c,deq,f322f32a,f322f32z,f322f16,f322f16r,f322f16f,f322f16c,f322f16a,f322f16z,f322f16o,f322s64r,f322s64f,f322s64c,f322s64a,f322s64z,f322s32r,f322s32f,f322s32c,f322s32a,f322s32z,f322s16r,f322s16f,f322s16c,f322s16a,f322s16z,f162f32,f162s32r,f162s32f,f162s32c,f162s32a,f162s32z,f162s16r,f162s16f,f162s16c,f162s16a,f162s16z,f162s8,f162s8r,f162s8f,f162s8c,f162s8a,f162s8z,f162u8,f162u8r,f162u8f,f162u8c,f162u8a,f162u8z,u82f16,s82f16,s162f16,s162f16r,s162f16f,s162f16c,s162f16a,s162f16z,s162f32,s162s8,s162u8,s322f32,s322f32r,s322f32f,s322f32c,s322f32a,s322f32z,s322f16,s322s64,s322s16,s642s32,s642f32r,s642f32f,s642f32c,s642f32a,s642f32z,f322bf16r,f322bf16f,f322bf16c,f322bf16a,f322bf16z,bf162f32,bf162s32r,bf162s32f,bf162s32c,bf162s32a,bf162s32z | 126 | +22=Intrinsic_vcmpv_le|float16,float32 |
| 127 | -24=Intrinsic_vcadd|float16,float32 | 127 | +23=Intrinsic_vconv|f322f32r,f322f32f,f322f32c,deq,f322f32a,f322f32z,f322f16,f322f16r,f322f16f,f322f16c,f322f16a,f322f16z,f322f16o,f322s64r,f322s64f,f322s64c,f322s64a,f322s64z,f322s32r,f322s32f,f322s32c,f322s32a,f322s32z,f322s16r,f322s16f,f322s16c,f322s16a,f322s16z,f162f32,f162s32r,f162s32f,f162s32c,f162s32a,f162s32z,f162s16r,f162s16f,f162s16c,f162s16a,f162s16z,f162s8,f162s8r,f162s8f,f162s8c,f162s8a,f162s8z,f162u8,f162u8r,f162u8f,f162u8c,f162u8a,f162u8z,u82f16,s82f16,s162f16,s162f16r,s162f16f,s162f16c,s162f16a,s162f16z,s162f32,s162s8,s162u8,s322f32,s322f32r,s322f32f,s322f32c,s322f32a,s322f32z,s322f16,s322s64,s322s16,s642s32,s642f32r,s642f32f,s642f32c,s642f32a,s642f32z,f322bf16r,f322bf16f,f322bf16c,f322bf16a,f322bf16z,bf162f32,bf162s32r,bf162s32f,bf162s32c,bf162s32a,bf162s32z |
| 128 | -25=Intrinsic_vcmax|float16,float32 | 128 | +24=Intrinsic_vcadd|float16,float32 |
| 129 | -26=Intrinsic_vcmin|float16,float32 | 129 | +25=Intrinsic_vcmax|float16,float32 |
| 130 | -27=Intrinsic_vbi|float16,float32 | 130 | +26=Intrinsic_vcmin|float16,float32 |
| 131 | -28=Intrinsic_vlrelu|float16,float32 | 131 | +27=Intrinsic_vbi|float16,float32 |
| 132 | -29=Intrinsic_scatter_vconv|f322f16,f162f32,f162s8,f162u8,s322f16,s322f32,u82f16,s82f16,f162s32r,f162s8f,f162u8f,f162s32f,f322s32f,f162s8c,f162u8c,f162s32c,f322s32c,f162s8a,f162u8a,f162s32a,f322s32a,f162s8z,f162u8z,f162s32z,f322s32z,f322f16o | 132 | +28=Intrinsic_vlrelu|float16,float32 |
| 133 | -30=Intrinsic_vreduce|int16,uint16,float16,float32,int32,uint32 | 133 | +29=Intrinsic_scatter_vconv|f322f16,f162f32,f162s8,f162u8,s322f16,s322f32,u82f16,s82f16,f162s32r,f162s8f,f162u8f,f162s32f,f322s32f,f162s8c,f162u8c,f162s32c,f322s32c,f162s8a,f162u8a,f162s32a,f322s32a,f162s8z,f162u8z,f162s32z,f322s32z,f322f16o |
| 134 | -31=Intrinsic_vmaxs|float16,float32,int32,int16 | 134 | +30=Intrinsic_vreduce|int16,uint16,float16,float32,int32,uint32 |
| 135 | -32=Intrinsic_vcmp|float16,float32 | 135 | +31=Intrinsic_vmaxs|float16,float32,int32,int16 |
| 136 | -33=Intrinsic_vsel|float16,float32 | 136 | +32=Intrinsic_vcmp|float16,float32 |
| 137 | -34=Intrinsic_vsqrt|float16,float32 | 137 | +33=Intrinsic_vsel|float16,float32 |
| 138 | -35=Intrinsic_vdiv|float16,float32 | 138 | +34=Intrinsic_vsqrt|float16,float32 |
| 139 | -36=Intrinsic_vmins|float16,float32,int32,int16 | 139 | +35=Intrinsic_vdiv|float16,float32 |
| 140 | -37=Intrinsic_vshl|int16,uint16,int32,uint32 | 140 | +36=Intrinsic_vmins|float16,float32,int32,int16 |
| 141 | -38=Intrinsic_vshr|int16,uint16,int32,uint32 | 141 | +37=Intrinsic_vshl|int16,uint16,int32,uint32 |
| 142 | -39=Intrinsic_vnchwconv|float16,float32,int32,int16,uint32,uint16,int8,uint8 | 142 | +38=Intrinsic_vshr|int16,uint16,int32,uint32 |
| 143 | -40=Intrinsic_vreducev2|int16,uint16,float16,float32,int32,uint32 | 143 | +39=Intrinsic_vnchwconv|float16,float32,int32,int16,uint32,uint16,int8,uint8 |
| 144 | -41=Intrinsic_data_move_out2l1|hif8,f8,u8,s8,f16,bf16,u16,s16,f32,s32,u32 | 144 | +40=Intrinsic_vreducev2|int16,uint16,float16,float32,int32,uint32 |
| 145 | -42=Intrinsic_data_move_out2l0a|u8,s8,f16,u16,s16,f32,s32,u32 | 145 | +41=Intrinsic_data_move_out2l1|hif8,f8,u8,s8,f16,bf16,u16,s16,f32,s32,u32 |
| 146 | -43=Intrinsic_data_move_out2l0b|u8,s8,f16,u16,s16,f32,s32,u32 | 146 | +42=Intrinsic_data_move_out2l0a|u8,s8,f16,u16,s16,f32,s32,u32 |
| 147 | -44=Intrinsic_data_move_l12l0a|hif8,f8,u8,s8,f16,bf16,u16,s16,f32,s32,u32 | 147 | +43=Intrinsic_data_move_out2l0b|u8,s8,f16,u16,s16,f32,s32,u32 |
| 148 | -45=Intrinsic_data_move_l12l0b|hif8,f8,u8,s8,f16,bf16,u16,s16,f32,s32,u32 | 148 | +44=Intrinsic_data_move_l12l0a|hif8,f8,u8,s8,f16,bf16,u16,s16,f32,s32,u32 |
| 149 | -46=Intrinsic_data_move_l12out|u8,s8,f16,u16,s16,f32,s32,u32 | 149 | +45=Intrinsic_data_move_l12l0b|hif8,f8,u8,s8,f16,bf16,u16,s16,f32,s32,u32 |
| 150 | -47=Intrinsic_data_move_l12ub|u8,s8,f16,u16,s16,f32,s32,u32 | 150 | +46=Intrinsic_data_move_l12out|u8,s8,f16,u16,s16,f32,s32,u32 |
| 151 | -48=Intrinsic_data_move_ub2l1|u8,s8,f16,bf16,u16,s16,f32,s32,u32 | 151 | +47=Intrinsic_data_move_l12ub|u8,s8,f16,u16,s16,f32,s32,u32 |
| 152 | -49=Intrinsic_data_move_ub2out|u8,s8,f16,u16,s16,f32,s32,u32 | 152 | +48=Intrinsic_data_move_ub2l1|u8,s8,f16,bf16,u16,s16,f32,s32,u32 |
| 153 | -50=Intrinsic_data_move_l12bt|u8,s8,f16,bf16,u16,s16,f32,s32,u32 | 153 | +49=Intrinsic_data_move_ub2out|u8,s8,f16,u16,s16,f32,s32,u32 |
| 154 | -51=Intrinsic_data_move_out2ub|u8,s8,f16,u16,s16,f32,s32,u32 | 154 | +50=Intrinsic_data_move_l12bt|u8,s8,f16,bf16,u16,s16,f32,s32,u32 |
| 155 | -52=Intrinsic_data_move_ub2ub|u8,s8,f16,u16,s16,f32,s32,u32 | 155 | +51=Intrinsic_data_move_out2ub|u8,s8,f16,u16,s16,f32,s32,u32 |
| 156 | -53=Intrinsic_data_move_transpose_l12l0a|u8,s8,f16,u16,s16,f32,s32,u32 | 156 | +52=Intrinsic_data_move_ub2ub|u8,s8,f16,u16,s16,f32,s32,u32 |
| 157 | -54=Intrinsic_data_move_transpose_l12l0b|u8,s8,f16,u16,s16,f32,s32,u32 | 157 | +53=Intrinsic_data_move_transpose_l12l0a|u8,s8,f16,u16,s16,f32,s32,u32 |
| 158 | -55=Intrinsic_set_l1|f16,u16,s16,f32,s32,u32 | 158 | +54=Intrinsic_data_move_transpose_l12l0b|u8,s8,f16,u16,s16,f32,s32,u32 |
| 159 | -56=Intrinsic_set_l0a|f16,u16,s16,f32,s32,u32 | 159 | +55=Intrinsic_set_l1|f16,u16,s16,f32,s32,u32 |
| 160 | -57=Intrinsic_set_l0b|f16,u16,s16,f32,s32,u32 | 160 | +56=Intrinsic_set_l0a|f16,u16,s16,f32,s32,u32 |
| 161 | -58=Intrinsic_fix_pipe_l0c2l1|f32,s32,f16 | 161 | +57=Intrinsic_set_l0b|f16,u16,s16,f32,s32,u32 |
| 162 | -59=Intrinsic_fix_pipe_l0c2out|f32,s32,f16 | 162 | +58=Intrinsic_fix_pipe_l0c2l1|f32,s32,f16 |
| 163 | -60=Intrinsic_fix_pipe_l0c2ub|f32,s32,f16 | 163 | +59=Intrinsic_fix_pipe_l0c2out|f32,s32,f16 |
| 164 | -61=Intrinsic_fix_pipe_l12fb|u8,s8,f16,u16,s16,f32,s32,u32 | 164 | +60=Intrinsic_fix_pipe_l0c2ub|f32,s32,f16 |
| 165 | -62=Intrinsic_fix_pipe_unit_list|pre_conv,pre_act,post_eltwise,post_act,post_quant,post_transform | 165 | +61=Intrinsic_fix_pipe_l12fb|u8,s8,f16,u16,s16,f32,s32,u32 |
| 166 | -63=Intrinsic_fix_pipe_pre_conv_func_list|requant,dequant,quant,cast | 166 | +62=Intrinsic_fix_pipe_unit_list|pre_conv,pre_act,post_eltwise,post_act,post_quant,post_transform |
| 167 | -64=Intrinsic_fix_pipe_pre_conv_requant|s322s8,s322u8,s322s4 | 167 | +63=Intrinsic_fix_pipe_pre_conv_func_list|requant,dequant,quant,cast |
| 168 | -65=Intrinsic_fix_pipe_pre_conv_dequant|s322f16 | 168 | +64=Intrinsic_fix_pipe_pre_conv_requant|s322s8,s322u8,s322s4 |
| 169 | -66=Intrinsic_fix_pipe_pre_conv_quant|f322s8,f322u8,f322s4 | 169 | +65=Intrinsic_fix_pipe_pre_conv_dequant|s322f16 |
| 170 | -67=Intrinsic_fix_pipe_pre_conv_cast|f322f16,f322bf16 | 170 | +66=Intrinsic_fix_pipe_pre_conv_quant|f322s8,f322u8,f322s4 |
| 171 | -68=Intrinsic_fix_pipe_pre_act_func_list|normal_relu,scalar_relu,vector_relu,clip_relu | 171 | +67=Intrinsic_fix_pipe_pre_conv_cast|f322f16,f322bf16 |
| 172 | -69=Intrinsic_fix_pipe_pre_act_normal_relu|f32,f16,bf16,s8,u8,s4,s32 | 172 | +68=Intrinsic_fix_pipe_pre_act_func_list|normal_relu,scalar_relu,vector_relu,clip_relu |
| 173 | -70=Intrinsic_fix_pipe_pre_act_scalar_relu|f16,s8,u8,s4 | 173 | +69=Intrinsic_fix_pipe_pre_act_normal_relu|f32,f16,bf16,s8,u8,s4,s32 |
| 174 | -71=Intrinsic_fix_pipe_pre_act_vector_relu|f16,s8,u8,s4 | 174 | +70=Intrinsic_fix_pipe_pre_act_scalar_relu|f16,s8,u8,s4 |
| 175 | -72=Intrinsic_fix_pipe_pre_act_clip_relu|f16,s8,u8,s4 | 175 | +71=Intrinsic_fix_pipe_pre_act_vector_relu|f16,s8,u8,s4 |
| 176 | -73=Intrinsic_mmad|s8,f162f32,s4,bf162f32,f322f32,h322f32,s32s8s8,f16f16f16,f32f16f16,s32u8u2,f16f16u2,s32s4s4,e4m3e4m3,e4m3e5m2,e5m2e4m3,e5m2e5m2 | 176 | +72=Intrinsic_fix_pipe_pre_act_clip_relu|f16,s8,u8,s4 |
| 177 | -74=Intrinsic_mmad_sp|s8 | 177 | +73=Intrinsic_mmad|s8,f162f32,s4,bf162f32,f322f32,h322f32,s32s8s8,f16f16f16,f32f16f16,s32u8u2,f16f16u2,s32s4s4,e4m3e4m3,e4m3e5m2,e5m2e4m3,e5m2e5m2 |
| 178 | -75=Intrinsic_vcgadd|float16,float32 | 178 | +74=Intrinsic_mmad_sp|s8 |
| 179 | -76=Intrinsic_vconcat|float16,float32 | 179 | +75=Intrinsic_vcgadd|float16,float32 |
| 180 | -77=Intrinsic_sqrt|int64,float32 | 180 | +76=Intrinsic_vconcat|float16,float32 |
| 181 | -78=Intrinsic_abs|int64,float32 | 181 | +77=Intrinsic_sqrt|int64,float32 |
| 182 | -79=Intrinsic_bcnt0|uint64 | 182 | +78=Intrinsic_abs|int64,float32 |
| 183 | -80=Intrinsic_bcnt1|uint64 | 183 | +79=Intrinsic_bcnt0|uint64 |
| 184 | -81=Intrinsic_max|int64,float32 | 184 | +80=Intrinsic_bcnt1|uint64 |
| 185 | -82=Intrinsic_min|int64,float32 | 185 | +81=Intrinsic_max|int64,float32 |
| 186 | -83=Intrinsic_vcopy|int16,uint16,float16,float32,int32,uint32 | 186 | +82=Intrinsic_min|int64,float32 |
| 187 | -84=Intrinsic_vbitsort32|float16,float32 | 187 | +83=Intrinsic_vcopy|int16,uint16,float16,float32,int32,uint32 |
| 188 | -85=Intrinsic_vmrgsort4v2|float16,float32 | 188 | +84=Intrinsic_vbitsort32|float16,float32 |
| 189 | -86=Intrinsic_vgatherb|u16u16,s16s16,f16f16,u32u32,s32s32,f32f32 | 189 | +85=Intrinsic_vmrgsort4v2|float16,float32 |
| 190 | -87=Intrinsic_vmadd|float16,float32 | 190 | +86=Intrinsic_vgatherb|u16u16,s16s16,f16f16,u32u32,s32s32,f32f32 |
| 191 | -88=Intrinsic_vcmpvs_ne|float16,float32 | 191 | +87=Intrinsic_vmadd|float16,float32 |
| 192 | -89=Intrinsic_vcmpvs_eq|int32,float16,float32 | 192 | +88=Intrinsic_vcmpvs_ne|float16,float32 |
| 193 | -90=Intrinsic_vcmpvs_gt|float16,float32 | 193 | +89=Intrinsic_vcmpvs_eq|int32,float16,float32 |
| 194 | -91=Intrinsic_vcmpvs_ge|float16,float32 | 194 | +90=Intrinsic_vcmpvs_gt|float16,float32 |
| 195 | -92=Intrinsic_vcmpvs_lt|float16,float32 | 195 | +91=Intrinsic_vcmpvs_ge|float16,float32 |
| 196 | -93=Intrinsic_vcmpvs_le|float16,float32 | 196 | +92=Intrinsic_vcmpvs_lt|float16,float32 |
| 197 | -94=Intrinsic_vcbd|u82u16,u82u32,s82s16,s82s32,u162u8,u162u32,s162u8,s162u32,s162s32,u322u8,u322u16,u322s16,s322u8,s322u16,s322s16 | 197 | +93=Intrinsic_vcmpvs_le|float16,float32 |
| 198 | -95=Intrinsic_vcgmax|float16,float32 | 198 | +94=Intrinsic_vcbd|u82u16,u82u32,s82s16,s82s32,u162u8,u162u32,s162u8,s162u32,s162s32,u322u8,u322u16,u322s16,s322u8,s322u16,s322s16 |
| 199 | -96=Intrinsic_clz|uint64 | 199 | +95=Intrinsic_vcgmax|float16,float32 |
| 200 | -97=Intrinsic_vmla|f16f16f16,f32f32f32,float16,float32 | 200 | +96=Intrinsic_clz|uint64 |
| 201 | -98=Intrinsic_vcgmin|float16,float32 | 201 | +97=Intrinsic_vmla|f16f16f16,f32f32f32,float16,float32 |
| 202 | -99=Intrinsic_vcpadd|float16,float32 | 202 | +98=Intrinsic_vcgmin|float16,float32 |
| 203 | -100=Intrinsic_vtranspose|uint16,int16,float16 | 203 | +99=Intrinsic_vcpadd|float16,float32 |
| 204 | -101=Intrinsic_vscatter|int16,uint16,float16,float32,int32,uint32 | 204 | +100=Intrinsic_vtranspose|uint16,int16,float16 |
| 205 | -102=Intrinsic_vgather|int16,uint16,float16,float32,int32,uint32 | 205 | +101=Intrinsic_vscatter|int16,uint16,float16,float32,int32,uint32 |
| 206 | -103=Intrinsic_vbrcb|u16u16,s16s16,f16f16,u32u32,s32s32,f32f32 | 206 | +102=Intrinsic_vgather|int16,uint16,float16,float32,int32,uint32 |
| 207 | -104=Intrinsic_data_move_pad|uint8,int8,uint16,int16,float16,int32,float32,uint32,bfloat16 | 207 | +103=Intrinsic_vbrcb|u16u16,s16s16,f16f16,u32u32,s32s32,f32f32 |
| 208 | -105=Intrinsic_data_move_out2l1_nd2nz|hif8,f8,u8,s8,f16,bf16,u16,s16,f32,s32,u32 | 208 | +104=Intrinsic_data_move_pad|uint8,int8,uint16,int16,float16,int32,float32,uint32,bfloat16 |
| 209 | -106=Intrinsic_data_move_out2l1_dn2nz|hif8,f8,u8,s8,f16,bf16,u16,s16,f32,s32,u32 | 209 | +105=Intrinsic_data_move_out2l1_nd2nz|hif8,f8,u8,s8,f16,bf16,u16,s16,f32,s32,u32 |
| 210 | -107=Intrinsic_fix_pipe_post_transform_nz2nd|f32,f16,bf16,s8,u8,s4,s32 | 210 | +106=Intrinsic_data_move_out2l1_dn2nz|hif8,f8,u8,s8,f16,bf16,u16,s16,f32,s32,u32 |
| 211 | -108=Intrinsic_fix_pipe_support_multiple_output|true | 211 | +107=Intrinsic_fix_pipe_post_transform_nz2nd|f32,f16,bf16,s8,u8,s4,s32 |
| 212 | - | 212 | +108=Intrinsic_fix_pipe_support_multiple_output|true |
| 213 | -[VectorCoreSpec] | 213 | + |
| 214 | -vec_freq=1650 | 214 | +[VectorCoreSpec] |
| 215 | -vec_calc_size=128 | 215 | +vec_freq=1650 |
| 216 | -smask_buffer=0 | 216 | +vec_calc_size=128 |
| 217 | -ub_size=253952 | 217 | +smask_buffer=0 |
| 218 | -ubblock_size=32 | 218 | +ub_size=253952 |
| 219 | -ubbank_size=4096 | 219 | +ubblock_size=32 |
| 220 | -ubbank_num=16 | 220 | +ubbank_size=4096 |
| 221 | -ubsubbank_num=64 | 221 | +ubbank_num=16 |
| 222 | -ubburst_in_one_block=32 | 222 | +ubsubbank_num=64 |
| 223 | -ubbank_group_num=8 | 223 | +ubburst_in_one_block=32 |
| 224 | -vector_reg_width=256 | 224 | +ubbank_group_num=8 |
| 225 | -predicate_reg_width=32 | 225 | +vector_reg_width=256 |
| 226 | -wide_reg_width=768 | 226 | +predicate_reg_width=32 |
| 227 | - | 227 | +wide_reg_width=768 |
| 228 | -[VectorCoreMemoryRates] | 228 | + |
| 229 | -ddr_rate=14 | 229 | +[VectorCoreMemoryRates] |
| 230 | -ddr_read_rate=14 | 230 | +ddr_rate=14 |
| 231 | -ddr_write_rate=14 | 231 | +ddr_read_rate=14 |
| 232 | -l2_rate=100 | 232 | +ddr_write_rate=14 |
| 233 | -l2_read_rate=100 | 233 | +l2_rate=100 |
| 234 | -l2_write_rate=100 | 234 | +l2_read_rate=100 |
| 235 | -ub_to_l2_rate=42 | 235 | +l2_write_rate=100 |
| 236 | -ub_to_ddr_rate=40 | 236 | +ub_to_l2_rate=42 |
| 237 | - | 237 | +ub_to_ddr_rate=40 |
| 238 | - | 238 | + |
| 239 | -[VectorCoreintrinsicDtypeMap] | 239 | + |
| 240 | -0=Intrinsic_vrelu|float16,float32,int32 | 240 | +[VectorCoreintrinsicDtypeMap] |
| 241 | -1=Intrinsic_vexp|float16,float32 | 241 | +0=Intrinsic_vrelu|float16,float32,int32 |
| 242 | -2=Intrinsic_vln|float16,float32 | 242 | +1=Intrinsic_vexp|float16,float32 |
| 243 | -3=Intrinsic_vabs|float16,float32 | 243 | +2=Intrinsic_vln|float16,float32 |
| 244 | -4=Intrinsic_vrec|float16,float32 | 244 | +3=Intrinsic_vabs|float16,float32 |
| 245 | -5=Intrinsic_vrsqrt|float16,float32 | 245 | +4=Intrinsic_vrec|float16,float32 |
| 246 | -6=Intrinsic_vnot|int16,uint16 | 246 | +5=Intrinsic_vrsqrt|float16,float32 |
| 247 | -7=Intrinsic_vadd|float16,float32,int32,int16 | 247 | +6=Intrinsic_vnot|int16,uint16 |
| 248 | -8=Intrinsic_vsub|float16,float32,int32,int16 | 248 | +7=Intrinsic_vadd|float16,float32,int32,int16 |
| 249 | -9=Intrinsic_vmul|float16,float32,int32,int16 | 249 | +8=Intrinsic_vsub|float16,float32,int32,int16 |
| 250 | -10=Intrinsic_vmax|float16,float32,int32,int16 | 250 | +9=Intrinsic_vmul|float16,float32,int32,int16 |
| 251 | -11=Intrinsic_vmin|float16,float32,int32,int16 | 251 | +10=Intrinsic_vmax|float16,float32,int32,int16 |
| 252 | -12=Intrinsic_vand|int16,uint16 | 252 | +11=Intrinsic_vmin|float16,float32,int32,int16 |
| 253 | -13=Intrinsic_vor|int16,uint16 | 253 | +12=Intrinsic_vand|int16,uint16 |
| 254 | -14=Intrinsic_vadds|float16,float32,int32,int16 | 254 | +13=Intrinsic_vor|int16,uint16 |
| 255 | -15=Intrinsic_vmuls|float16,float32,int32,int16 | 255 | +14=Intrinsic_vadds|float16,float32,int32,int16 |
| 256 | -16=Intrinsic_vaxpy|f16f16f16,f32f32f32,float16,float32 | 256 | +15=Intrinsic_vmuls|float16,float32,int32,int16 |
| 257 | -17=Intrinsic_vcmpv_ne|float16,float32 | 257 | +16=Intrinsic_vaxpy|f16f16f16,f32f32f32,float16,float32 |
| 258 | -18=Intrinsic_vcmpv_eq|float16,float32,int32 | 258 | +17=Intrinsic_vcmpv_ne|float16,float32 |
| 259 | -19=Intrinsic_vcmpv_gt|float16,float32 | 259 | +18=Intrinsic_vcmpv_eq|float16,float32,int32 |
| 260 | -20=Intrinsic_vcmpv_ge|float16,float32 | 260 | +19=Intrinsic_vcmpv_gt|float16,float32 |
| 261 | -21=Intrinsic_vcmpv_lt|float16,float32 | 261 | +20=Intrinsic_vcmpv_ge|float16,float32 |
| 262 | -22=Intrinsic_vcmpv_le|float16,float32 | 262 | +21=Intrinsic_vcmpv_lt|float16,float32 |
| 263 | -23=Intrinsic_vconv|f322f32r,f322f32f,f322f32c,deq,f322f32a,f322f32z,f322f16,f322f16r,f322f16f,f322f16c,f322f16a,f322f16z,f322f16o,f322s64r,f322s64f,f322s64c,f322s64a,f322s64z,f322s32r,f322s32f,f322s32c,f322s32a,f322s32z,f322s16r,f322s16f,f322s16c,f322s16a,f322s16z,f162f32,f162s32r,f162s32f,f162s32c,f162s32a,f162s32z,f162s16r,f162s16f,f162s16c,f162s16a,f162s16z,f162s8,f162s8r,f162s8f,f162s8c,f162s8a,f162s8z,f162u8,f162u8r,f162u8f,f162u8c,f162u8a,f162u8z,u82f16,s82f16,s162f16,s162f16r,s162f16f,s162f16c,s162f16a,s162f16z,s162f32,s162s8,s162u8,s322f32,s322f32r,s322f32f,s322f32c,s322f32a,s322f32z,s322f16,s322s64,s322s16,s642s32,s642f32r,s642f32f,s642f32c,s642f32a,s642f32z,f322bf16r,f322bf16f,f322bf16c,f322bf16a,f322bf16z,bf162f32,bf162s32r,bf162s32f,bf162s32c,bf162s32a,bf162s32z | 263 | +22=Intrinsic_vcmpv_le|float16,float32 |
| 264 | -24=Intrinsic_vcadd|float16,float32 | 264 | +23=Intrinsic_vconv|f322f32r,f322f32f,f322f32c,deq,f322f32a,f322f32z,f322f16,f322f16r,f322f16f,f322f16c,f322f16a,f322f16z,f322f16o,f322s64r,f322s64f,f322s64c,f322s64a,f322s64z,f322s32r,f322s32f,f322s32c,f322s32a,f322s32z,f322s16r,f322s16f,f322s16c,f322s16a,f322s16z,f162f32,f162s32r,f162s32f,f162s32c,f162s32a,f162s32z,f162s16r,f162s16f,f162s16c,f162s16a,f162s16z,f162s8,f162s8r,f162s8f,f162s8c,f162s8a,f162s8z,f162u8,f162u8r,f162u8f,f162u8c,f162u8a,f162u8z,u82f16,s82f16,s162f16,s162f16r,s162f16f,s162f16c,s162f16a,s162f16z,s162f32,s162s8,s162u8,s322f32,s322f32r,s322f32f,s322f32c,s322f32a,s322f32z,s322f16,s322s64,s322s16,s642s32,s642f32r,s642f32f,s642f32c,s642f32a,s642f32z,f322bf16r,f322bf16f,f322bf16c,f322bf16a,f322bf16z,bf162f32,bf162s32r,bf162s32f,bf162s32c,bf162s32a,bf162s32z |
| 265 | -25=Intrinsic_vcmax|float16,float32 | 265 | +24=Intrinsic_vcadd|float16,float32 |
| 266 | -26=Intrinsic_vcmin|float16,float32 | 266 | +25=Intrinsic_vcmax|float16,float32 |
| 267 | -27=Intrinsic_vbi|float16,float32 | 267 | +26=Intrinsic_vcmin|float16,float32 |
| 268 | -28=Intrinsic_vlrelu|float16,float32 | 268 | +27=Intrinsic_vbi|float16,float32 |
| 269 | -29=Intrinsic_scatter_vconv|f322f16,f162f32,f162s8,f162u8,s322f16,s322f32,u82f16,s82f16,f162s32r,f162s8f,f162u8f,f162s32f,f322s32f,f162s8c,f162u8c,f162s32c,f322s32c,f162s8a,f162u8a,f162s32a,f322s32a,f162s8z,f162u8z,f162s32z,f322s32z,f322f16o | 269 | +28=Intrinsic_vlrelu|float16,float32 |
| 270 | -30=Intrinsic_vreduce|int16,uint16,float16,float32,int32,uint32 | 270 | +29=Intrinsic_scatter_vconv|f322f16,f162f32,f162s8,f162u8,s322f16,s322f32,u82f16,s82f16,f162s32r,f162s8f,f162u8f,f162s32f,f322s32f,f162s8c,f162u8c,f162s32c,f322s32c,f162s8a,f162u8a,f162s32a,f322s32a,f162s8z,f162u8z,f162s32z,f322s32z,f322f16o |
| 271 | -31=Intrinsic_vmaxs|float16,float32,int32,int16 | 271 | +30=Intrinsic_vreduce|int16,uint16,float16,float32,int32,uint32 |
| 272 | -32=Intrinsic_vcmp|float16,float32 | 272 | +31=Intrinsic_vmaxs|float16,float32,int32,int16 |
| 273 | -33=Intrinsic_vsel|float16,float32 | 273 | +32=Intrinsic_vcmp|float16,float32 |
| 274 | -34=Intrinsic_vsqrt|float16,float32 | 274 | +33=Intrinsic_vsel|float16,float32 |
| 275 | -35=Intrinsic_vdiv|float16,float32 | 275 | +34=Intrinsic_vsqrt|float16,float32 |
| 276 | -36=Intrinsic_vmins|float16,float32,int32,int16 | 276 | +35=Intrinsic_vdiv|float16,float32 |
| 277 | -37=Intrinsic_vshl|int16,uint16,int32,uint32 | 277 | +36=Intrinsic_vmins|float16,float32,int32,int16 |
| 278 | -38=Intrinsic_vshr|int16,uint16,int32,uint32 | 278 | +37=Intrinsic_vshl|int16,uint16,int32,uint32 |
| 279 | -39=Intrinsic_vnchwconv|float16,float32,int32,int16,uint32,uint16,int8,uint8 | 279 | +38=Intrinsic_vshr|int16,uint16,int32,uint32 |
| 280 | -40=Intrinsic_vreducev2|int16,uint16,float16,float32,int32,uint32 | 280 | +39=Intrinsic_vnchwconv|float16,float32,int32,int16,uint32,uint16,int8,uint8 |
| 281 | -41=Intrinsic_vcpadd|float16,float32 | 281 | +40=Intrinsic_vreducev2|int16,uint16,float16,float32,int32,uint32 |
| 282 | -42=Intrinsic_vgatherb|u16u16,s16s16,f16f16,u32u32,s32s32,f32f32 | 282 | +41=Intrinsic_vcpadd|float16,float32 |
| 283 | -43=Intrinsic_vbrcb|u16u16,s16s16,f16f16,u32u32,s32s32,f32f32 | 283 | +42=Intrinsic_vgatherb|u16u16,s16s16,f16f16,u32u32,s32s32,f32f32 |
| 284 | -44=Intrinsic_sqrt|int64,float32 | 284 | +43=Intrinsic_vbrcb|u16u16,s16s16,f16f16,u32u32,s32s32,f32f32 |
| 285 | -45=Intrinsic_abs|int64,float32 | 285 | +44=Intrinsic_sqrt|int64,float32 |
| 286 | -46=Intrinsic_bcnt0|uint64 | 286 | +45=Intrinsic_abs|int64,float32 |
| 287 | -47=Intrinsic_bcnt1|uint64 | 287 | +46=Intrinsic_bcnt0|uint64 |
| 288 | -48=Intrinsic_clz|uint64 | 288 | +47=Intrinsic_bcnt1|uint64 |
| 289 | -49=Intrinsic_max|int64,float32 | 289 | +48=Intrinsic_clz|uint64 |
| 290 | -50=Intrinsic_min|int64,float32 | 290 | +49=Intrinsic_max|int64,float32 |
| 291 | -51=Intrinsic_vcgadd|float16,float32 | 291 | +50=Intrinsic_min|int64,float32 |
| 292 | -52=Intrinsic_vectorized_psts|uint8,int8,uint16,int16,uint32,int32,float16,float32 | 292 | +51=Intrinsic_vcgadd|float16,float32 |
| 293 | -53=Intrinsic_vgather|int16,uint16,float16,float32,int32,uint32 | 293 | +52=Intrinsic_vectorized_psts|uint8,int8,uint16,int16,uint32,int32,float16,float32 |
| 294 | -98=Intrinsic_vectorized_vadds|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 | 294 | +53=Intrinsic_vgather|int16,uint16,float16,float32,int32,uint32 |
| 295 | -99=Intrinsic_vectorized_vmuls|u8u8,s8s8,u16u16,s16s16,s32s32,f16f16,f32f32,u8s24,s8s24,u16s48,s16s48,u16s64,s16s64 | 295 | +98=Intrinsic_vectorized_vadds|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 |
| 296 | -100=Intrinsic_vectorized_vmul|u8u8,s8s8,u16u16,s16s16,s32s32,f16f16,f32f32,u8s24,s8s24,u16s48,s16s48,u16s64,s16s64 | 296 | +99=Intrinsic_vectorized_vmuls|u8u8,s8s8,u16u16,s16s16,s32s32,f16f16,f32f32,u8s24,s8s24,u16s48,s16s48,u16s64,s16s64 |
| 297 | -101=Intrinsic_vectorized_sub|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32,s8s24,u8s24,s16s48,u16s48 | 297 | +100=Intrinsic_vectorized_vmul|u8u8,s8s8,u16u16,s16s16,s32s32,f16f16,f32f32,u8s24,s8s24,u16s48,s16s48,u16s64,s16s64 |
| 298 | -102=Intrinsic_vectorized_vexp|f16f16,f32f32 | 298 | +101=Intrinsic_vectorized_sub|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32,s8s24,u8s24,s16s48,u16s48 |
| 299 | -103=Intrinsic_vectorized_vadd|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32,s8s24,u8s24,s16s48,u16s48 | 299 | +102=Intrinsic_vectorized_vexp|f16f16,f32f32 |
| 300 | -104=Intrinsic_vectorized_vdiv|u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 | 300 | +103=Intrinsic_vectorized_vadd|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32,s8s24,u8s24,s16s48,u16s48 |
| 301 | -105=Intrinsic_vectorized_vmaxs|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 | 301 | +104=Intrinsic_vectorized_vdiv|u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 |
| 302 | -106=Intrinsic_vectorized_vmins|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 | 302 | +105=Intrinsic_vectorized_vmaxs|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 |
| 303 | -107=Intrinsic_vectorized_vcadd|s8s16,s16s32,s32s32,u8u16,u16u32,u32u32,f16f16,f32f32 | 303 | +106=Intrinsic_vectorized_vmins|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 |
| 304 | -108=Intrinsic_vectorized_vcmax|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 | 304 | +107=Intrinsic_vectorized_vcadd|s8s16,s16s32,s32s32,u8u16,u16u32,u32u32,f16f16,f32f32 |
| 305 | -109=Intrinsic_vectorized_vcmin|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 | 305 | +108=Intrinsic_vectorized_vcmax|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 |
| 306 | -110=Intrinsic_vectorized_vxor|bb,u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 | 306 | +109=Intrinsic_vectorized_vcmin|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 |
| 307 | -111=Intrinsic_vectorized_vand|bb,u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 | 307 | +110=Intrinsic_vectorized_vxor|bb,u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 |
| 308 | -112=Intrinsic_vectorized_vor|bb,u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 | 308 | +111=Intrinsic_vectorized_vand|bb,u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 |
| 309 | -113=Intrinsic_vectorized_vsel|bb,u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 | 309 | +112=Intrinsic_vectorized_vor|bb,u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 |
| 310 | -114=Intrinsic_vectorized_vdup|uint8,int8,uint16,int16,uint32,int32,float16,float32 | 310 | +113=Intrinsic_vectorized_vsel|bb,u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 |
| 311 | -115=Intrinsic_vectorized_vdupm|uint8,int8,uint16,int16,uint32,int32,float16,float32 | 311 | +114=Intrinsic_vectorized_vdup|uint8,int8,uint16,int16,uint32,int32,float16,float32 |
| 312 | -116=Intrinsic_vectorized_vdups|uint8,int8,uint16,int16,uint32,int32,float16,float32 | 312 | +115=Intrinsic_vectorized_vdupm|uint8,int8,uint16,int16,uint32,int32,float16,float32 |
| 313 | -117=Intrinsic_vectorized_vdupi|uint8,int8,uint16,int16,float16 | 313 | +116=Intrinsic_vectorized_vdups|uint8,int8,uint16,int16,uint32,int32,float16,float32 |
| 314 | -118=Intrinsic_vectorized_vcmp_eq|uint8,int8,uint16,int16,uint32,int32,float16,float32 | 314 | +117=Intrinsic_vectorized_vdupi|uint8,int8,uint16,int16,float16 |
| 315 | -119=Intrinsic_vectorized_vcmp_ne|uint8,int8,uint16,int16,uint32,int32,float16,float32 | 315 | +118=Intrinsic_vectorized_vcmp_eq|uint8,int8,uint16,int16,uint32,int32,float16,float32 |
| 316 | -120=Intrinsic_vectorized_vcmp_gt|uint8,int8,uint16,int16,uint32,int32,float16,float32 | 316 | +119=Intrinsic_vectorized_vcmp_ne|uint8,int8,uint16,int16,uint32,int32,float16,float32 |
| 317 | -121=Intrinsic_vectorized_vcmp_ge|uint8,int8,uint16,int16,uint32,int32,float16,float32 | 317 | +120=Intrinsic_vectorized_vcmp_gt|uint8,int8,uint16,int16,uint32,int32,float16,float32 |
| 318 | -122=Intrinsic_vectorized_vcmp_lt|uint8,int8,uint16,int16,uint32,int32,float16,float32 | 318 | +121=Intrinsic_vectorized_vcmp_ge|uint8,int8,uint16,int16,uint32,int32,float16,float32 |
| 319 | -123=Intrinsic_vectorized_vcmp_le|uint8,int8,uint16,int16,uint32,int32,float16,float32 | 319 | +122=Intrinsic_vectorized_vcmp_lt|uint8,int8,uint16,int16,uint32,int32,float16,float32 |
| 320 | -124=Intrinsic_vectorized_vcmps_eq|uint8,int8,uint16,int16,uint32,int32,float16,float32 | 320 | +123=Intrinsic_vectorized_vcmp_le|uint8,int8,uint16,int16,uint32,int32,float16,float32 |
| 321 | -125=Intrinsic_vectorized_vcmps_ne|uint8,int8,uint16,int16,uint32,int32,float16,float32 | 321 | +124=Intrinsic_vectorized_vcmps_eq|uint8,int8,uint16,int16,uint32,int32,float16,float32 |
| 322 | -126=Intrinsic_vectorized_vcmps_gt|uint8,int8,uint16,int16,uint32,int32,float16,float32 | 322 | +125=Intrinsic_vectorized_vcmps_ne|uint8,int8,uint16,int16,uint32,int32,float16,float32 |
| 323 | -127=Intrinsic_vectorized_vcmps_ge|uint8,int8,uint16,int16,uint32,int32,float16,float32 | 323 | +126=Intrinsic_vectorized_vcmps_gt|uint8,int8,uint16,int16,uint32,int32,float16,float32 |
| 324 | -128=Intrinsic_vectorized_vcmps_lt|uint8,int8,uint16,int16,uint32,int32,float16,float32 | 324 | +127=Intrinsic_vectorized_vcmps_ge|uint8,int8,uint16,int16,uint32,int32,float16,float32 |
| 325 | -129=Intrinsic_vectorized_vcmps_le|uint8,int8,uint16,int16,uint32,int32,float16,float32 | 325 | +128=Intrinsic_vectorized_vcmps_lt|uint8,int8,uint16,int16,uint32,int32,float16,float32 |
| 326 | -130=Intrinsic_vectorized_vscatter|s8u16,u8u16,s16u16,u16u16,s32u32,u32u32,f16u16,f32u32 | 326 | +129=Intrinsic_vectorized_vcmps_le|uint8,int8,uint16,int16,uint32,int32,float16,float32 |
| 327 | -131=Intrinsic_vectorized_vmov|bb,u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 | 327 | +130=Intrinsic_vectorized_vscatter|s8u16,u8u16,s16u16,u16u16,s32u32,u32u32,f16u16,f32u32 |
| 328 | -132=Intrinsic_vectorized_vsqrt|f16f16,f32f32 | 328 | +131=Intrinsic_vectorized_vmov|bb,u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 |
| 329 | -133=Intrinsic_vectorized_vshls|u8u8,u16u16,s16s16,u32u32,s32s32 | 329 | +132=Intrinsic_vectorized_vsqrt|f16f16,f32f32 |
| 330 | -134=Intrinsic_vectorized_vrnds|s16s16,s32s32 | 330 | +133=Intrinsic_vectorized_vshls|u8u8,u16u16,s16s16,u32u32,s32s32 |
| 331 | -135=Intrinsic_vectorized_vlrelu|f16f16,f32f32 | 331 | +134=Intrinsic_vectorized_vrnds|s16s16,s32s32 |
| 332 | -136=Intrinsic_vectorized_vsadds|s16s16 | 332 | +135=Intrinsic_vectorized_vlrelu|f16f16,f32f32 |
| 333 | -137=Intrinsic_vectorized_vcbmax|uint8,int8,uint16,int16,uint32,int32,float16,float32 | 333 | +136=Intrinsic_vectorized_vsadds|s16s16 |
| 334 | -138=Intrinsic_vectorized_vcbmin|uint8,int8,uint16,int16,uint32,int32,float16,float32 | 334 | +137=Intrinsic_vectorized_vcbmax|uint8,int8,uint16,int16,uint32,int32,float16,float32 |
| 335 | -139=Intrinsic_vectorized_vmula|u8u8,s8s8,u16u16,s16s16,s32s32,f16f16,f32f32 | 335 | +138=Intrinsic_vectorized_vcbmin|uint8,int8,uint16,int16,uint32,int32,float16,float32 |
| 336 | -140=Intrinsic_vectorized_vmadd|f16f16,f32f32 | 336 | +139=Intrinsic_vectorized_vmula|u8u8,s8s8,u16u16,s16s16,s32s32,f16f16,f32f32 |
| 337 | -142=Intrinsic_vectorized_vrnd|s16s16,s32s32 | 337 | +140=Intrinsic_vectorized_vmadd|f16f16,f32f32 |
| 338 | -143=Intrinsic_vectorized_vavg|u8u8,s8s8,u16u16,s16s16 | 338 | +142=Intrinsic_vectorized_vrnd|s16s16,s32s32 |
| 339 | -144=Intrinsic_vectorized_vadd3|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32 | 339 | +143=Intrinsic_vectorized_vavg|u8u8,s8s8,u16u16,s16s16 |
| 340 | -146=Intrinsic_vectorized_vadif|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32 | 340 | +144=Intrinsic_vectorized_vadd3|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32 |
| 341 | -147=Intrinsic_vectorized_vsad|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32 | 341 | +146=Intrinsic_vectorized_vadif|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32 |
| 342 | -149=Intrinsic_vectorized_vsadd|s16s16 | 342 | +147=Intrinsic_vectorized_vsad|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32 |
| 343 | -150=Intrinsic_vectorized_vssub|s16s16 | 343 | +149=Intrinsic_vectorized_vsadd|s16s16 |
| 344 | -154=Intrinsic_vectorized_vrsqrt|f16f16,f32f32 | 344 | +150=Intrinsic_vectorized_vssub|s16s16 |
| 345 | -155=Intrinsic_vectorized_vnot|bb,u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 | 345 | +154=Intrinsic_vectorized_vrsqrt|f16f16,f32f32 |
| 346 | -156=Intrinsic_vectorized_vneg|s8s8,s16s16,s32s32,f16f16,f32f32 | 346 | +155=Intrinsic_vectorized_vnot|bb,u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 |
| 347 | -157=Intrinsic_vectorized_vln|f16f16,f32f32 | 347 | +156=Intrinsic_vectorized_vneg|s8s8,s16s16,s32s32,f16f16,f32f32 |
| 348 | -158=Intrinsic_vectorized_vcls|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32 | 348 | +157=Intrinsic_vectorized_vln|f16f16,f32f32 |
| 349 | -160=Intrinsic_vectorized_vintlv|uint8,int8,uint16,int16,uint32,int32,float16,float32 | 349 | +158=Intrinsic_vectorized_vcls|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32 |
| 350 | -161=Intrinsic_vectorized_vdintlv|uint8,int8,uint16,int16,uint32,int32,float16,float32 | 350 | +160=Intrinsic_vectorized_vintlv|uint8,int8,uint16,int16,uint32,int32,float16,float32 |
| 351 | -162=Intrinsic_vectorized_vselr|u8u8u8,s8s8u8,u16u16u16,s16s16u16,f16f16u16 | 351 | +161=Intrinsic_vectorized_vdintlv|uint8,int8,uint16,int16,uint32,int32,float16,float32 |
| 352 | -163=Intrinsic_vectorized_vpack|bb,u16u8,s16u8,u32u16,s32u16 | 352 | +162=Intrinsic_vectorized_vselr|u8u8u8,s8s8u8,u16u16u16,s16s16u16,f16f16u16 |
| 353 | -164=Intrinsic_vectorized_vunpack|bb,u8u16,s8s16,u16u32,s16s32 | 353 | +163=Intrinsic_vectorized_vpack|bb,u16u8,s16u8,u32u16,s32u16 |
| 354 | -165=Intrinsic_vectorized_vsqz|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 | 354 | +164=Intrinsic_vectorized_vunpack|bb,u8u16,s8s16,u16u32,s16s32 |
| 355 | -166=Intrinsic_vectorized_vbr|uint8,int8,uint16,int16,uint32,int32,float16,float32 | 355 | +165=Intrinsic_vectorized_vsqz|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 |
| 356 | -167=Intrinsic_vectorized_vci|int8,int16,int32,float16,float32 | 356 | +166=Intrinsic_vectorized_vbr|uint8,int8,uint16,int16,uint32,int32,float16,float32 |
| 357 | -168=Intrinsic_vectorized_vgatherb|int8,uint8,int16,uint16,int32,uint32,float16,float32 | 357 | +167=Intrinsic_vectorized_vci|int8,int16,int32,float16,float32 |
| 358 | -169=Intrinsic_vectorized_vgather2|s16u16s8,u16u16u8,s16u16s16,u16u16u16,s32u32s32,u32u32u32,f16u16f16,f32u32f32 | 358 | +168=Intrinsic_vectorized_vgatherb|int8,uint8,int16,uint16,int32,uint32,float16,float32 |
| 359 | -172=Intrinsic_vectorized_vmax|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 | 359 | +169=Intrinsic_vectorized_vgather2|s16u16s8,u16u16u8,s16u16s16,u16u16u16,s32u32s32,u32u32u32,f16u16f16,f32u32f32 |
| 360 | -173=Intrinsic_vectorized_vsub|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32,s8s24,u8s24,s16s48,u16s48 | 360 | +172=Intrinsic_vectorized_vmax|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 |
| 361 | -174=Intrinsic_vectorized_vbcnt|u8s8,s8s8,u16s16,s16s16,u32s32,s32s32 | 361 | +173=Intrinsic_vectorized_vsub|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32,s8s24,u8s24,s16s48,u16s48 |
| 362 | -175=Intrinsic_vectorized_pld|uint8,int8,uint16,int16,uint32,int32,float16,float32 | 362 | +174=Intrinsic_vectorized_vbcnt|u8s8,s8s8,u16s16,s16s16,u32s32,s32s32 |
| 363 | -176=Intrinsic_vectorized_vaxpy|f16f16,f32f32 | 363 | +175=Intrinsic_vectorized_pld|uint8,int8,uint16,int16,uint32,int32,float16,float32 |
| 364 | -177=Intrinsic_vectorized_vmin|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 | 364 | +176=Intrinsic_vectorized_vaxpy|f16f16,f32f32 |
| 365 | -178=Intrinsic_vectorized_vrec|f16f16,f32f32 | 365 | +177=Intrinsic_vectorized_vmin|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 |
| 366 | -179=Intrinsic_vectorized_vlog|float16,float32 | 366 | +178=Intrinsic_vectorized_vrec|f16f16,f32f32 |
| 367 | -180=Intrinsic_vectorized_vabs|s8s8,s16s16,s32s32,f16f16,f32f32 | 367 | +179=Intrinsic_vectorized_vlog|float16,float32 |
| 368 | -181=Intrinsic_vectorized_plt|uint8,int8,uint16,int16,float16,int32,float32,uint32 | 368 | +180=Intrinsic_vectorized_vabs|s8s8,s16s16,s32s32,f16f16,f32f32 |
| 369 | -182=Intrinsic_data_move_gather|uint8,int8,uint16,int16,float16,int32,float32,uint32,uint64,int64 | 369 | +181=Intrinsic_vectorized_plt|uint8,int8,uint16,int16,float16,int32,float32,uint32 |
| 370 | -183=Intrinsic_vector_filter1d|u8s16,s8s16,u16s16,s16s16 | 370 | +182=Intrinsic_data_move_gather|uint8,int8,uint16,int16,float16,int32,float32,uint32,uint64,int64 |
| 371 | -184=Intrinsic_vectorized_vabsdif|u8u8,s8s8,u16u16,s16s16,s32s32,f16f16,f32f32 | 371 | +183=Intrinsic_vector_filter1d|u8s16,s8s16,u16s16,s16s16 |
| 372 | -185=Intrinsic_vectorized_vshl|u8u8,u16u16,s16s16,u32u32,s32s32 | 372 | +184=Intrinsic_vectorized_vabsdif|u8u8,s8s8,u16u16,s16s16,s32s32,f16f16,f32f32 |
| 373 | -186=Intrinsic_vectorized_vshr|u8u8,u16u16,s16s16,u32u32,s32s32,s24s8,s24u8,s48s16,s48u16,s64s32,s24s16,s24u16,s48s32 | 373 | +185=Intrinsic_vectorized_vshl|u8u8,u16u16,s16s16,u32u32,s32s32 |
| 374 | -188=Intrinsic_vectorized_vrelu|s32s32,f16f16,f32f32 | 374 | +186=Intrinsic_vectorized_vshr|u8u8,u16u16,s16s16,u32u32,s32s32,s24s8,s24u8,s48s16,s48u16,s64s32,s24s16,s24u16,s48s32 |
| 375 | -189=Intrinsic_vectorized_pge|uint8,int8,uint16,int16,float16,int32,float32,uint32 | 375 | +188=Intrinsic_vectorized_vrelu|s32s32,f16f16,f32f32 |
| 376 | -190=Intrinsic_vectorized_pset|uint8,int8,uint16,int16,float16,int32,float32,uint32 | 376 | +189=Intrinsic_vectorized_pge|uint8,int8,uint16,int16,float16,int32,float32,uint32 |
| 377 | -191=Intrinsic_vectorized_pslide|uint8,int8,uint16,int16,float16,int32,float32,uint32 | 377 | +190=Intrinsic_vectorized_pset|uint8,int8,uint16,int16,float16,int32,float32,uint32 |
| 378 | -192=Intrinsic_data_move_pad|uint8,int8,uint16,int16,float16,int32,float32,uint32,bfloat16 | 378 | +191=Intrinsic_vectorized_pslide|uint8,int8,uint16,int16,float16,int32,float32,uint32 |
| 379 | -193=Intrinsic_vectorized_vsld|uint8,int8,uint16,int16,float16,int32,float32,uint32 | 379 | +192=Intrinsic_data_move_pad|uint8,int8,uint16,int16,float16,int32,float32,uint32,bfloat16 |
| 380 | -194=Intrinsic_vectorized_cast|f16f32,f32f16,u8f16,s8f16,f16u8,f16s8,f16s16,f16s32,s16f16,s16f32,f32s16,f32s32,s32f32,u8u16,u8u32,s8s16,s8s32,u16u8,u16u32,s16u8,s16u32,s16s32,u32u8,u32u16,u32s16,s32u8,s32u16,s32s16 | 380 | +193=Intrinsic_vectorized_vsld|uint8,int8,uint16,int16,float16,int32,float32,uint32 |
| 381 | -196=Intrinsic_vectorized_vshrs|u8u8,u16u16,s16s16,u32u32,s32s32,s24s8,s24u8,s48s16,s48u16,s64s32,s24s16,s24u16,s48s32 | 381 | +194=Intrinsic_vectorized_cast|f16f32,f32f16,u8f16,s8f16,f16u8,f16s8,f16s16,f16s32,s16f16,s16f32,f32s16,f32s32,s32f32,u8u16,u8u32,s8s16,s8s32,u16u8,u16u32,s16u8,s16u32,s16s32,u32u8,u32u16,u32s16,s32u8,s32u16,s32s16 |
| 382 | -197=Intrinsic_vectorized_pst|uint8,int8,uint16,int16,uint32,int32,float16,float32 | 382 | +196=Intrinsic_vectorized_vshrs|u8u8,u16u16,s16s16,u32u32,s32s32,s24s8,s24u8,s48s16,s48u16,s64s32,s24s16,s24u16,s48s32 |
| 383 | -198=Intrinsic_vectorized_dhist|u8u32 | 383 | +197=Intrinsic_vectorized_pst|uint8,int8,uint16,int16,uint32,int32,float16,float32 |
| 384 | -199=Intrinsic_vectorized_dhistv2|u8u16 | 384 | +198=Intrinsic_vectorized_dhist|u8u32 |
| 385 | -200=Intrinsic_vectorized_chist|u8u32 | 385 | +199=Intrinsic_vectorized_dhistv2|u8u16 |
| 386 | -201=Intrinsic_vectorized_chistv2|u8u16 | 386 | +200=Intrinsic_vectorized_chist|u8u32 |
| 387 | -202=Intrinsic_vectorized_vfilter|s8s48,u8s48,s16s48,u16s48 | 387 | +201=Intrinsic_vectorized_chistv2|u8u16 |
| 388 | -203=Intrinsic_vectorized_vslide|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 | 388 | +202=Intrinsic_vectorized_vfilter|s8s48,u8s48,s16s48,u16s48 |
| 389 | -204=Intrinsic_vectorized_fmax|u8u8 | 389 | +203=Intrinsic_vectorized_vslide|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 |
| 390 | -205=Intrinsic_vectorized_fmin|u8u8 | 390 | +204=Intrinsic_vectorized_fmax|u8u8 |
| 391 | -206=Intrinsic_vectorized_vusqz|bs8,bs16,bs32,bu8,bu16,bu32 | 391 | +205=Intrinsic_vectorized_fmin|u8u8 |
| 392 | -207=Intrinsic_vectorized_vtrc|f16f16,f32f32 | 392 | +206=Intrinsic_vectorized_vusqz|bs8,bs16,bs32,bu8,bu16,bu32 |
| 393 | -208=Intrinsic_fix_pipe_l0c2out|f32,s32,f16 | 393 | +207=Intrinsic_vectorized_vtrc|f16f16,f32f32 |
| 394 | -209=Intrinsic_vcopy|int16,uint16,float16,float32,int32,uint32 | 394 | +208=Intrinsic_fix_pipe_l0c2out|f32,s32,f16 |
| 395 | -210=Intrinsic_vbitsort32|float16,float32 | 395 | +209=Intrinsic_vcopy|int16,uint16,float16,float32,int32,uint32 |
| 396 | -211=Intrinsic_vmrgsort4v2|float16,float32 | 396 | +210=Intrinsic_vbitsort32|float16,float32 |
| 397 | -212=Intrinsic_vmadd|float16,float32 | 397 | +211=Intrinsic_vmrgsort4v2|float16,float32 |
| 398 | -213=Intrinsic_vcmpvs_ne|float16,float32 | 398 | +212=Intrinsic_vmadd|float16,float32 |
| 399 | -214=Intrinsic_vcmpvs_eq|int32,float16,float32 | 399 | +213=Intrinsic_vcmpvs_ne|float16,float32 |
| 400 | -215=Intrinsic_vcmpvs_gt|float16,float32 | 400 | +214=Intrinsic_vcmpvs_eq|int32,float16,float32 |
| 401 | -216=Intrinsic_vcmpvs_ge|float16,float32 | 401 | +215=Intrinsic_vcmpvs_gt|float16,float32 |
| 402 | -217=Intrinsic_vcmpvs_lt|float16,float32 | 402 | +216=Intrinsic_vcmpvs_ge|float16,float32 |
| 403 | -218=Intrinsic_vcmpvs_le|float16,float32 | 403 | +217=Intrinsic_vcmpvs_lt|float16,float32 |
| 404 | -219=Intrinsic_vcbd|u82u16,u82u32,s82s16,s82s32,u162u8,u162u32,s162u8,s162u32,s162s32,u322u8,u322u16,u322s16,s322u8,s322u16,s322s16 | 404 | +218=Intrinsic_vcmpvs_le|float16,float32 |
| 405 | -220=Intrinsic_vcgmax|float16,float32 | 405 | +219=Intrinsic_vcbd|u82u16,u82u32,s82s16,s82s32,u162u8,u162u32,s162u8,s162u32,s162s32,u322u8,u322u16,u322s16,s322u8,s322u16,s322s16 |
| 406 | -221=Intrinsic_vmla|f16f16f16,f32f32f32,float16,float32 | 406 | +220=Intrinsic_vcgmax|float16,float32 |
| 407 | -222=Intrinsic_vcgmin|float16,float32 | 407 | +221=Intrinsic_vmla|f16f16f16,f32f32f32,float16,float32 |
| 408 | -223=Intrinsic_vtranspose|uint16,int16,float16 | 408 | +222=Intrinsic_vcgmin|float16,float32 |
| 409 | -224=Intrinsic_vscatter|int16,uint16,float16,float32,int32,uint32 | 409 | +223=Intrinsic_vtranspose|uint16,int16,float16 |
| 410 | -225=Intrinsic_vci|float16,float32,int16,int32 | 410 | +224=Intrinsic_vscatter|int16,uint16,float16,float32,int32,uint32 |
| 411 | -226=Intrinsic_vbrcb|u16u16,s16s16,f16f16,u32u32,s32s32,f32f32 | 411 | +225=Intrinsic_vci|float16,float32,int16,int32 |
| 412 | -227=Intrinsic_vectorized_plds|uint8,int8,uint16,int16,uint32,int32,float16,float32 | 412 | +226=Intrinsic_vbrcb|u16u16,s16s16,f16f16,u32u32,s32s32,f32f32 |
| 413 | -228=Intrinsic_vbitsort|float16 | 413 | +227=Intrinsic_vectorized_plds|uint8,int8,uint16,int16,uint32,int32,float16,float32 |
| 414 | +228=Intrinsic_vbitsort|float16 | ||
| @@ -1,414 +1,415 @@ | |||
| 1 | -# [Platform Info configuration begin] | 1 | +# [Platform Info configuration begin] |
| 2 | -#************************************************************************************** | 2 | +#************************************************************************************** |
| 3 | -# | 3 | +# |
| 4 | -[version] | 4 | +[version] |
| 5 | -SoC_version=Ascend350_355e | 5 | +SoC_version=Ascend350_355e |
| 6 | -Short_SoC_version=Ascend350 | 6 | +Short_SoC_version=Ascend350 |
| 7 | -AIC_version=AIC-C-310 | 7 | +AIC_version=AIC-C-310 |
| 8 | -CCEC_AIC_version=dav-c310-cube | 8 | +CCEC_AIC_version=dav-c310-cube |
| 9 | -CCEC_AIV_version=dav-c310-vec | 9 | +CCEC_AIV_version=dav-c310-vec |
| 10 | -CCEC_CUBE_version=dav-c310-cube | 10 | +CCEC_CUBE_version=dav-c310-cube |
| 11 | -CCEC_VECTOR_version=dav-c310-vec | 11 | +CCEC_VECTOR_version=dav-c310-vec |
| 12 | -Compiler_aicpu_support_os=true | 12 | +Compiler_aicpu_support_os=true |
| 13 | -NpuArch=3510 | 13 | +NpuArch=3510 |
| 14 | - | 14 | +Chip_type=15 |
| 15 | -[SoCInfo] | 15 | + |
| 16 | -ai_core_cnt=16 | 16 | +[SoCInfo] |
| 17 | -cube_core_cnt=16 | 17 | +ai_core_cnt=16 |
| 18 | -vector_core_cnt=32 | 18 | +cube_core_cnt=16 |
| 19 | -ai_cpu_cnt=4 | 19 | +vector_core_cnt=32 |
| 20 | -memory_type=0 | 20 | +ai_cpu_cnt=4 |
| 21 | -memory_size=68719476736 | 21 | +memory_type=0 |
| 22 | -l2_type=0 | 22 | +memory_size=68719476736 |
| 23 | -l2_size=67108864 | 23 | +l2_type=0 |
| 24 | -l2PageNum=64 | 24 | +l2_size=67108864 |
| 25 | -normal_stream_num=2048 | 25 | +l2PageNum=64 |
| 26 | -normal_stream_depth=2048 | 26 | +normal_stream_num=2048 |
| 27 | -huge_stream_num=0 | 27 | +normal_stream_depth=2048 |
| 28 | -huge_stream_depth=0 | 28 | +huge_stream_num=0 |
| 29 | -prefetch_num=8 | 29 | +huge_stream_depth=0 |
| 30 | -core_type_list=CubeCore,VectorCore | 30 | +prefetch_num=8 |
| 31 | -cube_vector_combine=split | 31 | +core_type_list=CubeCore,VectorCore |
| 32 | -hardware_sync_betweencore=1 | 32 | +cube_vector_combine=split |
| 33 | -vir_type_list=8,16 | 33 | +hardware_sync_betweencore=1 |
| 34 | -support_bf16=1 | 34 | +vir_type_list=8,16 |
| 35 | -support_inf_nan=1 | 35 | +support_bf16=1 |
| 36 | - | 36 | +support_inf_nan=1 |
| 37 | -[AICoreSpec] | 37 | + |
| 38 | -cube_freq=1650 | 38 | +[AICoreSpec] |
| 39 | -cube_m_size=16 | 39 | +cube_freq=1650 |
| 40 | -cube_n_size=16 | 40 | +cube_m_size=16 |
| 41 | -cube_k_size=16 | 41 | +cube_n_size=16 |
| 42 | -vec_calc_size=128 | 42 | +cube_k_size=16 |
| 43 | -l0_a_size=65536 | 43 | +vec_calc_size=128 |
| 44 | -l0_b_size=65536 | 44 | +l0_a_size=65536 |
| 45 | -l0_c_size=262144 | 45 | +l0_b_size=65536 |
| 46 | -l1_size=524288 | 46 | +l0_c_size=262144 |
| 47 | -fb0_size=4096 | 47 | +l1_size=524288 |
| 48 | -fb1_size=2048 | 48 | +fb0_size=4096 |
| 49 | -fb2_size=0 | 49 | +fb1_size=2048 |
| 50 | -fb3_size=0 | 50 | +fb2_size=0 |
| 51 | -bt_size=4096 | 51 | +fb3_size=0 |
| 52 | -smask_buffer=0 | 52 | +bt_size=4096 |
| 53 | -ub_size=253952 | 53 | +smask_buffer=0 |
| 54 | -ubblock_size=32 | 54 | +ub_size=253952 |
| 55 | -ubbank_size=4096 | 55 | +ubblock_size=32 |
| 56 | -ubbank_num=16 | 56 | +ubbank_size=4096 |
| 57 | -ubsubbank_num=64 | 57 | +ubbank_num=16 |
| 58 | -ubburst_in_one_block=32 | 58 | +ubsubbank_num=64 |
| 59 | -ubbank_group_num=8 | 59 | +ubburst_in_one_block=32 |
| 60 | -support_fixpipe=1 | 60 | +ubbank_group_num=8 |
| 61 | -sparsity=0 | 61 | +support_fixpipe=1 |
| 62 | -l0a_layout_zN=1 | 62 | +sparsity=0 |
| 63 | -vector_reg_width=256 | 63 | +l0a_layout_zN=1 |
| 64 | -predicate_reg_width=32 | 64 | +vector_reg_width=256 |
| 65 | -wide_reg_width=768 | 65 | +predicate_reg_width=32 |
| 66 | -padding_size=0 | 66 | +wide_reg_width=768 |
| 67 | - | 67 | +padding_size=0 |
| 68 | -[AICoreMemoryRates] | 68 | + |
| 69 | -ddr_rate=31 | 69 | +[AICoreMemoryRates] |
| 70 | -ddr_read_rate=31 | 70 | +ddr_rate=31 |
| 71 | -ddr_write_rate=31 | 71 | +ddr_read_rate=31 |
| 72 | -l2_rate=100 | 72 | +ddr_write_rate=31 |
| 73 | -l2_read_rate=100 | 73 | +l2_rate=100 |
| 74 | -l2_write_rate=100 | 74 | +l2_read_rate=100 |
| 75 | -l1_to_l0_a_rate=256 | 75 | +l2_write_rate=100 |
| 76 | -l1_to_l0_b_rate=256 | 76 | +l1_to_l0_a_rate=256 |
| 77 | -l1_to_ub_rate=128 | 77 | +l1_to_l0_b_rate=256 |
| 78 | -l0_c_to_ub_rate=128 | 78 | +l1_to_ub_rate=128 |
| 79 | -ub_to_l2_rate=128 | 79 | +l0_c_to_ub_rate=128 |
| 80 | -ub_to_ddr_rate=128 | 80 | +ub_to_l2_rate=128 |
| 81 | -ub_to_l1_rate=128 | 81 | +ub_to_ddr_rate=128 |
| 82 | - | 82 | +ub_to_l1_rate=128 |
| 83 | -[DtypeMKN] | 83 | + |
| 84 | -Default=16,16,16 | 84 | +[DtypeMKN] |
| 85 | -DT_FLOAT8_E4M3FN=16,32,16 | 85 | +Default=16,16,16 |
| 86 | -DT_HIFLOAT8=16,32,16 | 86 | +DT_FLOAT8_E4M3FN=16,32,16 |
| 87 | -DT_HIFLOAT4=16,64,16 | 87 | +DT_HIFLOAT8=16,32,16 |
| 88 | -DT_FLOAT4_E2M1=16,64,16 | 88 | +DT_HIFLOAT4=16,64,16 |
| 89 | -DT_FLOAT4_E1M2=16,64,16 | 89 | +DT_FLOAT4_E2M1=16,64,16 |
| 90 | -DT_INT8=16,32,16 | 90 | +DT_FLOAT4_E1M2=16,64,16 |
| 91 | -DT_UINT8=16,32,16 | 91 | +DT_INT8=16,32,16 |
| 92 | -DT_INT4=16,64,16 | 92 | +DT_UINT8=16,32,16 |
| 93 | -DT_INT2=16,128,16 | 93 | +DT_INT4=16,64,16 |
| 94 | -DT_UINT2=16,128,16 | 94 | +DT_INT2=16,128,16 |
| 95 | -DT_UINT1=16,256,16 | 95 | +DT_UINT2=16,128,16 |
| 96 | -DT_FLOAT=16,8,16 | 96 | +DT_UINT1=16,256,16 |
| 97 | -DT_INT32=16,8,16 | 97 | +DT_FLOAT=16,8,16 |
| 98 | - | 98 | +DT_INT32=16,8,16 |
| 99 | -[CPUCache] | 99 | + |
| 100 | -AICPUSyncBySW=0 | 100 | +[CPUCache] |
| 101 | -TSCPUSyncBySW=0 | 101 | +AICPUSyncBySW=0 |
| 102 | - | 102 | +TSCPUSyncBySW=0 |
| 103 | -[AICoreintrinsicDtypeMap] | 103 | + |
| 104 | -0=Intrinsic_vrelu|float16,float32,int32 | 104 | +[AICoreintrinsicDtypeMap] |
| 105 | -1=Intrinsic_vexp|float16,float32 | 105 | +0=Intrinsic_vrelu|float16,float32,int32 |
| 106 | -2=Intrinsic_vln|float16,float32 | 106 | +1=Intrinsic_vexp|float16,float32 |
| 107 | -3=Intrinsic_vabs|float16,float32 | 107 | +2=Intrinsic_vln|float16,float32 |
| 108 | -4=Intrinsic_vrec|float16,float32 | 108 | +3=Intrinsic_vabs|float16,float32 |
| 109 | -5=Intrinsic_vrsqrt|float16,float32 | 109 | +4=Intrinsic_vrec|float16,float32 |
| 110 | -6=Intrinsic_vnot|int16,uint16 | 110 | +5=Intrinsic_vrsqrt|float16,float32 |
| 111 | -7=Intrinsic_vadd|float16,float32,int32,int16 | 111 | +6=Intrinsic_vnot|int16,uint16 |
| 112 | -8=Intrinsic_vsub|float16,float32,int32,int16 | 112 | +7=Intrinsic_vadd|float16,float32,int32,int16 |
| 113 | -9=Intrinsic_vmul|float16,float32,int32,int16 | 113 | +8=Intrinsic_vsub|float16,float32,int32,int16 |
| 114 | -10=Intrinsic_vmax|float16,float32,int32,int16 | 114 | +9=Intrinsic_vmul|float16,float32,int32,int16 |
| 115 | -11=Intrinsic_vmin|float16,float32,int32,int16 | 115 | +10=Intrinsic_vmax|float16,float32,int32,int16 |
| 116 | -12=Intrinsic_vand|int16,uint16 | 116 | +11=Intrinsic_vmin|float16,float32,int32,int16 |
| 117 | -13=Intrinsic_vor|int16,uint16 | 117 | +12=Intrinsic_vand|int16,uint16 |
| 118 | -14=Intrinsic_vadds|float16,float32,int32,int16 | 118 | +13=Intrinsic_vor|int16,uint16 |
| 119 | -15=Intrinsic_vmuls|float16,float32,int32,int16 | 119 | +14=Intrinsic_vadds|float16,float32,int32,int16 |
| 120 | -16=Intrinsic_vaxpy|f16f16f16,f32f32f32,float16,float32 | 120 | +15=Intrinsic_vmuls|float16,float32,int32,int16 |
| 121 | -17=Intrinsic_vcmpv_ne|float16,float32 | 121 | +16=Intrinsic_vaxpy|f16f16f16,f32f32f32,float16,float32 |
| 122 | -18=Intrinsic_vcmpv_eq|float16,float32,int32 | 122 | +17=Intrinsic_vcmpv_ne|float16,float32 |
| 123 | -19=Intrinsic_vcmpv_gt|float16,float32 | 123 | +18=Intrinsic_vcmpv_eq|float16,float32,int32 |
| 124 | -20=Intrinsic_vcmpv_ge|float16,float32 | 124 | +19=Intrinsic_vcmpv_gt|float16,float32 |
| 125 | -21=Intrinsic_vcmpv_lt|float16,float32 | 125 | +20=Intrinsic_vcmpv_ge|float16,float32 |
| 126 | -22=Intrinsic_vcmpv_le|float16,float32 | 126 | +21=Intrinsic_vcmpv_lt|float16,float32 |
| 127 | -23=Intrinsic_vconv|f322f32r,f322f32f,f322f32c,deq,f322f32a,f322f32z,f322f16,f322f16r,f322f16f,f322f16c,f322f16a,f322f16z,f322f16o,f322s64r,f322s64f,f322s64c,f322s64a,f322s64z,f322s32r,f322s32f,f322s32c,f322s32a,f322s32z,f322s16r,f322s16f,f322s16c,f322s16a,f322s16z,f162f32,f162s32r,f162s32f,f162s32c,f162s32a,f162s32z,f162s16r,f162s16f,f162s16c,f162s16a,f162s16z,f162s8,f162s8r,f162s8f,f162s8c,f162s8a,f162s8z,f162u8,f162u8r,f162u8f,f162u8c,f162u8a,f162u8z,u82f16,s82f16,s162f16,s162f16r,s162f16f,s162f16c,s162f16a,s162f16z,s162f32,s162s8,s162u8,s322f32,s322f32r,s322f32f,s322f32c,s322f32a,s322f32z,s322f16,s322s64,s322s16,s642s32,s642f32r,s642f32f,s642f32c,s642f32a,s642f32z,f322bf16r,f322bf16f,f322bf16c,f322bf16a,f322bf16z,bf162f32,bf162s32r,bf162s32f,bf162s32c,bf162s32a,bf162s32z | 127 | +22=Intrinsic_vcmpv_le|float16,float32 |
| 128 | -24=Intrinsic_vcadd|float16,float32 | 128 | +23=Intrinsic_vconv|f322f32r,f322f32f,f322f32c,deq,f322f32a,f322f32z,f322f16,f322f16r,f322f16f,f322f16c,f322f16a,f322f16z,f322f16o,f322s64r,f322s64f,f322s64c,f322s64a,f322s64z,f322s32r,f322s32f,f322s32c,f322s32a,f322s32z,f322s16r,f322s16f,f322s16c,f322s16a,f322s16z,f162f32,f162s32r,f162s32f,f162s32c,f162s32a,f162s32z,f162s16r,f162s16f,f162s16c,f162s16a,f162s16z,f162s8,f162s8r,f162s8f,f162s8c,f162s8a,f162s8z,f162u8,f162u8r,f162u8f,f162u8c,f162u8a,f162u8z,u82f16,s82f16,s162f16,s162f16r,s162f16f,s162f16c,s162f16a,s162f16z,s162f32,s162s8,s162u8,s322f32,s322f32r,s322f32f,s322f32c,s322f32a,s322f32z,s322f16,s322s64,s322s16,s642s32,s642f32r,s642f32f,s642f32c,s642f32a,s642f32z,f322bf16r,f322bf16f,f322bf16c,f322bf16a,f322bf16z,bf162f32,bf162s32r,bf162s32f,bf162s32c,bf162s32a,bf162s32z |
| 129 | -25=Intrinsic_vcmax|float16,float32 | 129 | +24=Intrinsic_vcadd|float16,float32 |
| 130 | -26=Intrinsic_vcmin|float16,float32 | 130 | +25=Intrinsic_vcmax|float16,float32 |
| 131 | -27=Intrinsic_vbi|float16,float32 | 131 | +26=Intrinsic_vcmin|float16,float32 |
| 132 | -28=Intrinsic_vlrelu|float16,float32 | 132 | +27=Intrinsic_vbi|float16,float32 |
| 133 | -29=Intrinsic_scatter_vconv|f322f16,f162f32,f162s8,f162u8,s322f16,s322f32,u82f16,s82f16,f162s32r,f162s8f,f162u8f,f162s32f,f322s32f,f162s8c,f162u8c,f162s32c,f322s32c,f162s8a,f162u8a,f162s32a,f322s32a,f162s8z,f162u8z,f162s32z,f322s32z,f322f16o | 133 | +28=Intrinsic_vlrelu|float16,float32 |
| 134 | -30=Intrinsic_vreduce|int16,uint16,float16,float32,int32,uint32 | 134 | +29=Intrinsic_scatter_vconv|f322f16,f162f32,f162s8,f162u8,s322f16,s322f32,u82f16,s82f16,f162s32r,f162s8f,f162u8f,f162s32f,f322s32f,f162s8c,f162u8c,f162s32c,f322s32c,f162s8a,f162u8a,f162s32a,f322s32a,f162s8z,f162u8z,f162s32z,f322s32z,f322f16o |
| 135 | -31=Intrinsic_vmaxs|float16,float32,int32,int16 | 135 | +30=Intrinsic_vreduce|int16,uint16,float16,float32,int32,uint32 |
| 136 | -32=Intrinsic_vcmp|float16,float32 | 136 | +31=Intrinsic_vmaxs|float16,float32,int32,int16 |
| 137 | -33=Intrinsic_vsel|float16,float32 | 137 | +32=Intrinsic_vcmp|float16,float32 |
| 138 | -34=Intrinsic_vsqrt|float16,float32 | 138 | +33=Intrinsic_vsel|float16,float32 |
| 139 | -35=Intrinsic_vdiv|float16,float32 | 139 | +34=Intrinsic_vsqrt|float16,float32 |
| 140 | -36=Intrinsic_vmins|float16,float32,int32,int16 | 140 | +35=Intrinsic_vdiv|float16,float32 |
| 141 | -37=Intrinsic_vshl|int16,uint16,int32,uint32 | 141 | +36=Intrinsic_vmins|float16,float32,int32,int16 |
| 142 | -38=Intrinsic_vshr|int16,uint16,int32,uint32 | 142 | +37=Intrinsic_vshl|int16,uint16,int32,uint32 |
| 143 | -39=Intrinsic_vnchwconv|float16,float32,int32,int16,uint32,uint16,int8,uint8 | 143 | +38=Intrinsic_vshr|int16,uint16,int32,uint32 |
| 144 | -40=Intrinsic_vreducev2|int16,uint16,float16,float32,int32,uint32 | 144 | +39=Intrinsic_vnchwconv|float16,float32,int32,int16,uint32,uint16,int8,uint8 |
| 145 | -41=Intrinsic_data_move_out2l1|hif8,f8,u8,s8,f16,bf16,u16,s16,f32,s32,u32 | 145 | +40=Intrinsic_vreducev2|int16,uint16,float16,float32,int32,uint32 |
| 146 | -42=Intrinsic_data_move_out2l0a|u8,s8,f16,u16,s16,f32,s32,u32 | 146 | +41=Intrinsic_data_move_out2l1|hif8,f8,u8,s8,f16,bf16,u16,s16,f32,s32,u32 |
| 147 | -43=Intrinsic_data_move_out2l0b|u8,s8,f16,u16,s16,f32,s32,u32 | 147 | +42=Intrinsic_data_move_out2l0a|u8,s8,f16,u16,s16,f32,s32,u32 |
| 148 | -44=Intrinsic_data_move_l12l0a|hif8,f8,u8,s8,f16,bf16,u16,s16,f32,s32,u32 | 148 | +43=Intrinsic_data_move_out2l0b|u8,s8,f16,u16,s16,f32,s32,u32 |
| 149 | -45=Intrinsic_data_move_l12l0b|hif8,f8,u8,s8,f16,bf16,u16,s16,f32,s32,u32 | 149 | +44=Intrinsic_data_move_l12l0a|hif8,f8,u8,s8,f16,bf16,u16,s16,f32,s32,u32 |
| 150 | -46=Intrinsic_data_move_l12out|u8,s8,f16,u16,s16,f32,s32,u32 | 150 | +45=Intrinsic_data_move_l12l0b|hif8,f8,u8,s8,f16,bf16,u16,s16,f32,s32,u32 |
| 151 | -47=Intrinsic_data_move_l12ub|u8,s8,f16,u16,s16,f32,s32,u32 | 151 | +46=Intrinsic_data_move_l12out|u8,s8,f16,u16,s16,f32,s32,u32 |
| 152 | -48=Intrinsic_data_move_ub2l1|u8,s8,f16,bf16,u16,s16,f32,s32,u32 | 152 | +47=Intrinsic_data_move_l12ub|u8,s8,f16,u16,s16,f32,s32,u32 |
| 153 | -49=Intrinsic_data_move_ub2out|u8,s8,f16,u16,s16,f32,s32,u32 | 153 | +48=Intrinsic_data_move_ub2l1|u8,s8,f16,bf16,u16,s16,f32,s32,u32 |
| 154 | -50=Intrinsic_data_move_l12bt|u8,s8,f16,bf16,u16,s16,f32,s32,u32 | 154 | +49=Intrinsic_data_move_ub2out|u8,s8,f16,u16,s16,f32,s32,u32 |
| 155 | -51=Intrinsic_data_move_out2ub|u8,s8,f16,u16,s16,f32,s32,u32 | 155 | +50=Intrinsic_data_move_l12bt|u8,s8,f16,bf16,u16,s16,f32,s32,u32 |
| 156 | -52=Intrinsic_data_move_ub2ub|u8,s8,f16,u16,s16,f32,s32,u32 | 156 | +51=Intrinsic_data_move_out2ub|u8,s8,f16,u16,s16,f32,s32,u32 |
| 157 | -53=Intrinsic_data_move_transpose_l12l0a|u8,s8,f16,u16,s16,f32,s32,u32 | 157 | +52=Intrinsic_data_move_ub2ub|u8,s8,f16,u16,s16,f32,s32,u32 |
| 158 | -54=Intrinsic_data_move_transpose_l12l0b|u8,s8,f16,u16,s16,f32,s32,u32 | 158 | +53=Intrinsic_data_move_transpose_l12l0a|u8,s8,f16,u16,s16,f32,s32,u32 |
| 159 | -55=Intrinsic_set_l1|f16,u16,s16,f32,s32,u32 | 159 | +54=Intrinsic_data_move_transpose_l12l0b|u8,s8,f16,u16,s16,f32,s32,u32 |
| 160 | -56=Intrinsic_set_l0a|f16,u16,s16,f32,s32,u32 | 160 | +55=Intrinsic_set_l1|f16,u16,s16,f32,s32,u32 |
| 161 | -57=Intrinsic_set_l0b|f16,u16,s16,f32,s32,u32 | 161 | +56=Intrinsic_set_l0a|f16,u16,s16,f32,s32,u32 |
| 162 | -58=Intrinsic_fix_pipe_l0c2l1|f32,s32,f16 | 162 | +57=Intrinsic_set_l0b|f16,u16,s16,f32,s32,u32 |
| 163 | -59=Intrinsic_fix_pipe_l0c2out|f32,s32,f16 | 163 | +58=Intrinsic_fix_pipe_l0c2l1|f32,s32,f16 |
| 164 | -60=Intrinsic_fix_pipe_l0c2ub|f32,s32,f16 | 164 | +59=Intrinsic_fix_pipe_l0c2out|f32,s32,f16 |
| 165 | -61=Intrinsic_fix_pipe_l12fb|u8,s8,f16,u16,s16,f32,s32,u32 | 165 | +60=Intrinsic_fix_pipe_l0c2ub|f32,s32,f16 |
| 166 | -62=Intrinsic_fix_pipe_unit_list|pre_conv,pre_act,post_eltwise,post_act,post_quant,post_transform | 166 | +61=Intrinsic_fix_pipe_l12fb|u8,s8,f16,u16,s16,f32,s32,u32 |
| 167 | -63=Intrinsic_fix_pipe_pre_conv_func_list|requant,dequant,quant,cast | 167 | +62=Intrinsic_fix_pipe_unit_list|pre_conv,pre_act,post_eltwise,post_act,post_quant,post_transform |
| 168 | -64=Intrinsic_fix_pipe_pre_conv_requant|s322s8,s322u8,s322s4 | 168 | +63=Intrinsic_fix_pipe_pre_conv_func_list|requant,dequant,quant,cast |
| 169 | -65=Intrinsic_fix_pipe_pre_conv_dequant|s322f16 | 169 | +64=Intrinsic_fix_pipe_pre_conv_requant|s322s8,s322u8,s322s4 |
| 170 | -66=Intrinsic_fix_pipe_pre_conv_quant|f322s8,f322u8,f322s4 | 170 | +65=Intrinsic_fix_pipe_pre_conv_dequant|s322f16 |
| 171 | -67=Intrinsic_fix_pipe_pre_conv_cast|f322f16,f322bf16 | 171 | +66=Intrinsic_fix_pipe_pre_conv_quant|f322s8,f322u8,f322s4 |
| 172 | -68=Intrinsic_fix_pipe_pre_act_func_list|normal_relu,scalar_relu,vector_relu,clip_relu | 172 | +67=Intrinsic_fix_pipe_pre_conv_cast|f322f16,f322bf16 |
| 173 | -69=Intrinsic_fix_pipe_pre_act_normal_relu|f32,f16,bf16,s8,u8,s4,s32 | 173 | +68=Intrinsic_fix_pipe_pre_act_func_list|normal_relu,scalar_relu,vector_relu,clip_relu |
| 174 | -70=Intrinsic_fix_pipe_pre_act_scalar_relu|f16,s8,u8,s4 | 174 | +69=Intrinsic_fix_pipe_pre_act_normal_relu|f32,f16,bf16,s8,u8,s4,s32 |
| 175 | -71=Intrinsic_fix_pipe_pre_act_vector_relu|f16,s8,u8,s4 | 175 | +70=Intrinsic_fix_pipe_pre_act_scalar_relu|f16,s8,u8,s4 |
| 176 | -72=Intrinsic_fix_pipe_pre_act_clip_relu|f16,s8,u8,s4 | 176 | +71=Intrinsic_fix_pipe_pre_act_vector_relu|f16,s8,u8,s4 |
| 177 | -73=Intrinsic_mmad|s8,f162f32,s4,bf162f32,f322f32,h322f32,s32s8s8,f16f16f16,f32f16f16,s32u8u2,f16f16u2,s32s4s4,e4m3e4m3,e4m3e5m2,e5m2e4m3,e5m2e5m2 | 177 | +72=Intrinsic_fix_pipe_pre_act_clip_relu|f16,s8,u8,s4 |
| 178 | -74=Intrinsic_mmad_sp|s8 | 178 | +73=Intrinsic_mmad|s8,f162f32,s4,bf162f32,f322f32,h322f32,s32s8s8,f16f16f16,f32f16f16,s32u8u2,f16f16u2,s32s4s4,e4m3e4m3,e4m3e5m2,e5m2e4m3,e5m2e5m2 |
| 179 | -75=Intrinsic_vcgadd|float16,float32 | 179 | +74=Intrinsic_mmad_sp|s8 |
| 180 | -76=Intrinsic_vconcat|float16,float32 | 180 | +75=Intrinsic_vcgadd|float16,float32 |
| 181 | -77=Intrinsic_sqrt|int64,float32 | 181 | +76=Intrinsic_vconcat|float16,float32 |
| 182 | -78=Intrinsic_abs|int64,float32 | 182 | +77=Intrinsic_sqrt|int64,float32 |
| 183 | -79=Intrinsic_bcnt0|uint64 | 183 | +78=Intrinsic_abs|int64,float32 |
| 184 | -80=Intrinsic_bcnt1|uint64 | 184 | +79=Intrinsic_bcnt0|uint64 |
| 185 | -81=Intrinsic_max|int64,float32 | 185 | +80=Intrinsic_bcnt1|uint64 |
| 186 | -82=Intrinsic_min|int64,float32 | 186 | +81=Intrinsic_max|int64,float32 |
| 187 | -83=Intrinsic_vcopy|int16,uint16,float16,float32,int32,uint32 | 187 | +82=Intrinsic_min|int64,float32 |
| 188 | -84=Intrinsic_vbitsort32|float16,float32 | 188 | +83=Intrinsic_vcopy|int16,uint16,float16,float32,int32,uint32 |
| 189 | -85=Intrinsic_vmrgsort4v2|float16,float32 | 189 | +84=Intrinsic_vbitsort32|float16,float32 |
| 190 | -86=Intrinsic_vgatherb|u16u16,s16s16,f16f16,u32u32,s32s32,f32f32 | 190 | +85=Intrinsic_vmrgsort4v2|float16,float32 |
| 191 | -87=Intrinsic_vmadd|float16,float32 | 191 | +86=Intrinsic_vgatherb|u16u16,s16s16,f16f16,u32u32,s32s32,f32f32 |
| 192 | -88=Intrinsic_vcmpvs_ne|float16,float32 | 192 | +87=Intrinsic_vmadd|float16,float32 |
| 193 | -89=Intrinsic_vcmpvs_eq|int32,float16,float32 | 193 | +88=Intrinsic_vcmpvs_ne|float16,float32 |
| 194 | -90=Intrinsic_vcmpvs_gt|float16,float32 | 194 | +89=Intrinsic_vcmpvs_eq|int32,float16,float32 |
| 195 | -91=Intrinsic_vcmpvs_ge|float16,float32 | 195 | +90=Intrinsic_vcmpvs_gt|float16,float32 |
| 196 | -92=Intrinsic_vcmpvs_lt|float16,float32 | 196 | +91=Intrinsic_vcmpvs_ge|float16,float32 |
| 197 | -93=Intrinsic_vcmpvs_le|float16,float32 | 197 | +92=Intrinsic_vcmpvs_lt|float16,float32 |
| 198 | -94=Intrinsic_vcbd|u82u16,u82u32,s82s16,s82s32,u162u8,u162u32,s162u8,s162u32,s162s32,u322u8,u322u16,u322s16,s322u8,s322u16,s322s16 | 198 | +93=Intrinsic_vcmpvs_le|float16,float32 |
| 199 | -95=Intrinsic_vcgmax|float16,float32 | 199 | +94=Intrinsic_vcbd|u82u16,u82u32,s82s16,s82s32,u162u8,u162u32,s162u8,s162u32,s162s32,u322u8,u322u16,u322s16,s322u8,s322u16,s322s16 |
| 200 | -96=Intrinsic_clz|uint64 | 200 | +95=Intrinsic_vcgmax|float16,float32 |
| 201 | -97=Intrinsic_vmla|f16f16f16,f32f32f32,float16,float32 | 201 | +96=Intrinsic_clz|uint64 |
| 202 | -98=Intrinsic_vcgmin|float16,float32 | 202 | +97=Intrinsic_vmla|f16f16f16,f32f32f32,float16,float32 |
| 203 | -99=Intrinsic_vcpadd|float16,float32 | 203 | +98=Intrinsic_vcgmin|float16,float32 |
| 204 | -100=Intrinsic_vtranspose|uint16,int16,float16 | 204 | +99=Intrinsic_vcpadd|float16,float32 |
| 205 | -101=Intrinsic_vscatter|int16,uint16,float16,float32,int32,uint32 | 205 | +100=Intrinsic_vtranspose|uint16,int16,float16 |
| 206 | -102=Intrinsic_vgather|int16,uint16,float16,float32,int32,uint32 | 206 | +101=Intrinsic_vscatter|int16,uint16,float16,float32,int32,uint32 |
| 207 | -103=Intrinsic_vbrcb|u16u16,s16s16,f16f16,u32u32,s32s32,f32f32 | 207 | +102=Intrinsic_vgather|int16,uint16,float16,float32,int32,uint32 |
| 208 | -104=Intrinsic_data_move_pad|uint8,int8,uint16,int16,float16,int32,float32,uint32,bfloat16 | 208 | +103=Intrinsic_vbrcb|u16u16,s16s16,f16f16,u32u32,s32s32,f32f32 |
| 209 | -105=Intrinsic_data_move_out2l1_nd2nz|hif8,f8,u8,s8,f16,bf16,u16,s16,f32,s32,u32 | 209 | +104=Intrinsic_data_move_pad|uint8,int8,uint16,int16,float16,int32,float32,uint32,bfloat16 |
| 210 | -106=Intrinsic_data_move_out2l1_dn2nz|hif8,f8,u8,s8,f16,bf16,u16,s16,f32,s32,u32 | 210 | +105=Intrinsic_data_move_out2l1_nd2nz|hif8,f8,u8,s8,f16,bf16,u16,s16,f32,s32,u32 |
| 211 | -107=Intrinsic_fix_pipe_post_transform_nz2nd|f32,f16,bf16,s8,u8,s4,s32 | 211 | +106=Intrinsic_data_move_out2l1_dn2nz|hif8,f8,u8,s8,f16,bf16,u16,s16,f32,s32,u32 |
| 212 | -108=Intrinsic_fix_pipe_support_multiple_output|true | 212 | +107=Intrinsic_fix_pipe_post_transform_nz2nd|f32,f16,bf16,s8,u8,s4,s32 |
| 213 | - | 213 | +108=Intrinsic_fix_pipe_support_multiple_output|true |
| 214 | -[VectorCoreSpec] | 214 | + |
| 215 | -vec_freq=1650 | 215 | +[VectorCoreSpec] |
| 216 | -vec_calc_size=128 | 216 | +vec_freq=1650 |
| 217 | -smask_buffer=0 | 217 | +vec_calc_size=128 |
| 218 | -ub_size=253952 | 218 | +smask_buffer=0 |
| 219 | -ubblock_size=32 | 219 | +ub_size=253952 |
| 220 | -ubbank_size=4096 | 220 | +ubblock_size=32 |
| 221 | -ubbank_num=16 | 221 | +ubbank_size=4096 |
| 222 | -ubsubbank_num=64 | 222 | +ubbank_num=16 |
| 223 | -ubburst_in_one_block=32 | 223 | +ubsubbank_num=64 |
| 224 | -ubbank_group_num=8 | 224 | +ubburst_in_one_block=32 |
| 225 | -vector_reg_width=256 | 225 | +ubbank_group_num=8 |
| 226 | -predicate_reg_width=32 | 226 | +vector_reg_width=256 |
| 227 | -wide_reg_width=768 | 227 | +predicate_reg_width=32 |
| 228 | - | 228 | +wide_reg_width=768 |
| 229 | -[VectorCoreMemoryRates] | 229 | + |
| 230 | -ddr_rate=16 | 230 | +[VectorCoreMemoryRates] |
| 231 | -ddr_read_rate=16 | 231 | +ddr_rate=16 |
| 232 | -ddr_write_rate=16 | 232 | +ddr_read_rate=16 |
| 233 | -l2_rate=100 | 233 | +ddr_write_rate=16 |
| 234 | -l2_read_rate=100 | 234 | +l2_rate=100 |
| 235 | -l2_write_rate=100 | 235 | +l2_read_rate=100 |
| 236 | -ub_to_l2_rate=42 | 236 | +l2_write_rate=100 |
| 237 | -ub_to_ddr_rate=40 | 237 | +ub_to_l2_rate=42 |
| 238 | - | 238 | +ub_to_ddr_rate=40 |
| 239 | - | 239 | + |
| 240 | -[VectorCoreintrinsicDtypeMap] | 240 | + |
| 241 | -0=Intrinsic_vrelu|float16,float32,int32 | 241 | +[VectorCoreintrinsicDtypeMap] |
| 242 | -1=Intrinsic_vexp|float16,float32 | 242 | +0=Intrinsic_vrelu|float16,float32,int32 |
| 243 | -2=Intrinsic_vln|float16,float32 | 243 | +1=Intrinsic_vexp|float16,float32 |
| 244 | -3=Intrinsic_vabs|float16,float32 | 244 | +2=Intrinsic_vln|float16,float32 |
| 245 | -4=Intrinsic_vrec|float16,float32 | 245 | +3=Intrinsic_vabs|float16,float32 |
| 246 | -5=Intrinsic_vrsqrt|float16,float32 | 246 | +4=Intrinsic_vrec|float16,float32 |
| 247 | -6=Intrinsic_vnot|int16,uint16 | 247 | +5=Intrinsic_vrsqrt|float16,float32 |
| 248 | -7=Intrinsic_vadd|float16,float32,int32,int16 | 248 | +6=Intrinsic_vnot|int16,uint16 |
| 249 | -8=Intrinsic_vsub|float16,float32,int32,int16 | 249 | +7=Intrinsic_vadd|float16,float32,int32,int16 |
| 250 | -9=Intrinsic_vmul|float16,float32,int32,int16 | 250 | +8=Intrinsic_vsub|float16,float32,int32,int16 |
| 251 | -10=Intrinsic_vmax|float16,float32,int32,int16 | 251 | +9=Intrinsic_vmul|float16,float32,int32,int16 |
| 252 | -11=Intrinsic_vmin|float16,float32,int32,int16 | 252 | +10=Intrinsic_vmax|float16,float32,int32,int16 |
| 253 | -12=Intrinsic_vand|int16,uint16 | 253 | +11=Intrinsic_vmin|float16,float32,int32,int16 |
| 254 | -13=Intrinsic_vor|int16,uint16 | 254 | +12=Intrinsic_vand|int16,uint16 |
| 255 | -14=Intrinsic_vadds|float16,float32,int32,int16 | 255 | +13=Intrinsic_vor|int16,uint16 |
| 256 | -15=Intrinsic_vmuls|float16,float32,int32,int16 | 256 | +14=Intrinsic_vadds|float16,float32,int32,int16 |
| 257 | -16=Intrinsic_vaxpy|f16f16f16,f32f32f32,float16,float32 | 257 | +15=Intrinsic_vmuls|float16,float32,int32,int16 |
| 258 | -17=Intrinsic_vcmpv_ne|float16,float32 | 258 | +16=Intrinsic_vaxpy|f16f16f16,f32f32f32,float16,float32 |
| 259 | -18=Intrinsic_vcmpv_eq|float16,float32,int32 | 259 | +17=Intrinsic_vcmpv_ne|float16,float32 |
| 260 | -19=Intrinsic_vcmpv_gt|float16,float32 | 260 | +18=Intrinsic_vcmpv_eq|float16,float32,int32 |
| 261 | -20=Intrinsic_vcmpv_ge|float16,float32 | 261 | +19=Intrinsic_vcmpv_gt|float16,float32 |
| 262 | -21=Intrinsic_vcmpv_lt|float16,float32 | 262 | +20=Intrinsic_vcmpv_ge|float16,float32 |
| 263 | -22=Intrinsic_vcmpv_le|float16,float32 | 263 | +21=Intrinsic_vcmpv_lt|float16,float32 |
| 264 | -23=Intrinsic_vconv|f322f32r,f322f32f,f322f32c,deq,f322f32a,f322f32z,f322f16,f322f16r,f322f16f,f322f16c,f322f16a,f322f16z,f322f16o,f322s64r,f322s64f,f322s64c,f322s64a,f322s64z,f322s32r,f322s32f,f322s32c,f322s32a,f322s32z,f322s16r,f322s16f,f322s16c,f322s16a,f322s16z,f162f32,f162s32r,f162s32f,f162s32c,f162s32a,f162s32z,f162s16r,f162s16f,f162s16c,f162s16a,f162s16z,f162s8,f162s8r,f162s8f,f162s8c,f162s8a,f162s8z,f162u8,f162u8r,f162u8f,f162u8c,f162u8a,f162u8z,u82f16,s82f16,s162f16,s162f16r,s162f16f,s162f16c,s162f16a,s162f16z,s162f32,s162s8,s162u8,s322f32,s322f32r,s322f32f,s322f32c,s322f32a,s322f32z,s322f16,s322s64,s322s16,s642s32,s642f32r,s642f32f,s642f32c,s642f32a,s642f32z,f322bf16r,f322bf16f,f322bf16c,f322bf16a,f322bf16z,bf162f32,bf162s32r,bf162s32f,bf162s32c,bf162s32a,bf162s32z | 264 | +22=Intrinsic_vcmpv_le|float16,float32 |
| 265 | -24=Intrinsic_vcadd|float16,float32 | 265 | +23=Intrinsic_vconv|f322f32r,f322f32f,f322f32c,deq,f322f32a,f322f32z,f322f16,f322f16r,f322f16f,f322f16c,f322f16a,f322f16z,f322f16o,f322s64r,f322s64f,f322s64c,f322s64a,f322s64z,f322s32r,f322s32f,f322s32c,f322s32a,f322s32z,f322s16r,f322s16f,f322s16c,f322s16a,f322s16z,f162f32,f162s32r,f162s32f,f162s32c,f162s32a,f162s32z,f162s16r,f162s16f,f162s16c,f162s16a,f162s16z,f162s8,f162s8r,f162s8f,f162s8c,f162s8a,f162s8z,f162u8,f162u8r,f162u8f,f162u8c,f162u8a,f162u8z,u82f16,s82f16,s162f16,s162f16r,s162f16f,s162f16c,s162f16a,s162f16z,s162f32,s162s8,s162u8,s322f32,s322f32r,s322f32f,s322f32c,s322f32a,s322f32z,s322f16,s322s64,s322s16,s642s32,s642f32r,s642f32f,s642f32c,s642f32a,s642f32z,f322bf16r,f322bf16f,f322bf16c,f322bf16a,f322bf16z,bf162f32,bf162s32r,bf162s32f,bf162s32c,bf162s32a,bf162s32z |
| 266 | -25=Intrinsic_vcmax|float16,float32 | 266 | +24=Intrinsic_vcadd|float16,float32 |
| 267 | -26=Intrinsic_vcmin|float16,float32 | 267 | +25=Intrinsic_vcmax|float16,float32 |
| 268 | -27=Intrinsic_vbi|float16,float32 | 268 | +26=Intrinsic_vcmin|float16,float32 |
| 269 | -28=Intrinsic_vlrelu|float16,float32 | 269 | +27=Intrinsic_vbi|float16,float32 |
| 270 | -29=Intrinsic_scatter_vconv|f322f16,f162f32,f162s8,f162u8,s322f16,s322f32,u82f16,s82f16,f162s32r,f162s8f,f162u8f,f162s32f,f322s32f,f162s8c,f162u8c,f162s32c,f322s32c,f162s8a,f162u8a,f162s32a,f322s32a,f162s8z,f162u8z,f162s32z,f322s32z,f322f16o | 270 | +28=Intrinsic_vlrelu|float16,float32 |
| 271 | -30=Intrinsic_vreduce|int16,uint16,float16,float32,int32,uint32 | 271 | +29=Intrinsic_scatter_vconv|f322f16,f162f32,f162s8,f162u8,s322f16,s322f32,u82f16,s82f16,f162s32r,f162s8f,f162u8f,f162s32f,f322s32f,f162s8c,f162u8c,f162s32c,f322s32c,f162s8a,f162u8a,f162s32a,f322s32a,f162s8z,f162u8z,f162s32z,f322s32z,f322f16o |
| 272 | -31=Intrinsic_vmaxs|float16,float32,int32,int16 | 272 | +30=Intrinsic_vreduce|int16,uint16,float16,float32,int32,uint32 |
| 273 | -32=Intrinsic_vcmp|float16,float32 | 273 | +31=Intrinsic_vmaxs|float16,float32,int32,int16 |
| 274 | -33=Intrinsic_vsel|float16,float32 | 274 | +32=Intrinsic_vcmp|float16,float32 |
| 275 | -34=Intrinsic_vsqrt|float16,float32 | 275 | +33=Intrinsic_vsel|float16,float32 |
| 276 | -35=Intrinsic_vdiv|float16,float32 | 276 | +34=Intrinsic_vsqrt|float16,float32 |
| 277 | -36=Intrinsic_vmins|float16,float32,int32,int16 | 277 | +35=Intrinsic_vdiv|float16,float32 |
| 278 | -37=Intrinsic_vshl|int16,uint16,int32,uint32 | 278 | +36=Intrinsic_vmins|float16,float32,int32,int16 |
| 279 | -38=Intrinsic_vshr|int16,uint16,int32,uint32 | 279 | +37=Intrinsic_vshl|int16,uint16,int32,uint32 |
| 280 | -39=Intrinsic_vnchwconv|float16,float32,int32,int16,uint32,uint16,int8,uint8 | 280 | +38=Intrinsic_vshr|int16,uint16,int32,uint32 |
| 281 | -40=Intrinsic_vreducev2|int16,uint16,float16,float32,int32,uint32 | 281 | +39=Intrinsic_vnchwconv|float16,float32,int32,int16,uint32,uint16,int8,uint8 |
| 282 | -41=Intrinsic_vcpadd|float16,float32 | 282 | +40=Intrinsic_vreducev2|int16,uint16,float16,float32,int32,uint32 |
| 283 | -42=Intrinsic_vgatherb|u16u16,s16s16,f16f16,u32u32,s32s32,f32f32 | 283 | +41=Intrinsic_vcpadd|float16,float32 |
| 284 | -43=Intrinsic_vbrcb|u16u16,s16s16,f16f16,u32u32,s32s32,f32f32 | 284 | +42=Intrinsic_vgatherb|u16u16,s16s16,f16f16,u32u32,s32s32,f32f32 |
| 285 | -44=Intrinsic_sqrt|int64,float32 | 285 | +43=Intrinsic_vbrcb|u16u16,s16s16,f16f16,u32u32,s32s32,f32f32 |
| 286 | -45=Intrinsic_abs|int64,float32 | 286 | +44=Intrinsic_sqrt|int64,float32 |
| 287 | -46=Intrinsic_bcnt0|uint64 | 287 | +45=Intrinsic_abs|int64,float32 |
| 288 | -47=Intrinsic_bcnt1|uint64 | 288 | +46=Intrinsic_bcnt0|uint64 |
| 289 | -48=Intrinsic_clz|uint64 | 289 | +47=Intrinsic_bcnt1|uint64 |
| 290 | -49=Intrinsic_max|int64,float32 | 290 | +48=Intrinsic_clz|uint64 |
| 291 | -50=Intrinsic_min|int64,float32 | 291 | +49=Intrinsic_max|int64,float32 |
| 292 | -51=Intrinsic_vcgadd|float16,float32 | 292 | +50=Intrinsic_min|int64,float32 |
| 293 | -52=Intrinsic_vectorized_psts|uint8,int8,uint16,int16,uint32,int32,float16,float32 | 293 | +51=Intrinsic_vcgadd|float16,float32 |
| 294 | -53=Intrinsic_vgather|int16,uint16,float16,float32,int32,uint32 | 294 | +52=Intrinsic_vectorized_psts|uint8,int8,uint16,int16,uint32,int32,float16,float32 |
| 295 | -98=Intrinsic_vectorized_vadds|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 | 295 | +53=Intrinsic_vgather|int16,uint16,float16,float32,int32,uint32 |
| 296 | -99=Intrinsic_vectorized_vmuls|u8u8,s8s8,u16u16,s16s16,s32s32,f16f16,f32f32,u8s24,s8s24,u16s48,s16s48,u16s64,s16s64 | 296 | +98=Intrinsic_vectorized_vadds|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 |
| 297 | -100=Intrinsic_vectorized_vmul|u8u8,s8s8,u16u16,s16s16,s32s32,f16f16,f32f32,u8s24,s8s24,u16s48,s16s48,u16s64,s16s64 | 297 | +99=Intrinsic_vectorized_vmuls|u8u8,s8s8,u16u16,s16s16,s32s32,f16f16,f32f32,u8s24,s8s24,u16s48,s16s48,u16s64,s16s64 |
| 298 | -101=Intrinsic_vectorized_sub|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32,s8s24,u8s24,s16s48,u16s48 | 298 | +100=Intrinsic_vectorized_vmul|u8u8,s8s8,u16u16,s16s16,s32s32,f16f16,f32f32,u8s24,s8s24,u16s48,s16s48,u16s64,s16s64 |
| 299 | -102=Intrinsic_vectorized_vexp|f16f16,f32f32 | 299 | +101=Intrinsic_vectorized_sub|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32,s8s24,u8s24,s16s48,u16s48 |
| 300 | -103=Intrinsic_vectorized_vadd|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32,s8s24,u8s24,s16s48,u16s48 | 300 | +102=Intrinsic_vectorized_vexp|f16f16,f32f32 |
| 301 | -104=Intrinsic_vectorized_vdiv|u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 | 301 | +103=Intrinsic_vectorized_vadd|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32,s8s24,u8s24,s16s48,u16s48 |
| 302 | -105=Intrinsic_vectorized_vmaxs|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 | 302 | +104=Intrinsic_vectorized_vdiv|u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 |
| 303 | -106=Intrinsic_vectorized_vmins|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 | 303 | +105=Intrinsic_vectorized_vmaxs|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 |
| 304 | -107=Intrinsic_vectorized_vcadd|s8s16,s16s32,s32s32,u8u16,u16u32,u32u32,f16f16,f32f32 | 304 | +106=Intrinsic_vectorized_vmins|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 |
| 305 | -108=Intrinsic_vectorized_vcmax|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 | 305 | +107=Intrinsic_vectorized_vcadd|s8s16,s16s32,s32s32,u8u16,u16u32,u32u32,f16f16,f32f32 |
| 306 | -109=Intrinsic_vectorized_vcmin|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 | 306 | +108=Intrinsic_vectorized_vcmax|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 |
| 307 | -110=Intrinsic_vectorized_vxor|bb,u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 | 307 | +109=Intrinsic_vectorized_vcmin|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 |
| 308 | -111=Intrinsic_vectorized_vand|bb,u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 | 308 | +110=Intrinsic_vectorized_vxor|bb,u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 |
| 309 | -112=Intrinsic_vectorized_vor|bb,u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 | 309 | +111=Intrinsic_vectorized_vand|bb,u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 |
| 310 | -113=Intrinsic_vectorized_vsel|bb,u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 | 310 | +112=Intrinsic_vectorized_vor|bb,u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 |
| 311 | -114=Intrinsic_vectorized_vdup|uint8,int8,uint16,int16,uint32,int32,float16,float32 | 311 | +113=Intrinsic_vectorized_vsel|bb,u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 |
| 312 | -115=Intrinsic_vectorized_vdupm|uint8,int8,uint16,int16,uint32,int32,float16,float32 | 312 | +114=Intrinsic_vectorized_vdup|uint8,int8,uint16,int16,uint32,int32,float16,float32 |
| 313 | -116=Intrinsic_vectorized_vdups|uint8,int8,uint16,int16,uint32,int32,float16,float32 | 313 | +115=Intrinsic_vectorized_vdupm|uint8,int8,uint16,int16,uint32,int32,float16,float32 |
| 314 | -117=Intrinsic_vectorized_vdupi|uint8,int8,uint16,int16,float16 | 314 | +116=Intrinsic_vectorized_vdups|uint8,int8,uint16,int16,uint32,int32,float16,float32 |
| 315 | -118=Intrinsic_vectorized_vcmp_eq|uint8,int8,uint16,int16,uint32,int32,float16,float32 | 315 | +117=Intrinsic_vectorized_vdupi|uint8,int8,uint16,int16,float16 |
| 316 | -119=Intrinsic_vectorized_vcmp_ne|uint8,int8,uint16,int16,uint32,int32,float16,float32 | 316 | +118=Intrinsic_vectorized_vcmp_eq|uint8,int8,uint16,int16,uint32,int32,float16,float32 |
| 317 | -120=Intrinsic_vectorized_vcmp_gt|uint8,int8,uint16,int16,uint32,int32,float16,float32 | 317 | +119=Intrinsic_vectorized_vcmp_ne|uint8,int8,uint16,int16,uint32,int32,float16,float32 |
| 318 | -121=Intrinsic_vectorized_vcmp_ge|uint8,int8,uint16,int16,uint32,int32,float16,float32 | 318 | +120=Intrinsic_vectorized_vcmp_gt|uint8,int8,uint16,int16,uint32,int32,float16,float32 |
| 319 | -122=Intrinsic_vectorized_vcmp_lt|uint8,int8,uint16,int16,uint32,int32,float16,float32 | 319 | +121=Intrinsic_vectorized_vcmp_ge|uint8,int8,uint16,int16,uint32,int32,float16,float32 |
| 320 | -123=Intrinsic_vectorized_vcmp_le|uint8,int8,uint16,int16,uint32,int32,float16,float32 | 320 | +122=Intrinsic_vectorized_vcmp_lt|uint8,int8,uint16,int16,uint32,int32,float16,float32 |
| 321 | -124=Intrinsic_vectorized_vcmps_eq|uint8,int8,uint16,int16,uint32,int32,float16,float32 | 321 | +123=Intrinsic_vectorized_vcmp_le|uint8,int8,uint16,int16,uint32,int32,float16,float32 |
| 322 | -125=Intrinsic_vectorized_vcmps_ne|uint8,int8,uint16,int16,uint32,int32,float16,float32 | 322 | +124=Intrinsic_vectorized_vcmps_eq|uint8,int8,uint16,int16,uint32,int32,float16,float32 |
| 323 | -126=Intrinsic_vectorized_vcmps_gt|uint8,int8,uint16,int16,uint32,int32,float16,float32 | 323 | +125=Intrinsic_vectorized_vcmps_ne|uint8,int8,uint16,int16,uint32,int32,float16,float32 |
| 324 | -127=Intrinsic_vectorized_vcmps_ge|uint8,int8,uint16,int16,uint32,int32,float16,float32 | 324 | +126=Intrinsic_vectorized_vcmps_gt|uint8,int8,uint16,int16,uint32,int32,float16,float32 |
| 325 | -128=Intrinsic_vectorized_vcmps_lt|uint8,int8,uint16,int16,uint32,int32,float16,float32 | 325 | +127=Intrinsic_vectorized_vcmps_ge|uint8,int8,uint16,int16,uint32,int32,float16,float32 |
| 326 | -129=Intrinsic_vectorized_vcmps_le|uint8,int8,uint16,int16,uint32,int32,float16,float32 | 326 | +128=Intrinsic_vectorized_vcmps_lt|uint8,int8,uint16,int16,uint32,int32,float16,float32 |
| 327 | -130=Intrinsic_vectorized_vscatter|s8u16,u8u16,s16u16,u16u16,s32u32,u32u32,f16u16,f32u32 | 327 | +129=Intrinsic_vectorized_vcmps_le|uint8,int8,uint16,int16,uint32,int32,float16,float32 |
| 328 | -131=Intrinsic_vectorized_vmov|bb,u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 | 328 | +130=Intrinsic_vectorized_vscatter|s8u16,u8u16,s16u16,u16u16,s32u32,u32u32,f16u16,f32u32 |
| 329 | -132=Intrinsic_vectorized_vsqrt|f16f16,f32f32 | 329 | +131=Intrinsic_vectorized_vmov|bb,u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 |
| 330 | -133=Intrinsic_vectorized_vshls|u8u8,u16u16,s16s16,u32u32,s32s32 | 330 | +132=Intrinsic_vectorized_vsqrt|f16f16,f32f32 |
| 331 | -134=Intrinsic_vectorized_vrnds|s16s16,s32s32 | 331 | +133=Intrinsic_vectorized_vshls|u8u8,u16u16,s16s16,u32u32,s32s32 |
| 332 | -135=Intrinsic_vectorized_vlrelu|f16f16,f32f32 | 332 | +134=Intrinsic_vectorized_vrnds|s16s16,s32s32 |
| 333 | -136=Intrinsic_vectorized_vsadds|s16s16 | 333 | +135=Intrinsic_vectorized_vlrelu|f16f16,f32f32 |
| 334 | -137=Intrinsic_vectorized_vcbmax|uint8,int8,uint16,int16,uint32,int32,float16,float32 | 334 | +136=Intrinsic_vectorized_vsadds|s16s16 |
| 335 | -138=Intrinsic_vectorized_vcbmin|uint8,int8,uint16,int16,uint32,int32,float16,float32 | 335 | +137=Intrinsic_vectorized_vcbmax|uint8,int8,uint16,int16,uint32,int32,float16,float32 |
| 336 | -139=Intrinsic_vectorized_vmula|u8u8,s8s8,u16u16,s16s16,s32s32,f16f16,f32f32 | 336 | +138=Intrinsic_vectorized_vcbmin|uint8,int8,uint16,int16,uint32,int32,float16,float32 |
| 337 | -140=Intrinsic_vectorized_vmadd|f16f16,f32f32 | 337 | +139=Intrinsic_vectorized_vmula|u8u8,s8s8,u16u16,s16s16,s32s32,f16f16,f32f32 |
| 338 | -142=Intrinsic_vectorized_vrnd|s16s16,s32s32 | 338 | +140=Intrinsic_vectorized_vmadd|f16f16,f32f32 |
| 339 | -143=Intrinsic_vectorized_vavg|u8u8,s8s8,u16u16,s16s16 | 339 | +142=Intrinsic_vectorized_vrnd|s16s16,s32s32 |
| 340 | -144=Intrinsic_vectorized_vadd3|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32 | 340 | +143=Intrinsic_vectorized_vavg|u8u8,s8s8,u16u16,s16s16 |
| 341 | -146=Intrinsic_vectorized_vadif|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32 | 341 | +144=Intrinsic_vectorized_vadd3|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32 |
| 342 | -147=Intrinsic_vectorized_vsad|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32 | 342 | +146=Intrinsic_vectorized_vadif|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32 |
| 343 | -149=Intrinsic_vectorized_vsadd|s16s16 | 343 | +147=Intrinsic_vectorized_vsad|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32 |
| 344 | -150=Intrinsic_vectorized_vssub|s16s16 | 344 | +149=Intrinsic_vectorized_vsadd|s16s16 |
| 345 | -154=Intrinsic_vectorized_vrsqrt|f16f16,f32f32 | 345 | +150=Intrinsic_vectorized_vssub|s16s16 |
| 346 | -155=Intrinsic_vectorized_vnot|bb,u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 | 346 | +154=Intrinsic_vectorized_vrsqrt|f16f16,f32f32 |
| 347 | -156=Intrinsic_vectorized_vneg|s8s8,s16s16,s32s32,f16f16,f32f32 | 347 | +155=Intrinsic_vectorized_vnot|bb,u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 |
| 348 | -157=Intrinsic_vectorized_vln|f16f16,f32f32 | 348 | +156=Intrinsic_vectorized_vneg|s8s8,s16s16,s32s32,f16f16,f32f32 |
| 349 | -158=Intrinsic_vectorized_vcls|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32 | 349 | +157=Intrinsic_vectorized_vln|f16f16,f32f32 |
| 350 | -160=Intrinsic_vectorized_vintlv|uint8,int8,uint16,int16,uint32,int32,float16,float32 | 350 | +158=Intrinsic_vectorized_vcls|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32 |
| 351 | -161=Intrinsic_vectorized_vdintlv|uint8,int8,uint16,int16,uint32,int32,float16,float32 | 351 | +160=Intrinsic_vectorized_vintlv|uint8,int8,uint16,int16,uint32,int32,float16,float32 |
| 352 | -162=Intrinsic_vectorized_vselr|u8u8u8,s8s8u8,u16u16u16,s16s16u16,f16f16u16 | 352 | +161=Intrinsic_vectorized_vdintlv|uint8,int8,uint16,int16,uint32,int32,float16,float32 |
| 353 | -163=Intrinsic_vectorized_vpack|bb,u16u8,s16u8,u32u16,s32u16 | 353 | +162=Intrinsic_vectorized_vselr|u8u8u8,s8s8u8,u16u16u16,s16s16u16,f16f16u16 |
| 354 | -164=Intrinsic_vectorized_vunpack|bb,u8u16,s8s16,u16u32,s16s32 | 354 | +163=Intrinsic_vectorized_vpack|bb,u16u8,s16u8,u32u16,s32u16 |
| 355 | -165=Intrinsic_vectorized_vsqz|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 | 355 | +164=Intrinsic_vectorized_vunpack|bb,u8u16,s8s16,u16u32,s16s32 |
| 356 | -166=Intrinsic_vectorized_vbr|uint8,int8,uint16,int16,uint32,int32,float16,float32 | 356 | +165=Intrinsic_vectorized_vsqz|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 |
| 357 | -167=Intrinsic_vectorized_vci|int8,int16,int32,float16,float32 | 357 | +166=Intrinsic_vectorized_vbr|uint8,int8,uint16,int16,uint32,int32,float16,float32 |
| 358 | -168=Intrinsic_vectorized_vgatherb|int8,uint8,int16,uint16,int32,uint32,float16,float32 | 358 | +167=Intrinsic_vectorized_vci|int8,int16,int32,float16,float32 |
| 359 | -169=Intrinsic_vectorized_vgather2|s16u16s8,u16u16u8,s16u16s16,u16u16u16,s32u32s32,u32u32u32,f16u16f16,f32u32f32 | 359 | +168=Intrinsic_vectorized_vgatherb|int8,uint8,int16,uint16,int32,uint32,float16,float32 |
| 360 | -172=Intrinsic_vectorized_vmax|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 | 360 | +169=Intrinsic_vectorized_vgather2|s16u16s8,u16u16u8,s16u16s16,u16u16u16,s32u32s32,u32u32u32,f16u16f16,f32u32f32 |
| 361 | -173=Intrinsic_vectorized_vsub|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32,s8s24,u8s24,s16s48,u16s48 | 361 | +172=Intrinsic_vectorized_vmax|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 |
| 362 | -174=Intrinsic_vectorized_vbcnt|u8s8,s8s8,u16s16,s16s16,u32s32,s32s32 | 362 | +173=Intrinsic_vectorized_vsub|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32,s8s24,u8s24,s16s48,u16s48 |
| 363 | -175=Intrinsic_vectorized_pld|uint8,int8,uint16,int16,uint32,int32,float16,float32 | 363 | +174=Intrinsic_vectorized_vbcnt|u8s8,s8s8,u16s16,s16s16,u32s32,s32s32 |
| 364 | -176=Intrinsic_vectorized_vaxpy|f16f16,f32f32 | 364 | +175=Intrinsic_vectorized_pld|uint8,int8,uint16,int16,uint32,int32,float16,float32 |
| 365 | -177=Intrinsic_vectorized_vmin|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 | 365 | +176=Intrinsic_vectorized_vaxpy|f16f16,f32f32 |
| 366 | -178=Intrinsic_vectorized_vrec|f16f16,f32f32 | 366 | +177=Intrinsic_vectorized_vmin|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 |
| 367 | -179=Intrinsic_vectorized_vlog|float16,float32 | 367 | +178=Intrinsic_vectorized_vrec|f16f16,f32f32 |
| 368 | -180=Intrinsic_vectorized_vabs|s8s8,s16s16,s32s32,f16f16,f32f32 | 368 | +179=Intrinsic_vectorized_vlog|float16,float32 |
| 369 | -181=Intrinsic_vectorized_plt|uint8,int8,uint16,int16,float16,int32,float32,uint32 | 369 | +180=Intrinsic_vectorized_vabs|s8s8,s16s16,s32s32,f16f16,f32f32 |
| 370 | -182=Intrinsic_data_move_gather|uint8,int8,uint16,int16,float16,int32,float32,uint32,uint64,int64 | 370 | +181=Intrinsic_vectorized_plt|uint8,int8,uint16,int16,float16,int32,float32,uint32 |
| 371 | -183=Intrinsic_vector_filter1d|u8s16,s8s16,u16s16,s16s16 | 371 | +182=Intrinsic_data_move_gather|uint8,int8,uint16,int16,float16,int32,float32,uint32,uint64,int64 |
| 372 | -184=Intrinsic_vectorized_vabsdif|u8u8,s8s8,u16u16,s16s16,s32s32,f16f16,f32f32 | 372 | +183=Intrinsic_vector_filter1d|u8s16,s8s16,u16s16,s16s16 |
| 373 | -185=Intrinsic_vectorized_vshl|u8u8,u16u16,s16s16,u32u32,s32s32 | 373 | +184=Intrinsic_vectorized_vabsdif|u8u8,s8s8,u16u16,s16s16,s32s32,f16f16,f32f32 |
| 374 | -186=Intrinsic_vectorized_vshr|u8u8,u16u16,s16s16,u32u32,s32s32,s24s8,s24u8,s48s16,s48u16,s64s32,s24s16,s24u16,s48s32 | 374 | +185=Intrinsic_vectorized_vshl|u8u8,u16u16,s16s16,u32u32,s32s32 |
| 375 | -188=Intrinsic_vectorized_vrelu|s32s32,f16f16,f32f32 | 375 | +186=Intrinsic_vectorized_vshr|u8u8,u16u16,s16s16,u32u32,s32s32,s24s8,s24u8,s48s16,s48u16,s64s32,s24s16,s24u16,s48s32 |
| 376 | -189=Intrinsic_vectorized_pge|uint8,int8,uint16,int16,float16,int32,float32,uint32 | 376 | +188=Intrinsic_vectorized_vrelu|s32s32,f16f16,f32f32 |
| 377 | -190=Intrinsic_vectorized_pset|uint8,int8,uint16,int16,float16,int32,float32,uint32 | 377 | +189=Intrinsic_vectorized_pge|uint8,int8,uint16,int16,float16,int32,float32,uint32 |
| 378 | -191=Intrinsic_vectorized_pslide|uint8,int8,uint16,int16,float16,int32,float32,uint32 | 378 | +190=Intrinsic_vectorized_pset|uint8,int8,uint16,int16,float16,int32,float32,uint32 |
| 379 | -192=Intrinsic_data_move_pad|uint8,int8,uint16,int16,float16,int32,float32,uint32,bfloat16 | 379 | +191=Intrinsic_vectorized_pslide|uint8,int8,uint16,int16,float16,int32,float32,uint32 |
| 380 | -193=Intrinsic_vectorized_vsld|uint8,int8,uint16,int16,float16,int32,float32,uint32 | 380 | +192=Intrinsic_data_move_pad|uint8,int8,uint16,int16,float16,int32,float32,uint32,bfloat16 |
| 381 | -194=Intrinsic_vectorized_cast|f16f32,f32f16,u8f16,s8f16,f16u8,f16s8,f16s16,f16s32,s16f16,s16f32,f32s16,f32s32,s32f32,u8u16,u8u32,s8s16,s8s32,u16u8,u16u32,s16u8,s16u32,s16s32,u32u8,u32u16,u32s16,s32u8,s32u16,s32s16 | 381 | +193=Intrinsic_vectorized_vsld|uint8,int8,uint16,int16,float16,int32,float32,uint32 |
| 382 | -196=Intrinsic_vectorized_vshrs|u8u8,u16u16,s16s16,u32u32,s32s32,s24s8,s24u8,s48s16,s48u16,s64s32,s24s16,s24u16,s48s32 | 382 | +194=Intrinsic_vectorized_cast|f16f32,f32f16,u8f16,s8f16,f16u8,f16s8,f16s16,f16s32,s16f16,s16f32,f32s16,f32s32,s32f32,u8u16,u8u32,s8s16,s8s32,u16u8,u16u32,s16u8,s16u32,s16s32,u32u8,u32u16,u32s16,s32u8,s32u16,s32s16 |
| 383 | -197=Intrinsic_vectorized_pst|uint8,int8,uint16,int16,uint32,int32,float16,float32 | 383 | +196=Intrinsic_vectorized_vshrs|u8u8,u16u16,s16s16,u32u32,s32s32,s24s8,s24u8,s48s16,s48u16,s64s32,s24s16,s24u16,s48s32 |
| 384 | -198=Intrinsic_vectorized_dhist|u8u32 | 384 | +197=Intrinsic_vectorized_pst|uint8,int8,uint16,int16,uint32,int32,float16,float32 |
| 385 | -199=Intrinsic_vectorized_dhistv2|u8u16 | 385 | +198=Intrinsic_vectorized_dhist|u8u32 |
| 386 | -200=Intrinsic_vectorized_chist|u8u32 | 386 | +199=Intrinsic_vectorized_dhistv2|u8u16 |
| 387 | -201=Intrinsic_vectorized_chistv2|u8u16 | 387 | +200=Intrinsic_vectorized_chist|u8u32 |
| 388 | -202=Intrinsic_vectorized_vfilter|s8s48,u8s48,s16s48,u16s48 | 388 | +201=Intrinsic_vectorized_chistv2|u8u16 |
| 389 | -203=Intrinsic_vectorized_vslide|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 | 389 | +202=Intrinsic_vectorized_vfilter|s8s48,u8s48,s16s48,u16s48 |
| 390 | -204=Intrinsic_vectorized_fmax|u8u8 | 390 | +203=Intrinsic_vectorized_vslide|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32 |
| 391 | -205=Intrinsic_vectorized_fmin|u8u8 | 391 | +204=Intrinsic_vectorized_fmax|u8u8 |
| 392 | -206=Intrinsic_vectorized_vusqz|bs8,bs16,bs32,bu8,bu16,bu32 | 392 | +205=Intrinsic_vectorized_fmin|u8u8 |
| 393 | -207=Intrinsic_vectorized_vtrc|f16f16,f32f32 | 393 | +206=Intrinsic_vectorized_vusqz|bs8,bs16,bs32,bu8,bu16,bu32 |
| 394 | -208=Intrinsic_fix_pipe_l0c2out|f32,s32,f16 | 394 | +207=Intrinsic_vectorized_vtrc|f16f16,f32f32 |
| 395 | -209=Intrinsic_vcopy|int16,uint16,float16,float32,int32,uint32 | 395 | +208=Intrinsic_fix_pipe_l0c2out|f32,s32,f16 |
| 396 | -210=Intrinsic_vbitsort32|float16,float32 | 396 | +209=Intrinsic_vcopy|int16,uint16,float16,float32,int32,uint32 |
| 397 | -211=Intrinsic_vmrgsort4v2|float16,float32 | 397 | +210=Intrinsic_vbitsort32|float16,float32 |
| 398 | -212=Intrinsic_vmadd|float16,float32 | 398 | +211=Intrinsic_vmrgsort4v2|float16,float32 |
| 399 | -213=Intrinsic_vcmpvs_ne|float16,float32 | 399 | +212=Intrinsic_vmadd|float16,float32 |
| 400 | -214=Intrinsic_vcmpvs_eq|int32,float16,float32 | 400 | +213=Intrinsic_vcmpvs_ne|float16,float32 |
| 401 | -215=Intrinsic_vcmpvs_gt|float16,float32 | 401 | +214=Intrinsic_vcmpvs_eq|int32,float16,float32 |
| 402 | -216=Intrinsic_vcmpvs_ge|float16,float32 | 402 | +215=Intrinsic_vcmpvs_gt|float16,float32 |
| 403 | -217=Intrinsic_vcmpvs_lt|float16,float32 | 403 | +216=Intrinsic_vcmpvs_ge|float16,float32 |
| 404 | -218=Intrinsic_vcmpvs_le|float16,float32 | 404 | +217=Intrinsic_vcmpvs_lt|float16,float32 |
| 405 | -219=Intrinsic_vcbd|u82u16,u82u32,s82s16,s82s32,u162u8,u162u32,s162u8,s162u32,s162s32,u322u8,u322u16,u322s16,s322u8,s322u16,s322s16 | 405 | +218=Intrinsic_vcmpvs_le|float16,float32 |
| 406 | -220=Intrinsic_vcgmax|float16,float32 | 406 | +219=Intrinsic_vcbd|u82u16,u82u32,s82s16,s82s32,u162u8,u162u32,s162u8,s162u32,s162s32,u322u8,u322u16,u322s16,s322u8,s322u16,s322s16 |
| 407 | -221=Intrinsic_vmla|f16f16f16,f32f32f32,float16,float32 | 407 | +220=Intrinsic_vcgmax|float16,float32 |
| 408 | -222=Intrinsic_vcgmin|float16,float32 | 408 | +221=Intrinsic_vmla|f16f16f16,f32f32f32,float16,float32 |
| 409 | -223=Intrinsic_vtranspose|uint16,int16,float16 | 409 | +222=Intrinsic_vcgmin|float16,float32 |
| 410 | -224=Intrinsic_vscatter|int16,uint16,float16,float32,int32,uint32 | 410 | +223=Intrinsic_vtranspose|uint16,int16,float16 |
| 411 | -225=Intrinsic_vci|float16,float32,int16,int32 | 411 | +224=Intrinsic_vscatter|int16,uint16,float16,float32,int32,uint32 |
| 412 | -226=Intrinsic_vbrcb|u16u16,s16s16,f16f16,u32u32,s32s32,f32f32 | 412 | +225=Intrinsic_vci|float16,float32,int16,int32 |
| 413 | -227=Intrinsic_vectorized_plds|uint8,int8,uint16,int16,uint32,int32,float16,float32 | 413 | +226=Intrinsic_vbrcb|u16u16,s16s16,f16f16,u32u32,s32s32,f32f32 |
| 414 | +227=Intrinsic_vectorized_plds|uint8,int8,uint16,int16,uint32,int32,float16,float32 | ||
| 414 | 228=Intrinsic_vbitsort|float16 | 415 | 228=Intrinsic_vbitsort|float16 |
| @@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube | |||
| 11 | CCEC_VECTOR_version=dav-c310-vec | 11 | CCEC_VECTOR_version=dav-c310-vec |
| 12 | Compiler_aicpu_support_os=true | 12 | Compiler_aicpu_support_os=true |
| 13 | NpuArch=3510 | 13 | NpuArch=3510 |
| 14 | +Chip_type=15 | ||
王 | |||
| 14 | 15 | ||
| 15 | [SoCInfo] | 16 | [SoCInfo] |
| 16 | ai_core_cnt=8 | 17 | ai_core_cnt=8 |
| @@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube | |||
| 11 | CCEC_VECTOR_version=dav-c310-vec | 11 | CCEC_VECTOR_version=dav-c310-vec |
| 12 | Compiler_aicpu_support_os=true | 12 | Compiler_aicpu_support_os=true |
| 13 | NpuArch=3510 | 13 | NpuArch=3510 |
| 14 | +Chip_type=15 | ||
| 14 | 15 | ||
| 15 | [SoCInfo] | 16 | [SoCInfo] |
| 16 | ai_core_cnt=8 | 17 | ai_core_cnt=8 |
| @@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube | |||
| 11 | CCEC_VECTOR_version=dav-c310-vec | 11 | CCEC_VECTOR_version=dav-c310-vec |
| 12 | Compiler_aicpu_support_os=true | 12 | Compiler_aicpu_support_os=true |
| 13 | NpuArch=3510 | 13 | NpuArch=3510 |
| 14 | +Chip_type=15 | ||
| 14 | 15 | ||
| 15 | [SoCInfo] | 16 | [SoCInfo] |
| 16 | ai_core_cnt=28 | 17 | ai_core_cnt=28 |
| @@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube | |||
| 11 | CCEC_VECTOR_version=dav-c310-vec | 11 | CCEC_VECTOR_version=dav-c310-vec |
| 12 | Compiler_aicpu_support_os=true | 12 | Compiler_aicpu_support_os=true |
| 13 | NpuArch=3510 | 13 | NpuArch=3510 |
| 14 | +Chip_type=15 | ||
| 14 | 15 | ||
| 15 | [SoCInfo] | 16 | [SoCInfo] |
| 16 | ai_core_cnt=28 | 17 | ai_core_cnt=28 |
| @@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube | |||
| 11 | CCEC_VECTOR_version=dav-c310-vec | 11 | CCEC_VECTOR_version=dav-c310-vec |
| 12 | Compiler_aicpu_support_os=true | 12 | Compiler_aicpu_support_os=true |
| 13 | NpuArch=3510 | 13 | NpuArch=3510 |
| 14 | +Chip_type=15 | ||
| 14 | 15 | ||
| 15 | [SoCInfo] | 16 | [SoCInfo] |
| 16 | ai_core_cnt=28 | 17 | ai_core_cnt=28 |
| @@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube | |||
| 11 | CCEC_VECTOR_version=dav-c310-vec | 11 | CCEC_VECTOR_version=dav-c310-vec |
| 12 | Compiler_aicpu_support_os=true | 12 | Compiler_aicpu_support_os=true |
| 13 | NpuArch=3510 | 13 | NpuArch=3510 |
| 14 | +Chip_type=15 | ||
| 14 | 15 | ||
| 15 | [SoCInfo] | 16 | [SoCInfo] |
| 16 | ai_core_cnt=28 | 17 | ai_core_cnt=28 |
| @@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube | |||
| 11 | CCEC_VECTOR_version=dav-c310-vec | 11 | CCEC_VECTOR_version=dav-c310-vec |
| 12 | Compiler_aicpu_support_os=true | 12 | Compiler_aicpu_support_os=true |
| 13 | NpuArch=3510 | 13 | NpuArch=3510 |
| 14 | +Chip_type=15 | ||
| 14 | 15 | ||
| 15 | [SoCInfo] | 16 | [SoCInfo] |
| 16 | ai_core_cnt=28 | 17 | ai_core_cnt=28 |
| @@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube | |||
| 11 | CCEC_VECTOR_version=dav-c310-vec | 11 | CCEC_VECTOR_version=dav-c310-vec |
| 12 | Compiler_aicpu_support_os=true | 12 | Compiler_aicpu_support_os=true |
| 13 | NpuArch=3510 | 13 | NpuArch=3510 |
| 14 | +Chip_type=15 | ||
| 14 | 15 | ||
| 15 | [SoCInfo] | 16 | [SoCInfo] |
| 16 | ai_core_cnt=28 | 17 | ai_core_cnt=28 |
| @@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube | |||
| 11 | CCEC_VECTOR_version=dav-c310-vec | 11 | CCEC_VECTOR_version=dav-c310-vec |
| 12 | Compiler_aicpu_support_os=true | 12 | Compiler_aicpu_support_os=true |
| 13 | NpuArch=3510 | 13 | NpuArch=3510 |
| 14 | +Chip_type=15 | ||
| 14 | 15 | ||
| 15 | [SoCInfo] | 16 | [SoCInfo] |
| 16 | ai_core_cnt=28 | 17 | ai_core_cnt=28 |
| @@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube | |||
| 11 | CCEC_VECTOR_version=dav-c310-vec | 11 | CCEC_VECTOR_version=dav-c310-vec |
| 12 | Compiler_aicpu_support_os=true | 12 | Compiler_aicpu_support_os=true |
| 13 | NpuArch=3510 | 13 | NpuArch=3510 |
| 14 | +Chip_type=15 | ||
| 14 | 15 | ||
| 15 | [SoCInfo] | 16 | [SoCInfo] |
| 16 | ai_core_cnt=28 | 17 | ai_core_cnt=28 |
| @@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube | |||
| 11 | CCEC_VECTOR_version=dav-c310-vec | 11 | CCEC_VECTOR_version=dav-c310-vec |
| 12 | Compiler_aicpu_support_os=true | 12 | Compiler_aicpu_support_os=true |
| 13 | NpuArch=3510 | 13 | NpuArch=3510 |
| 14 | +Chip_type=15 | ||
| 14 | 15 | ||
| 15 | [SoCInfo] | 16 | [SoCInfo] |
| 16 | ai_core_cnt=32 | 17 | ai_core_cnt=32 |
| @@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube | |||
| 11 | CCEC_VECTOR_version=dav-c310-vec | 11 | CCEC_VECTOR_version=dav-c310-vec |
| 12 | Compiler_aicpu_support_os=true | 12 | Compiler_aicpu_support_os=true |
| 13 | NpuArch=3510 | 13 | NpuArch=3510 |
| 14 | +Chip_type=15 | ||
| 14 | 15 | ||
| 15 | [SoCInfo] | 16 | [SoCInfo] |
| 16 | ai_core_cnt=32 | 17 | ai_core_cnt=32 |
| @@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube | |||
| 11 | CCEC_VECTOR_version=dav-c310-vec | 11 | CCEC_VECTOR_version=dav-c310-vec |
| 12 | Compiler_aicpu_support_os=true | 12 | Compiler_aicpu_support_os=true |
| 13 | NpuArch=3510 | 13 | NpuArch=3510 |
| 14 | +Chip_type=15 | ||
| 14 | 15 | ||
| 15 | [SoCInfo] | 16 | [SoCInfo] |
| 16 | ai_core_cnt=32 | 17 | ai_core_cnt=32 |
| @@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube | |||
| 11 | CCEC_VECTOR_version=dav-c310-vec | 11 | CCEC_VECTOR_version=dav-c310-vec |
| 12 | Compiler_aicpu_support_os=true | 12 | Compiler_aicpu_support_os=true |
| 13 | NpuArch=3510 | 13 | NpuArch=3510 |
| 14 | +Chip_type=15 | ||
| 14 | 15 | ||
| 15 | [SoCInfo] | 16 | [SoCInfo] |
| 16 | ai_core_cnt=32 | 17 | ai_core_cnt=32 |
| @@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube | |||
| 11 | CCEC_VECTOR_version=dav-c310-vec | 11 | CCEC_VECTOR_version=dav-c310-vec |
| 12 | Compiler_aicpu_support_os=true | 12 | Compiler_aicpu_support_os=true |
| 13 | NpuArch=3510 | 13 | NpuArch=3510 |
| 14 | +Chip_type=15 | ||
| 14 | 15 | ||
| 15 | [SoCInfo] | 16 | [SoCInfo] |
| 16 | ai_core_cnt=32 | 17 | ai_core_cnt=32 |
| @@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube | |||
| 11 | CCEC_VECTOR_version=dav-c310-vec | 11 | CCEC_VECTOR_version=dav-c310-vec |
| 12 | Compiler_aicpu_support_os=true | 12 | Compiler_aicpu_support_os=true |
| 13 | NpuArch=3510 | 13 | NpuArch=3510 |
| 14 | +Chip_type=15 | ||
| 14 | 15 | ||
| 15 | [SoCInfo] | 16 | [SoCInfo] |
| 16 | ai_core_cnt=32 | 17 | ai_core_cnt=32 |
| @@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube | |||
| 11 | CCEC_VECTOR_version=dav-c310-vec | 11 | CCEC_VECTOR_version=dav-c310-vec |
| 12 | Compiler_aicpu_support_os=true | 12 | Compiler_aicpu_support_os=true |
| 13 | NpuArch=3510 | 13 | NpuArch=3510 |
| 14 | +Chip_type=15 | ||
| 14 | 15 | ||
| 15 | [SoCInfo] | 16 | [SoCInfo] |
| 16 | ai_core_cnt=32 | 17 | ai_core_cnt=32 |
| @@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube | |||
| 11 | CCEC_VECTOR_version=dav-c310-vec | 11 | CCEC_VECTOR_version=dav-c310-vec |
| 12 | Compiler_aicpu_support_os=true | 12 | Compiler_aicpu_support_os=true |
| 13 | NpuArch=3510 | 13 | NpuArch=3510 |
| 14 | +Chip_type=15 | ||
| 14 | 15 | ||
| 15 | [SoCInfo] | 16 | [SoCInfo] |
| 16 | ai_core_cnt=32 | 17 | ai_core_cnt=32 |
| @@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube | |||
| 11 | CCEC_VECTOR_version=dav-c310-vec | 11 | CCEC_VECTOR_version=dav-c310-vec |
| 12 | Compiler_aicpu_support_os=true | 12 | Compiler_aicpu_support_os=true |
| 13 | NpuArch=3510 | 13 | NpuArch=3510 |
| 14 | +Chip_type=15 | ||
| 14 | 15 | ||
| 15 | [SoCInfo] | 16 | [SoCInfo] |
| 16 | ai_core_cnt=36 | 17 | ai_core_cnt=36 |
| @@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube | |||
| 11 | CCEC_VECTOR_version=dav-c310-vec | 11 | CCEC_VECTOR_version=dav-c310-vec |
| 12 | Compiler_aicpu_support_os=true | 12 | Compiler_aicpu_support_os=true |
| 13 | NpuArch=3510 | 13 | NpuArch=3510 |
| 14 | +Chip_type=15 | ||
| 14 | 15 | ||
| 15 | [SoCInfo] | 16 | [SoCInfo] |
| 16 | ai_core_cnt=36 | 17 | ai_core_cnt=36 |
| @@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube | |||
| 11 | CCEC_VECTOR_version=dav-c310-vec | 11 | CCEC_VECTOR_version=dav-c310-vec |
| 12 | Compiler_aicpu_support_os=true | 12 | Compiler_aicpu_support_os=true |
| 13 | NpuArch=3510 | 13 | NpuArch=3510 |
| 14 | +Chip_type=15 | ||
| 14 | 15 | ||
| 15 | [SoCInfo] | 16 | [SoCInfo] |
| 16 | ai_core_cnt=36 | 17 | ai_core_cnt=36 |
| @@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube | |||
| 11 | CCEC_VECTOR_version=dav-c310-vec | 11 | CCEC_VECTOR_version=dav-c310-vec |
| 12 | Compiler_aicpu_support_os=true | 12 | Compiler_aicpu_support_os=true |
| 13 | NpuArch=3510 | 13 | NpuArch=3510 |
| 14 | +Chip_type=15 | ||
| 14 | 15 | ||
| 15 | [SoCInfo] | 16 | [SoCInfo] |
| 16 | ai_core_cnt=36 | 17 | ai_core_cnt=36 |
| @@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube | |||
| 11 | CCEC_VECTOR_version=dav-c310-vec | 11 | CCEC_VECTOR_version=dav-c310-vec |
| 12 | Compiler_aicpu_support_os=true | 12 | Compiler_aicpu_support_os=true |
| 13 | NpuArch=3510 | 13 | NpuArch=3510 |
| 14 | +Chip_type=15 | ||
| 14 | 15 | ||
| 15 | [SoCInfo] | 16 | [SoCInfo] |
| 16 | ai_core_cnt=36 | 17 | ai_core_cnt=36 |
| @@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube | |||
| 11 | CCEC_VECTOR_version=dav-c310-vec | 11 | CCEC_VECTOR_version=dav-c310-vec |
| 12 | Compiler_aicpu_support_os=true | 12 | Compiler_aicpu_support_os=true |
| 13 | NpuArch=3510 | 13 | NpuArch=3510 |
| 14 | +Chip_type=15 | ||
| 14 | 15 | ||
| 15 | [SoCInfo] | 16 | [SoCInfo] |
| 16 | ai_core_cnt=36 | 17 | ai_core_cnt=36 |
| @@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube | |||
| 11 | CCEC_VECTOR_version=dav-c310-vec | 11 | CCEC_VECTOR_version=dav-c310-vec |
| 12 | Compiler_aicpu_support_os=true | 12 | Compiler_aicpu_support_os=true |
| 13 | NpuArch=3510 | 13 | NpuArch=3510 |
| 14 | +Chip_type=15 | ||
| 14 | 15 | ||
| 15 | [SoCInfo] | 16 | [SoCInfo] |
| 16 | ai_core_cnt=4 | 17 | ai_core_cnt=4 |
| @@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube | |||
| 11 | CCEC_VECTOR_version=dav-c310-vec | 11 | CCEC_VECTOR_version=dav-c310-vec |
| 12 | Compiler_aicpu_support_os=true | 12 | Compiler_aicpu_support_os=true |
| 13 | NpuArch=3510 | 13 | NpuArch=3510 |
| 14 | +Chip_type=15 | ||
| 14 | 15 | ||
| 15 | [SoCInfo] | 16 | [SoCInfo] |
| 16 | ai_core_cnt=28 | 17 | ai_core_cnt=28 |
| @@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube | |||
| 11 | CCEC_VECTOR_version=dav-c310-vec | 11 | CCEC_VECTOR_version=dav-c310-vec |
| 12 | Compiler_aicpu_support_os=true | 12 | Compiler_aicpu_support_os=true |
| 13 | NpuArch=3510 | 13 | NpuArch=3510 |
| 14 | +Chip_type=15 | ||
| 14 | 15 | ||
| 15 | [SoCInfo] | 16 | [SoCInfo] |
| 16 | ai_core_cnt=28 | 17 | ai_core_cnt=28 |
| @@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube | |||
| 11 | CCEC_VECTOR_version=dav-c310-vec | 11 | CCEC_VECTOR_version=dav-c310-vec |
| 12 | Compiler_aicpu_support_os=true | 12 | Compiler_aicpu_support_os=true |
| 13 | NpuArch=3510 | 13 | NpuArch=3510 |
| 14 | +Chip_type=15 | ||
| 14 | 15 | ||
| 15 | [SoCInfo] | 16 | [SoCInfo] |
| 16 | ai_core_cnt=28 | 17 | ai_core_cnt=28 |
| @@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube | |||
| 11 | CCEC_VECTOR_version=dav-c310-vec | 11 | CCEC_VECTOR_version=dav-c310-vec |
| 12 | Compiler_aicpu_support_os=true | 12 | Compiler_aicpu_support_os=true |
| 13 | NpuArch=3510 | 13 | NpuArch=3510 |
| 14 | +Chip_type=15 | ||
| 14 | 15 | ||
| 15 | [SoCInfo] | 16 | [SoCInfo] |
| 16 | ai_core_cnt=28 | 17 | ai_core_cnt=28 |
| @@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube | |||
| 11 | CCEC_VECTOR_version=dav-c310-vec | 11 | CCEC_VECTOR_version=dav-c310-vec |
| 12 | Compiler_aicpu_support_os=true | 12 | Compiler_aicpu_support_os=true |
| 13 | NpuArch=3510 | 13 | NpuArch=3510 |
| 14 | +Chip_type=15 | ||
| 14 | 15 | ||
| 15 | [SoCInfo] | 16 | [SoCInfo] |
| 16 | ai_core_cnt=32 | 17 | ai_core_cnt=32 |
| @@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube | |||
| 11 | CCEC_VECTOR_version=dav-c310-vec | 11 | CCEC_VECTOR_version=dav-c310-vec |
| 12 | Compiler_aicpu_support_os=true | 12 | Compiler_aicpu_support_os=true |
| 13 | NpuArch=3510 | 13 | NpuArch=3510 |
| 14 | +Chip_type=15 | ||
| 14 | 15 | ||
| 15 | [SoCInfo] | 16 | [SoCInfo] |
| 16 | ai_core_cnt=32 | 17 | ai_core_cnt=32 |
| @@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube | |||
| 11 | CCEC_VECTOR_version=dav-c310-vec | 11 | CCEC_VECTOR_version=dav-c310-vec |
| 12 | Compiler_aicpu_support_os=true | 12 | Compiler_aicpu_support_os=true |
| 13 | NpuArch=3510 | 13 | NpuArch=3510 |
| 14 | +Chip_type=15 | ||
| 14 | 15 | ||
| 15 | [SoCInfo] | 16 | [SoCInfo] |
| 16 | ai_core_cnt=36 | 17 | ai_core_cnt=36 |
| @@ -10,6 +10,7 @@ CCEC_AIV_version=dav-t300 | |||
| 10 | Compiler_aicpu_support_os=true | 10 | Compiler_aicpu_support_os=true |
| 11 | Arch_type=8 | 11 | Arch_type=8 |
| 12 | NpuArch=3004 | 12 | NpuArch=3004 |
| 13 | +Chip_type=8 | ||
| 13 | 14 | ||
| 14 | [SoCInfo] | 15 | [SoCInfo] |
| 15 | ai_core_cnt=1 | 16 | ai_core_cnt=1 |
| @@ -9,6 +9,7 @@ CCEC_AIC_version=dav-n350 | |||
| 9 | Compiler_aicpu_support_os=true | 9 | Compiler_aicpu_support_os=true |
| 10 | Arch_type=9 | 10 | Arch_type=9 |
| 11 | NpuArch=3505 | 11 | NpuArch=3505 |
| 12 | +Chip_type=9 | ||
| 12 | 13 | ||
| 13 | [SoCInfo] | 14 | [SoCInfo] |
| 14 | ai_core_cnt=1 | 15 | ai_core_cnt=1 |
| @@ -9,6 +9,7 @@ CCEC_AIC_version=dav-n350 | |||
| 9 | Compiler_aicpu_support_os=true | 9 | Compiler_aicpu_support_os=true |
| 10 | Arch_type=9 | 10 | Arch_type=9 |
| 11 | NpuArch=3505 | 11 | NpuArch=3505 |
| 12 | +Chip_type=9 | ||
| 12 | 13 | ||
| 13 | [SoCInfo] | 14 | [SoCInfo] |
| 14 | ai_core_cnt=1 | 15 | ai_core_cnt=1 |
| @@ -9,6 +9,7 @@ CCEC_AIC_version=dav-n350 | |||
| 9 | Compiler_aicpu_support_os=true | 9 | Compiler_aicpu_support_os=true |
| 10 | Arch_type=9 | 10 | Arch_type=9 |
| 11 | NpuArch=3505 | 11 | NpuArch=3505 |
| 12 | +Chip_type=9 | ||
| 12 | 13 | ||
| 13 | [SoCInfo] | 14 | [SoCInfo] |
| 14 | ai_core_cnt=1 | 15 | ai_core_cnt=1 |
| @@ -10,6 +10,7 @@ CCEC_AIV_version=dav-m300 | |||
| 10 | Compiler_aicpu_support_os=true | 10 | Compiler_aicpu_support_os=true |
| 11 | Arch_type=2 | 11 | Arch_type=2 |
| 12 | NpuArch=3002 | 12 | NpuArch=3002 |
| 13 | +Chip_type=7 | ||
| 13 | 14 | ||
| 14 | [SoCInfo] | 15 | [SoCInfo] |
| 15 | ai_core_cnt=1 | 16 | ai_core_cnt=1 |
| @@ -10,6 +10,7 @@ CCEC_AIV_version=dav-m300 | |||
| 10 | Compiler_aicpu_support_os=true | 10 | Compiler_aicpu_support_os=true |
| 11 | Arch_type=2 | 11 | Arch_type=2 |
| 12 | NpuArch=3002 | 12 | NpuArch=3002 |
| 13 | +Chip_type=7 | ||
| 13 | 14 | ||
| 14 | [SoCInfo] | 15 | [SoCInfo] |
| 15 | ai_core_cnt=1 | 16 | ai_core_cnt=1 |
| @@ -10,6 +10,7 @@ CCEC_AIV_version=dav-m300 | |||
| 10 | Compiler_aicpu_support_os=true | 10 | Compiler_aicpu_support_os=true |
| 11 | Arch_type=2 | 11 | Arch_type=2 |
| 12 | NpuArch=3002 | 12 | NpuArch=3002 |
| 13 | +Chip_type=7 | ||
| 13 | 14 | ||
| 14 | [SoCInfo] | 15 | [SoCInfo] |
| 15 | ai_core_cnt=1 | 16 | ai_core_cnt=1 |
| @@ -10,6 +10,7 @@ CCEC_AIV_version=dav-m300 | |||
| 10 | Compiler_aicpu_support_os=true | 10 | Compiler_aicpu_support_os=true |
| 11 | Arch_type=2 | 11 | Arch_type=2 |
| 12 | NpuArch=3002 | 12 | NpuArch=3002 |
| 13 | +Chip_type=7 | ||
| 13 | 14 | ||
| 14 | [SoCInfo] | 15 | [SoCInfo] |
| 15 | ai_core_cnt=1 | 16 | ai_core_cnt=1 |
| @@ -10,6 +10,7 @@ CCEC_AIV_version=dav-m200-vec | |||
| 10 | Compiler_aicpu_support_os=true | 10 | Compiler_aicpu_support_os=true |
| 11 | Arch_type=1 | 11 | Arch_type=1 |
| 12 | NpuArch=2002 | 12 | NpuArch=2002 |
| 13 | +Chip_type=4 | ||
| 13 | 14 | ||
| 14 | [SoCInfo] | 15 | [SoCInfo] |
| 15 | ai_core_cnt=10 | 16 | ai_core_cnt=10 |
| @@ -10,6 +10,7 @@ CCEC_AIV_version=dav-m200-vec | |||
| 10 | Compiler_aicpu_support_os=true | 10 | Compiler_aicpu_support_os=true |
| 11 | Arch_type=1 | 11 | Arch_type=1 |
| 12 | NpuArch=2002 | 12 | NpuArch=2002 |
| 13 | +Chip_type=4 | ||
| 13 | 14 | ||
| 14 | [SoCInfo] | 15 | [SoCInfo] |
| 15 | ai_core_cnt=8 | 16 | ai_core_cnt=8 |
| @@ -10,6 +10,7 @@ CCEC_AIV_version=dav-m200-vec | |||
| 10 | Compiler_aicpu_support_os=true | 10 | Compiler_aicpu_support_os=true |
| 11 | Arch_type=1 | 11 | Arch_type=1 |
| 12 | NpuArch=2002 | 12 | NpuArch=2002 |
| 13 | +Chip_type=4 | ||
| 13 | 14 | ||
| 14 | [SoCInfo] | 15 | [SoCInfo] |
| 15 | ai_core_cnt=8 | 16 | ai_core_cnt=8 |
| @@ -10,6 +10,7 @@ CCEC_AIV_version=dav-m200-vec | |||
| 10 | Compiler_aicpu_support_os=true | 10 | Compiler_aicpu_support_os=true |
| 11 | Arch_type=1 | 11 | Arch_type=1 |
| 12 | NpuArch=2002 | 12 | NpuArch=2002 |
| 13 | +Chip_type=4 | ||
| 13 | 14 | ||
| 14 | [SoCInfo] | 15 | [SoCInfo] |
| 15 | ai_core_cnt=8 | 16 | ai_core_cnt=8 |
| @@ -9,6 +9,7 @@ CCEC_AIC_version=dav-c100 | |||
| 9 | Compiler_aicpu_support_os=true | 9 | Compiler_aicpu_support_os=true |
| 10 | Arch_type=3 | 10 | Arch_type=3 |
| 11 | NpuArch=1001 | 11 | NpuArch=1001 |
| 12 | +Chip_type=1 | ||
| 12 | 13 | ||
| 13 | [SoCInfo] | 14 | [SoCInfo] |
| 14 | ai_core_cnt=32 | 15 | ai_core_cnt=32 |
| @@ -9,6 +9,7 @@ CCEC_AIC_version=dav-c100 | |||
| 9 | Compiler_aicpu_support_os=true | 9 | Compiler_aicpu_support_os=true |
| 10 | Arch_type=3 | 10 | Arch_type=3 |
| 11 | NpuArch=1001 | 11 | NpuArch=1001 |
| 12 | +Chip_type=1 | ||
| 12 | 13 | ||
| 13 | [SoCInfo] | 14 | [SoCInfo] |
| 14 | ai_core_cnt=30 | 15 | ai_core_cnt=30 |
| @@ -12,6 +12,7 @@ CCEC_VECTOR_version=dav-c220-vec | |||
| 12 | Compiler_aicpu_support_os=true | 12 | Compiler_aicpu_support_os=true |
| 13 | Arch_type=4 | 13 | Arch_type=4 |
| 14 | NpuArch=2201 | 14 | NpuArch=2201 |
| 15 | +Chip_type=5 | ||
| 15 | 16 | ||
| 16 | [SoCInfo] | 17 | [SoCInfo] |
| 17 | ai_core_cnt=24 | 18 | ai_core_cnt=24 |
| @@ -12,6 +12,7 @@ CCEC_VECTOR_version=dav-c220-vec | |||
| 12 | Compiler_aicpu_support_os=true | 12 | Compiler_aicpu_support_os=true |
| 13 | Arch_type=4 | 13 | Arch_type=4 |
| 14 | NpuArch=2201 | 14 | NpuArch=2201 |
| 15 | +Chip_type=5 | ||
| 15 | 16 | ||
| 16 | [SoCInfo] | 17 | [SoCInfo] |
| 17 | ai_core_cnt=24 | 18 | ai_core_cnt=24 |
| @@ -12,6 +12,7 @@ CCEC_VECTOR_version=dav-c220-vec | |||
| 12 | Compiler_aicpu_support_os=true | 12 | Compiler_aicpu_support_os=true |
| 13 | Arch_type=4 | 13 | Arch_type=4 |
| 14 | NpuArch=2201 | 14 | NpuArch=2201 |
| 15 | +Chip_type=5 | ||
| 15 | 16 | ||
| 16 | [SoCInfo] | 17 | [SoCInfo] |
| 17 | ai_core_cnt=24 | 18 | ai_core_cnt=24 |
| @@ -12,6 +12,7 @@ CCEC_VECTOR_version=dav-c220-vec | |||
| 12 | Compiler_aicpu_support_os=true | 12 | Compiler_aicpu_support_os=true |
| 13 | Arch_type=4 | 13 | Arch_type=4 |
| 14 | NpuArch=2201 | 14 | NpuArch=2201 |
| 15 | +Chip_type=5 | ||
| 15 | 16 | ||
| 16 | [SoCInfo] | 17 | [SoCInfo] |
| 17 | ai_core_cnt=20 | 18 | ai_core_cnt=20 |
| @@ -12,6 +12,7 @@ CCEC_VECTOR_version=dav-c220-vec | |||
| 12 | Compiler_aicpu_support_os=true | 12 | Compiler_aicpu_support_os=true |
| 13 | Arch_type=4 | 13 | Arch_type=4 |
| 14 | NpuArch=2201 | 14 | NpuArch=2201 |
| 15 | +Chip_type=5 | ||
| 15 | 16 | ||
| 16 | [SoCInfo] | 17 | [SoCInfo] |
| 17 | ai_core_cnt=20 | 18 | ai_core_cnt=20 |
| @@ -12,6 +12,7 @@ CCEC_VECTOR_version=dav-c220-vec | |||
| 12 | Compiler_aicpu_support_os=true | 12 | Compiler_aicpu_support_os=true |
| 13 | Arch_type=4 | 13 | Arch_type=4 |
| 14 | NpuArch=2201 | 14 | NpuArch=2201 |
| 15 | +Chip_type=5 | ||
| 15 | 16 | ||
| 16 | [SoCInfo] | 17 | [SoCInfo] |
| 17 | ai_core_cnt=20 | 18 | ai_core_cnt=20 |
| @@ -9,6 +9,7 @@ CCEC_AIC_version=dav-c100 | |||
| 9 | Compiler_aicpu_support_os=true | 9 | Compiler_aicpu_support_os=true |
| 10 | Arch_type=3 | 10 | Arch_type=3 |
| 11 | NpuArch=1001 | 11 | NpuArch=1001 |
| 12 | +Chip_type=1 | ||
| 12 | 13 | ||
| 13 | [SoCInfo] | 14 | [SoCInfo] |
| 14 | ai_core_cnt=32 | 15 | ai_core_cnt=32 |
| @@ -9,6 +9,7 @@ CCEC_AIC_version=dav-c100 | |||
| 9 | Compiler_aicpu_support_os=true | 9 | Compiler_aicpu_support_os=true |
| 10 | Arch_type=3 | 10 | Arch_type=3 |
| 11 | NpuArch=1001 | 11 | NpuArch=1001 |
| 12 | +Chip_type=1 | ||
| 12 | 13 | ||
| 13 | [SoCInfo] | 14 | [SoCInfo] |
| 14 | ai_core_cnt=32 | 15 | ai_core_cnt=32 |
| @@ -9,6 +9,7 @@ CCEC_AIC_version=dav-c100 | |||
| 9 | Compiler_aicpu_support_os=true | 9 | Compiler_aicpu_support_os=true |
| 10 | Arch_type=3 | 10 | Arch_type=3 |
| 11 | NpuArch=1001 | 11 | NpuArch=1001 |
| 12 | +Chip_type=1 | ||
| 12 | 13 | ||
| 13 | [SoCInfo] | 14 | [SoCInfo] |
| 14 | ai_core_cnt=30 | 15 | ai_core_cnt=30 |
| @@ -12,6 +12,7 @@ CCEC_VECTOR_version=dav-c220-vec | |||
| 12 | Compiler_aicpu_support_os=true | 12 | Compiler_aicpu_support_os=true |
| 13 | Arch_type=4 | 13 | Arch_type=4 |
| 14 | NpuArch=2201 | 14 | NpuArch=2201 |
| 15 | +Chip_type=5 | ||
| 15 | 16 | ||
| 16 | [SoCInfo] | 17 | [SoCInfo] |
| 17 | ai_core_cnt=20 | 18 | ai_core_cnt=20 |
| @@ -12,6 +12,7 @@ CCEC_VECTOR_version=dav-c220-vec | |||
| 12 | Compiler_aicpu_support_os=true | 12 | Compiler_aicpu_support_os=true |
| 13 | Arch_type=4 | 13 | Arch_type=4 |
| 14 | NpuArch=2201 | 14 | NpuArch=2201 |
| 15 | +Chip_type=5 | ||
| 15 | 16 | ||
| 16 | [SoCInfo] | 17 | [SoCInfo] |
| 17 | ai_core_cnt=20 | 18 | ai_core_cnt=20 |
| @@ -12,6 +12,7 @@ CCEC_VECTOR_version=dav-c220-vec | |||
| 12 | Compiler_aicpu_support_os=true | 12 | Compiler_aicpu_support_os=true |
| 13 | Arch_type=4 | 13 | Arch_type=4 |
| 14 | NpuArch=2201 | 14 | NpuArch=2201 |
| 15 | +Chip_type=5 | ||
| 15 | 16 | ||
| 16 | [SoCInfo] | 17 | [SoCInfo] |
| 17 | ai_core_cnt=24 | 18 | ai_core_cnt=24 |
| @@ -12,6 +12,7 @@ CCEC_VECTOR_version=dav-c220-vec | |||
| 12 | Compiler_aicpu_support_os=true | 12 | Compiler_aicpu_support_os=true |
| 13 | Arch_type=4 | 13 | Arch_type=4 |
| 14 | NpuArch=2201 | 14 | NpuArch=2201 |
| 15 | +Chip_type=5 | ||
| 15 | 16 | ||
| 16 | [SoCInfo] | 17 | [SoCInfo] |
| 17 | ai_core_cnt=24 | 18 | ai_core_cnt=24 |
| @@ -12,6 +12,7 @@ CCEC_VECTOR_version=dav-c220-vec | |||
| 12 | Compiler_aicpu_support_os=true | 12 | Compiler_aicpu_support_os=true |
| 13 | Arch_type=4 | 13 | Arch_type=4 |
| 14 | NpuArch=2201 | 14 | NpuArch=2201 |
| 15 | +Chip_type=5 | ||
| 15 | 16 | ||
| 16 | [SoCInfo] | 17 | [SoCInfo] |
| 17 | ai_core_cnt=24 | 18 | ai_core_cnt=24 |
| @@ -12,6 +12,7 @@ CCEC_VECTOR_version=dav-c220-vec | |||
| 12 | Compiler_aicpu_support_os=true | 12 | Compiler_aicpu_support_os=true |
| 13 | Arch_type=4 | 13 | Arch_type=4 |
| 14 | NpuArch=2201 | 14 | NpuArch=2201 |
| 15 | +Chip_type=5 | ||
| 15 | 16 | ||
| 16 | [SoCInfo] | 17 | [SoCInfo] |
| 17 | ai_core_cnt=24 | 18 | ai_core_cnt=24 |
| @@ -8,6 +8,7 @@ AIC_version=AIC-L-311 | |||
| 8 | CCEC_AIC_version=dav-l311 | 8 | CCEC_AIC_version=dav-l311 |
| 9 | Compiler_aicpu_support_os=false | 9 | Compiler_aicpu_support_os=false |
| 10 | NpuArch=3113 | 10 | NpuArch=3113 |
| 11 | +Chip_type=201 | ||
| 11 | 12 | ||
| 12 | [SoCInfo] | 13 | [SoCInfo] |
| 13 | ai_core_cnt=1 | 14 | ai_core_cnt=1 |
| @@ -8,6 +8,7 @@ AIC_version=AIC-L-300 | |||
| 8 | CCEC_AIC_version=dav-l300 | 8 | CCEC_AIC_version=dav-l300 |
| 9 | Compiler_aicpu_support_os=false | 9 | Compiler_aicpu_support_os=false |
| 10 | NpuArch=3003 | 10 | NpuArch=3003 |
| 11 | +Chip_type=200 | ||
| 11 | 12 | ||
| 12 | [SoCInfo] | 13 | [SoCInfo] |
| 13 | ai_core_cnt=1 | 14 | ai_core_cnt=1 |
| @@ -3637,7 +3637,10 @@ RTS_API rtError_t rtModelCheckCompatibility(const char_t *omSocVersion, const ch | |||
| 3637 | NULL_RETURN_ERROR_WITH_EXT_ERRCODE(rtInstance); | 3637 | NULL_RETURN_ERROR_WITH_EXT_ERRCODE(rtInstance); |
| 3638 | Api * const apiInstance = Api::Instance(); | 3638 | Api * const apiInstance = Api::Instance(); |
| 3639 | NULL_RETURN_ERROR_WITH_EXT_ERRCODE(apiInstance); | 3639 | NULL_RETURN_ERROR_WITH_EXT_ERRCODE(apiInstance); |
| 3640 | - PARAM_NULL_RETURN_ERROR_WITH_EXT_ERRCODE(omSocVersion, RT_ERROR_INVALID_VALUE); | 3640 | + if ((omSocVersion == nullptr) || (omSocVersion[0] == '\0')) { |
| 3641 | + RT_LOG_OUTER_MSG_INVALID_PARAM(omSocVersion); | ||
| 3642 | + return GetRtExtErrCodeAndSetGlobalErr(RT_ERROR_INVALID_VALUE); | ||
| 3643 | + } | ||
| 3641 | 3644 | ||
| 3642 | const rtError_t error = apiInstance->ModelCheckArchVersion(omSocVersion); | 3645 | const rtError_t error = apiInstance->ModelCheckArchVersion(omSocVersion); |
| 3643 | if (error != RT_ERROR_NONE) { | 3646 | if (error != RT_ERROR_NONE) { |
| @@ -17,7 +17,6 @@ | |||
| 17 | 17 | ||
| 18 | 18 | ||
| 19 | 19 | ||
| 20 | - | ||
| 21 | 20 | ||
| 22 | using namespace cce::runtime; | 21 | using namespace cce::runtime; |
| 23 | 22 | ||
| @@ -83,29 +82,31 @@ VISIBILITY_DEFAULT | |||
| 83 | rtError_t rtSetSocVersion(const char_t *ver) | 82 | rtError_t rtSetSocVersion(const char_t *ver) |
| 84 | { | 83 | { |
| 85 | PARAM_NULL_RETURN_ERROR_WITH_EXT_ERRCODE(ver, RT_ERROR_INVALID_VALUE); | 84 | PARAM_NULL_RETURN_ERROR_WITH_EXT_ERRCODE(ver, RT_ERROR_INVALID_VALUE); |
| 86 | - rtSocInfo_t socInfo = {CHIP_END, nullptr}; | 85 | + rtChipType_t chipType = CHIP_END; |
| 87 | - const rtError_t ret = GetSocInfoFromRuntimeByName(ver, socInfo); | 86 | + const rtError_t ret = GetChipTypeFromPlatform(ver, chipType); |
| 88 | if (ret != RT_ERROR_NONE) { | 87 | if (ret != RT_ERROR_NONE) { |
| 89 | RT_LOG_OUTER_MSG(RT_INVALID_ARGUMENT_ERROR, "SoC version [%s] is invalid.", ver); | 88 | RT_LOG_OUTER_MSG(RT_INVALID_ARGUMENT_ERROR, "SoC version [%s] is invalid.", ver); |
| 90 | return GetRtExtErrCodeAndSetGlobalErr(RT_ERROR_INVALID_VALUE); | 89 | return GetRtExtErrCodeAndSetGlobalErr(RT_ERROR_INVALID_VALUE); |
| 91 | } | 90 | } |
| 92 | if (!GlobalContainer::GetHardwareSocVersion().empty() && | 91 | if (!GlobalContainer::GetHardwareSocVersion().empty() && |
| 93 | - (strcmp(GlobalContainer::GetHardwareSocVersion().c_str(), socInfo.socName)) != 0) { | 92 | + (strcmp(GlobalContainer::GetHardwareSocVersion().c_str(), ver) != 0)) { |
| 94 | - RT_LOG_OUTER_MSG(RT_INVALID_ARGUMENT_ERROR, "The device has been set to real soc version %s, " | 93 | + RT_LOG_OUTER_MSG( |
| 94 | + RT_INVALID_ARGUMENT_ERROR, | ||
| 95 | + "The device has been set to real soc version %s, " | ||
| 95 | "and a different soc version %s cannot be set." | 96 | "and a different soc version %s cannot be set." |
| 96 | "The currently input SoC version (%s) does not match the NPU type.", | 97 | "The currently input SoC version (%s) does not match the NPU type.", |
| 97 | - GlobalContainer::GetHardwareSocVersion().c_str(), socInfo.socName, ver); | 98 | + GlobalContainer::GetHardwareSocVersion().c_str(), ver, ver); |
| 98 | return GetRtExtErrCodeAndSetGlobalErr(RT_ERROR_INVALID_VALUE); | 99 | return GetRtExtErrCodeAndSetGlobalErr(RT_ERROR_INVALID_VALUE); |
| 99 | } | 100 | } |
| 100 | - GlobalContainer::SetRtChipType(socInfo.chipType); | 101 | + GlobalContainer::SetRtChipType(chipType); |
| 101 | const std::string inputSocVersion = std::string(ver); | 102 | const std::string inputSocVersion = std::string(ver); |
| 102 | GlobalContainer::SetUserSocVersion(inputSocVersion); | 103 | GlobalContainer::SetUserSocVersion(inputSocVersion); |
| 103 | GlobalContainer::SetSocVersion(inputSocVersion); | 104 | GlobalContainer::SetSocVersion(inputSocVersion); |
| 104 | const auto rtInstance = Runtime::Instance(); | 105 | const auto rtInstance = Runtime::Instance(); |
| 105 | NULL_RETURN_ERROR_WITH_EXT_ERRCODE(rtInstance); | 106 | NULL_RETURN_ERROR_WITH_EXT_ERRCODE(rtInstance); |
| 106 | rtInstance->SetIsUserSetSocVersion(true); | 107 | rtInstance->SetIsUserSetSocVersion(true); |
| 107 | - rtInstance->UpdateDevProperties(socInfo.chipType, inputSocVersion); | 108 | + rtInstance->UpdateDevProperties(chipType, inputSocVersion); |
| 108 | - RT_LOG(RT_LOG_INFO, "soc version is %s, type=%d", ver, socInfo.chipType); | 109 | + RT_LOG(RT_LOG_INFO, "soc version is %s, type=%d", ver, chipType); |
| 109 | return ACL_RT_SUCCESS; | 110 | return ACL_RT_SUCCESS; |
| 110 | } | 111 | } |
| 111 | 112 | ||
| @@ -694,11 +694,12 @@ target_compile_definitions(runtime_model PRIVATE | |||
| 694 | ) | 694 | ) |
| 695 | 695 | ||
| 696 | target_compile_options(runtime_model PRIVATE | 696 | target_compile_options(runtime_model PRIVATE |
| 697 | - -fno-common | 697 | + -fno-common |
| 698 | - -fno-strict-aliasing | 698 | + -fno-strict-aliasing |
| 699 | - -Wextra | 699 | + -Werror=missing-field-initializers |
| 700 | - -Wfloat-equal | 700 | + -Wextra |
| 701 | -) | 701 | + -Wfloat-equal |
| 702 | + ) | ||
| 702 | 703 | ||
| 703 | target_link_libraries(runtime_model PRIVATE | 704 | target_link_libraries(runtime_model PRIVATE |
| 704 | $<BUILD_INTERFACE:intf_pub> | 705 | $<BUILD_INTERFACE:intf_pub> |
| @@ -744,11 +745,12 @@ target_compile_definitions(runtime_model_v200 PRIVATE | |||
| 744 | ) | 745 | ) |
| 745 | 746 | ||
| 746 | target_compile_options(runtime_model_v200 PRIVATE | 747 | target_compile_options(runtime_model_v200 PRIVATE |
| 747 | - -fno-common | 748 | + -fno-common |
| 748 | - -fno-strict-aliasing | 749 | + -fno-strict-aliasing |
| 749 | - -Wextra | 750 | + -Werror=missing-field-initializers |
| 750 | - -Wfloat-equal | 751 | + -Wextra |
| 751 | -) | 752 | + -Wfloat-equal |
| 753 | + ) | ||
| 752 | 754 | ||
| 753 | target_link_libraries(runtime_model_v200 PRIVATE | 755 | target_link_libraries(runtime_model_v200 PRIVATE |
| 754 | $<BUILD_INTERFACE:intf_pub> | 756 | $<BUILD_INTERFACE:intf_pub> |
| @@ -785,6 +787,7 @@ foreach(product_type ${PRODUCT_TYPE_LIST}) | |||
| 785 | target_compile_options(runtime_cmodel_${product_type} PRIVATE | 787 | target_compile_options(runtime_cmodel_${product_type} PRIVATE |
| 786 | -fno-common | 788 | -fno-common |
| 787 | -fno-strict-aliasing | 789 | -fno-strict-aliasing |
| 790 | + -Werror=missing-field-initializers | ||
| 788 | -Wextra | 791 | -Wextra |
| 789 | -Wfloat-equal | 792 | -Wfloat-equal |
| 790 | ) | 793 | ) |
| @@ -832,6 +835,7 @@ foreach(product_type ${PRODUCT_TYPE_LIST}) | |||
| 832 | target_compile_options(runtime_camodel_${product_type} PRIVATE | 835 | target_compile_options(runtime_camodel_${product_type} PRIVATE |
| 833 | -fno-common | 836 | -fno-common |
| 834 | -fno-strict-aliasing | 837 | -fno-strict-aliasing |
| 838 | + -Werror=missing-field-initializers | ||
| 835 | -Wextra | 839 | -Wextra |
| 836 | -Wfloat-equal | 840 | -Wfloat-equal |
| 837 | ) | 841 | ) |
| @@ -103,6 +103,7 @@ macro(runtime_platform_910B_obj target_name) | |||
| 103 | -fno-common | 103 | -fno-common |
| 104 | -fno-strict-aliasing | 104 | -fno-strict-aliasing |
| 105 | -Werror | 105 | -Werror |
| 106 | + -Werror=missing-field-initializers | ||
| 106 | -Wextra | 107 | -Wextra |
| 107 | $<$<NOT:$<STREQUAL:${TARGET_SYSTEM_NAME},Windows>>:-Wfloat-equal> | 108 | $<$<NOT:$<STREQUAL:${TARGET_SYSTEM_NAME},Windows>>:-Wfloat-equal> |
| 108 | ) | 109 | ) |
| @@ -135,6 +136,7 @@ macro(runtime_platform_kirin_obj target_name) | |||
| 135 | -fno-common | 136 | -fno-common |
| 136 | -fno-strict-aliasing | 137 | -fno-strict-aliasing |
| 137 | -Werror | 138 | -Werror |
| 139 | + -Werror=missing-field-initializers | ||
| 138 | -Wextra | 140 | -Wextra |
| 139 | $<$<NOT:$<STREQUAL:${TARGET_SYSTEM_NAME},Windows>>:-Wfloat-equal> | 141 | $<$<NOT:$<STREQUAL:${TARGET_SYSTEM_NAME},Windows>>:-Wfloat-equal> |
| 140 | ) | 142 | ) |
| @@ -180,6 +182,7 @@ macro(runtime_platform_others_obj target_name) | |||
| 180 | -fno-common | 182 | -fno-common |
| 181 | -fno-strict-aliasing | 183 | -fno-strict-aliasing |
| 182 | -Werror | 184 | -Werror |
| 185 | + -Werror=missing-field-initializers | ||
| 183 | -Wextra | 186 | -Wextra |
| 184 | $<$<NOT:$<STREQUAL:${TARGET_SYSTEM_NAME},Windows>>:-Wfloat-equal> | 187 | $<$<NOT:$<STREQUAL:${TARGET_SYSTEM_NAME},Windows>>:-Wfloat-equal> |
| 185 | ) | 188 | ) |
| @@ -211,6 +214,7 @@ target_compile_options(runtime_platform_tiny PRIVATE | |||
| 211 | -fno-common | 214 | -fno-common |
| 212 | -fno-strict-aliasing | 215 | -fno-strict-aliasing |
| 213 | -Werror | 216 | -Werror |
| 217 | + -Werror=missing-field-initializers | ||
| 214 | -Wextra | 218 | -Wextra |
| 215 | $<$<NOT:$<STREQUAL:${TARGET_SYSTEM_NAME},Windows>>:-Wfloat-equal> | 219 | $<$<NOT:$<STREQUAL:${TARGET_SYSTEM_NAME},Windows>>:-Wfloat-equal> |
| 216 | ) | 220 | ) |
| @@ -445,6 +445,7 @@ macro(add_runtime_common_library target_name) | |||
| 445 | -fno-common | 445 | -fno-common |
| 446 | -fno-strict-aliasing | 446 | -fno-strict-aliasing |
| 447 | -Werror | 447 | -Werror |
| 448 | + -Werror=missing-field-initializers | ||
| 448 | -Wextra | 449 | -Wextra |
| 449 | $<$<NOT:$<STREQUAL:${TARGET_SYSTEM_NAME},Windows>>:-Wfloat-equal> | 450 | $<$<NOT:$<STREQUAL:${TARGET_SYSTEM_NAME},Windows>>:-Wfloat-equal> |
| 450 | ) | 451 | ) |
| @@ -535,6 +536,7 @@ macro(add_runtime_api_library target_name) | |||
| 535 | -fno-common | 536 | -fno-common |
| 536 | -fno-strict-aliasing | 537 | -fno-strict-aliasing |
| 537 | -Werror | 538 | -Werror |
| 539 | + -Werror=missing-field-initializers | ||
| 538 | -Wextra | 540 | -Wextra |
| 539 | $<$<NOT:$<STREQUAL:${TARGET_SYSTEM_NAME},Windows>>:-Wfloat-equal> | 541 | $<$<NOT:$<STREQUAL:${TARGET_SYSTEM_NAME},Windows>>:-Wfloat-equal> |
| 540 | ) | 542 | ) |
| @@ -628,6 +630,7 @@ macro(add_runtime_v100_library target_name) | |||
| 628 | -fno-common | 630 | -fno-common |
| 629 | -fno-strict-aliasing | 631 | -fno-strict-aliasing |
| 630 | $<$<STREQUAL:${CMAKE_CXX_COMPILER_VERSION},7.3.0>:-Werror> | 632 | $<$<STREQUAL:${CMAKE_CXX_COMPILER_VERSION},7.3.0>:-Werror> |
| 633 | + -Werror=missing-field-initializers | ||
| 631 | $<$<NOT:$<STREQUAL:${TARGET_SYSTEM_NAME},Windows>>:-Wextra> | 634 | $<$<NOT:$<STREQUAL:${TARGET_SYSTEM_NAME},Windows>>:-Wextra> |
| 632 | $<$<NOT:$<STREQUAL:${TARGET_SYSTEM_NAME},Windows>>:-Wfloat-equal> | 635 | $<$<NOT:$<STREQUAL:${TARGET_SYSTEM_NAME},Windows>>:-Wfloat-equal> |
| 633 | ) | 636 | ) |
| @@ -516,6 +516,7 @@ macro(add_runtime_common_library target_name) | |||
| 516 | -fno-common | 516 | -fno-common |
| 517 | -fno-strict-aliasing | 517 | -fno-strict-aliasing |
| 518 | -Werror | 518 | -Werror |
| 519 | + -Werror=missing-field-initializers | ||
| 519 | -Wextra | 520 | -Wextra |
| 520 | $<$<NOT:$<STREQUAL:${TARGET_SYSTEM_NAME},Windows>>:-Wfloat-equal> | 521 | $<$<NOT:$<STREQUAL:${TARGET_SYSTEM_NAME},Windows>>:-Wfloat-equal> |
| 521 | ) | 522 | ) |
| @@ -617,6 +618,7 @@ macro(add_runtime_api_library target_name) | |||
| 617 | -fno-common | 618 | -fno-common |
| 618 | -fno-strict-aliasing | 619 | -fno-strict-aliasing |
| 619 | -Werror | 620 | -Werror |
| 621 | + -Werror=missing-field-initializers | ||
| 620 | -Wextra | 622 | -Wextra |
| 621 | $<$<NOT:$<STREQUAL:${TARGET_SYSTEM_NAME},Windows>>:-Wfloat-equal> | 623 | $<$<NOT:$<STREQUAL:${TARGET_SYSTEM_NAME},Windows>>:-Wfloat-equal> |
| 622 | ) | 624 | ) |
| @@ -706,6 +708,7 @@ macro(add_runtime_v100_library target_name) | |||
| 706 | -fno-common | 708 | -fno-common |
| 707 | -fno-strict-aliasing | 709 | -fno-strict-aliasing |
| 708 | $<$<STREQUAL:${CMAKE_CXX_COMPILER_VERSION},7.3.0>:-Werror> | 710 | $<$<STREQUAL:${CMAKE_CXX_COMPILER_VERSION},7.3.0>:-Werror> |
| 711 | + -Werror=missing-field-initializers | ||
| 709 | $<$<NOT:$<STREQUAL:${TARGET_SYSTEM_NAME},Windows>>:-Wextra> | 712 | $<$<NOT:$<STREQUAL:${TARGET_SYSTEM_NAME},Windows>>:-Wextra> |
| 710 | $<$<NOT:$<STREQUAL:${TARGET_SYSTEM_NAME},Windows>>:-Wfloat-equal> | 713 | $<$<NOT:$<STREQUAL:${TARGET_SYSTEM_NAME},Windows>>:-Wfloat-equal> |
| 711 | ) | 714 | ) |
| @@ -809,15 +812,16 @@ set_target_properties(static_runtime | |||
| 809 | ) | 812 | ) |
| 810 | 813 | ||
| 811 | target_compile_options(static_runtime PRIVATE | 814 | target_compile_options(static_runtime PRIVATE |
| 812 | - -O3 | 815 | + -O3 |
| 813 | - -fvisibility=hidden | 816 | + -fvisibility=hidden |
| 814 | - -fno-common | 817 | + -fno-common |
| 815 | - -fno-strict-aliasing | 818 | + -fno-strict-aliasing |
| 816 | - -ffunction-sections | 819 | + -ffunction-sections |
| 817 | - -fdata-sections | 820 | + -fdata-sections |
| 818 | - $<$<STREQUAL:${CMAKE_CXX_COMPILER_VERSION},7.3.0>:-Werror> | 821 | + $<$<STREQUAL:${CMAKE_CXX_COMPILER_VERSION},7.3.0>:-Werror> |
| 819 | - $<$<NOT:$<STREQUAL:${TARGET_SYSTEM_NAME},Windows>>:-Wextra> | 822 | + -Werror=missing-field-initializers |
| 820 | -) | 823 | + $<$<NOT:$<STREQUAL:${TARGET_SYSTEM_NAME},Windows>>:-Wextra> |
| 824 | + ) | ||
| 821 | 825 | ||
| 822 | target_include_directories(static_runtime PRIVATE | 826 | target_include_directories(static_runtime PRIVATE |
| 823 | ${RUNTIME_INC_DIR_TINY} | 827 | ${RUNTIME_INC_DIR_TINY} |
| @@ -578,6 +578,7 @@ macro(add_runtime_v200_library target_name) | |||
| 578 | -fno-common | 578 | -fno-common |
| 579 | -fno-strict-aliasing | 579 | -fno-strict-aliasing |
| 580 | $<$<STREQUAL:${CMAKE_CXX_COMPILER_VERSION},7.3.0>:-Werror> | 580 | $<$<STREQUAL:${CMAKE_CXX_COMPILER_VERSION},7.3.0>:-Werror> |
| 581 | + -Werror=missing-field-initializers | ||
| 581 | $<$<NOT:$<STREQUAL:${TARGET_SYSTEM_NAME},Windows>>:-Wextra> | 582 | $<$<NOT:$<STREQUAL:${TARGET_SYSTEM_NAME},Windows>>:-Wextra> |
| 582 | $<$<NOT:$<STREQUAL:${TARGET_SYSTEM_NAME},Windows>>:-Wfloat-equal> | 583 | $<$<NOT:$<STREQUAL:${TARGET_SYSTEM_NAME},Windows>>:-Wfloat-equal> |
| 583 | ) | 584 | ) |
| @@ -15,10 +15,6 @@ | |||
| 15 | 15 | ||
| 16 | namespace cce { | 16 | namespace cce { |
| 17 | namespace runtime { | 17 | namespace runtime { |
| 18 | -static constexpr rtSocInfo_t CHIP_610LITE_SOC_INFO[] = {{CHIP_610LITE, "Ascend610Lite"}}; | ||
| 19 | - | ||
| 20 | -BATCH_REGISTER_SOC_INFO(CHIP_610LITE_SOC_INFO, sizeof(CHIP_610LITE_SOC_INFO) / sizeof(rtSocInfo_t)); | ||
| 21 | - | ||
| 22 | REGISTER_PLATFORM_LIB_INFO(CHIP_610LITE, "libruntime_v100.so"); | 18 | REGISTER_PLATFORM_LIB_INFO(CHIP_610LITE, "libruntime_v100.so"); |
| 23 | 19 | ||
| 24 | const std::unordered_set<RtOptionalFeatureType> CHIP_610LITE_FEATURE{ | 20 | const std::unordered_set<RtOptionalFeatureType> CHIP_610LITE_FEATURE{ |
| @@ -17,12 +17,6 @@ | |||
| 17 | namespace cce { | 17 | namespace cce { |
| 18 | namespace runtime { | 18 | namespace runtime { |
| 19 | 19 | ||
| 20 | -static constexpr rtSocInfo_t SOC_INFO_910_96[] = { | ||
| 21 | - {CHIP_CLOUD_V5, "Ascend910_5591"}, | ||
| 22 | -}; | ||
| 23 | - | ||
| 24 | -BATCH_REGISTER_SOC_INFO(SOC_INFO_910_96, sizeof(SOC_INFO_910_96) / sizeof(rtSocInfo_t)); | ||
| 25 | - | ||
| 26 | REGISTER_PLATFORM_LIB_INFO(CHIP_CLOUD_V5, "libruntime_v200.so"); | 20 | REGISTER_PLATFORM_LIB_INFO(CHIP_CLOUD_V5, "libruntime_v200.so"); |
| 27 | 21 | ||
| 28 | const std::unordered_set<RtOptionalFeatureType> CHIP_CLOUD_V5_FEATURE{ | 22 | const std::unordered_set<RtOptionalFeatureType> CHIP_CLOUD_V5_FEATURE{ |
| @@ -15,34 +15,6 @@ | |||
| 15 | 15 | ||
| 16 | namespace cce { | 16 | namespace cce { |
| 17 | namespace runtime { | 17 | namespace runtime { |
| 18 | -static constexpr rtSocInfo_t SOC_910B_INFO[] = { | ||
| 19 | - {CHIP_910_B_93, "Ascend910B1"}, | ||
| 20 | - {CHIP_910_B_93, "Ascend910B2"}, | ||
| 21 | - {CHIP_910_B_93, "Ascend910B3"}, | ||
| 22 | - {CHIP_910_B_93, "Ascend910B4"}, // hardversion 910_93 same as 910B4 | ||
| 23 | - {CHIP_910_B_93, "Ascend910B2C"}, | ||
| 24 | - {CHIP_910_B_93, "Ascend910B4-1"}, | ||
| 25 | - {CHIP_910_B_93, "Ascend910_9362"}, | ||
| 26 | - {CHIP_910_B_93, "Ascend910_9372"}, | ||
| 27 | - {CHIP_910_B_93, "Ascend910_9381"}, | ||
| 28 | - {CHIP_910_B_93, "Ascend910_9382"}, | ||
| 29 | - {CHIP_910_B_93, "Ascend910_9391"}, | ||
| 30 | - {CHIP_910_B_93, "Ascend910_9392"}, | ||
| 31 | -}; | ||
| 32 | - | ||
| 33 | -BATCH_REGISTER_SOC_INFO(SOC_910B_INFO, (sizeof(SOC_910B_INFO) / sizeof(rtSocInfo_t))); | ||
| 34 | - | ||
| 35 | -constexpr rtSocInfo_t DEV_INFO_910_93[] = { | ||
| 36 | - {CHIP_910_B_93, "Ascend910_9362"}, | ||
| 37 | - {CHIP_910_B_93, "Ascend910_9372"}, | ||
| 38 | - {CHIP_910_B_93, "Ascend910_9381"}, | ||
| 39 | - {CHIP_910_B_93, "Ascend910_9382"}, | ||
| 40 | - {CHIP_910_B_93, "Ascend910_9391"}, | ||
| 41 | - {CHIP_910_B_93, "Ascend910_9392"}, | ||
| 42 | -}; | ||
| 43 | - | ||
| 44 | -BATCH_REGISTER_DEV_INFO(DEV_INFO_910_93, sizeof(DEV_INFO_910_93) / sizeof(rtSocInfo_t)); | ||
| 45 | - | ||
| 46 | REGISTER_PLATFORM_LIB_INFO(CHIP_910_B_93, "libruntime_v100.so"); | 18 | REGISTER_PLATFORM_LIB_INFO(CHIP_910_B_93, "libruntime_v100.so"); |
| 47 | 19 | ||
| 48 | static const std::unordered_set<RtOptionalFeatureType> CHIP_CLOUD_V2_FEATURE{ | 20 | static const std::unordered_set<RtOptionalFeatureType> CHIP_CLOUD_V2_FEATURE{ |
| @@ -17,81 +17,6 @@ | |||
| 17 | namespace cce { | 17 | namespace cce { |
| 18 | namespace runtime { | 18 | namespace runtime { |
| 19 | 19 | ||
| 20 | -static constexpr rtSocInfo_t SOC_INFO_950[] = { | ||
| 21 | - {CHIP_DAVID, "Ascend950PR_9599"}, | ||
| 22 | - {CHIP_DAVID, "Ascend950PR_9589"}, | ||
| 23 | - {CHIP_DAVID, "Ascend950PR_958a"}, | ||
| 24 | - {CHIP_DAVID, "Ascend950PR_958b"}, | ||
| 25 | - {CHIP_DAVID, "Ascend950PR_957b"}, | ||
| 26 | - {CHIP_DAVID, "Ascend950PR_957d"}, | ||
| 27 | - {CHIP_DAVID, "Ascend950PR_950z"}, | ||
| 28 | - {CHIP_DAVID, "Ascend950PR_9579"}, | ||
| 29 | - {CHIP_DAVID, "Ascend950DT_9591"}, | ||
| 30 | - {CHIP_DAVID, "Ascend950DT_9592"}, | ||
| 31 | - {CHIP_DAVID, "Ascend950DT_9581"}, | ||
| 32 | - {CHIP_DAVID, "Ascend950DT_9582"}, | ||
| 33 | - {CHIP_DAVID, "Ascend950DT_9584"}, | ||
| 34 | - {CHIP_DAVID, "Ascend950DT_9587"}, | ||
| 35 | - {CHIP_DAVID, "Ascend950DT_9588"}, | ||
| 36 | - {CHIP_DAVID, "Ascend950DT_9572"}, | ||
| 37 | - {CHIP_DAVID, "Ascend950DT_9575"}, | ||
| 38 | - {CHIP_DAVID, "Ascend950DT_9576"}, | ||
| 39 | - {CHIP_DAVID, "Ascend950DT_9574"}, | ||
| 40 | - {CHIP_DAVID, "Ascend950DT_9577"}, | ||
| 41 | - {CHIP_DAVID, "Ascend950DT_9578"}, | ||
| 42 | - {CHIP_DAVID, "Ascend950PR_957c"}, | ||
| 43 | - {CHIP_DAVID, "Ascend950DT_95A1"}, | ||
| 44 | - {CHIP_DAVID, "Ascend950DT_95A2"}, | ||
| 45 | - {CHIP_DAVID, "Ascend950DT_9595"}, | ||
| 46 | - {CHIP_DAVID, "Ascend950DT_9596"}, | ||
| 47 | - {CHIP_DAVID, "Ascend950DT_9585"}, | ||
| 48 | - {CHIP_DAVID, "Ascend950DT_9586"}, | ||
| 49 | - {CHIP_DAVID, "Ascend950DT_9583"}, | ||
| 50 | - {CHIP_DAVID, "Ascend950DT_9571"}, | ||
| 51 | - {CHIP_DAVID, "Ascend950DT_9573"}, | ||
| 52 | - {CHIP_DAVID, "Ascend950DT_950x"}, | ||
| 53 | - {CHIP_DAVID, "Ascend950DT_950y"} | ||
| 54 | -}; | ||
| 55 | - | ||
| 56 | -BATCH_REGISTER_SOC_INFO(SOC_INFO_950, sizeof(SOC_INFO_950) / sizeof(rtSocInfo_t)); | ||
| 57 | - | ||
| 58 | -static constexpr rtSocInfo_t DEV_INFO_950[] = { | ||
| 59 | - {CHIP_DAVID, "Ascend950PR_9599"}, | ||
| 60 | - {CHIP_DAVID, "Ascend950PR_9589"}, | ||
| 61 | - {CHIP_DAVID, "Ascend950PR_958a"}, | ||
| 62 | - {CHIP_DAVID, "Ascend950PR_958b"}, | ||
| 63 | - {CHIP_DAVID, "Ascend950PR_957b"}, | ||
| 64 | - {CHIP_DAVID, "Ascend950PR_957d"}, | ||
| 65 | - {CHIP_DAVID, "Ascend950PR_950z"}, | ||
| 66 | - {CHIP_DAVID, "Ascend950PR_9579"}, | ||
| 67 | - {CHIP_DAVID, "Ascend950DT_9591"}, | ||
| 68 | - {CHIP_DAVID, "Ascend950DT_9592"}, | ||
| 69 | - {CHIP_DAVID, "Ascend950DT_9581"}, | ||
| 70 | - {CHIP_DAVID, "Ascend950DT_9582"}, | ||
| 71 | - {CHIP_DAVID, "Ascend950DT_9584"}, | ||
| 72 | - {CHIP_DAVID, "Ascend950DT_9587"}, | ||
| 73 | - {CHIP_DAVID, "Ascend950DT_9588"}, | ||
| 74 | - {CHIP_DAVID, "Ascend950DT_9572"}, | ||
| 75 | - {CHIP_DAVID, "Ascend950DT_9575"}, | ||
| 76 | - {CHIP_DAVID, "Ascend950DT_9576"}, | ||
| 77 | - {CHIP_DAVID, "Ascend950DT_9574"}, | ||
| 78 | - {CHIP_DAVID, "Ascend950DT_9577"}, | ||
| 79 | - {CHIP_DAVID, "Ascend950DT_9578"}, | ||
| 80 | - {CHIP_DAVID, "Ascend950PR_957c"}, | ||
| 81 | - {CHIP_DAVID, "Ascend950DT_95A1"}, | ||
| 82 | - {CHIP_DAVID, "Ascend950DT_95A2"}, | ||
| 83 | - {CHIP_DAVID, "Ascend950DT_9595"}, | ||
| 84 | - {CHIP_DAVID, "Ascend950DT_9596"}, | ||
| 85 | - {CHIP_DAVID, "Ascend950DT_9585"}, | ||
| 86 | - {CHIP_DAVID, "Ascend950DT_9586"}, | ||
| 87 | - {CHIP_DAVID, "Ascend950DT_9583"}, | ||
| 88 | - {CHIP_DAVID, "Ascend950DT_9571"}, | ||
| 89 | - {CHIP_DAVID, "Ascend950DT_9573"}, | ||
| 90 | - {CHIP_DAVID, "Ascend950DT_950x"}, | ||
| 91 | - {CHIP_DAVID, "Ascend950DT_950y"} | ||
| 92 | -}; | ||
| 93 | - | ||
| 94 | -BATCH_REGISTER_DEV_INFO(DEV_INFO_950, sizeof(DEV_INFO_950) / sizeof(rtSocInfo_t)); | ||
| 95 | REGISTER_PLATFORM_LIB_INFO(CHIP_DAVID, "libruntime_v200.so"); | 20 | REGISTER_PLATFORM_LIB_INFO(CHIP_DAVID, "libruntime_v200.so"); |
| 96 | 21 | ||
| 97 | const std::unordered_set<RtOptionalFeatureType> CHIP_DAVID_FEATURE{ | 22 | const std::unordered_set<RtOptionalFeatureType> CHIP_DAVID_FEATURE{ |
| @@ -14,15 +14,6 @@ | |||
| 14 | 14 | ||
| 15 | namespace cce { | 15 | namespace cce { |
| 16 | namespace runtime { | 16 | namespace runtime { |
| 17 | -static constexpr rtSocInfo_t CHIP_ADC_SOC_INFO[] = { | ||
| 18 | - {CHIP_ADC, "Ascend610"}, | ||
| 19 | - {CHIP_ADC, "BS9SX1AA"}, | ||
| 20 | - {CHIP_ADC, "BS9SX1AB"}, | ||
| 21 | - {CHIP_ADC, "BS9SX1AC"}, | ||
| 22 | -}; | ||
| 23 | - | ||
| 24 | -BATCH_REGISTER_SOC_INFO(CHIP_ADC_SOC_INFO, sizeof(CHIP_ADC_SOC_INFO) / sizeof(rtSocInfo_t)); | ||
| 25 | - | ||
| 26 | REGISTER_PLATFORM_LIB_INFO(CHIP_ADC, "libruntime_v100.so"); | 17 | REGISTER_PLATFORM_LIB_INFO(CHIP_ADC, "libruntime_v100.so"); |
| 27 | 18 | ||
| 28 | static const std::unordered_set<RtOptionalFeatureType> CHIP_ADC_FEATURE{ | 19 | static const std::unordered_set<RtOptionalFeatureType> CHIP_ADC_FEATURE{ |
| @@ -14,9 +14,6 @@ | |||
| 14 | namespace cce { | 14 | namespace cce { |
| 15 | namespace runtime { | 15 | namespace runtime { |
| 16 | 16 | ||
| 17 | -static constexpr rtSocInfo_t CHIP_AS31XM1_SOC_INFO[] = {{CHIP_AS31XM1, "AS31XM1X"}}; | ||
| 18 | -BATCH_REGISTER_SOC_INFO(CHIP_AS31XM1_SOC_INFO, sizeof(CHIP_AS31XM1_SOC_INFO) / sizeof(rtSocInfo_t)); | ||
| 19 | - | ||
| 20 | REGISTER_PLATFORM_LIB_INFO(CHIP_AS31XM1, "libruntime_v100.so"); | 17 | REGISTER_PLATFORM_LIB_INFO(CHIP_AS31XM1, "libruntime_v100.so"); |
| 21 | 18 | ||
| 22 | static const std::unordered_set<RtOptionalFeatureType> CHIP_AS31XM1_FEATURE{ | 19 | static const std::unordered_set<RtOptionalFeatureType> CHIP_AS31XM1_FEATURE{ |
| @@ -15,16 +15,6 @@ | |||
| 15 | namespace cce { | 15 | namespace cce { |
| 16 | namespace runtime { | 16 | namespace runtime { |
| 17 | 17 | ||
| 18 | -static constexpr rtSocInfo_t CHIP_CLOUD_SOC_INFO[] = { | ||
| 19 | - {CHIP_CLOUD, "Ascend910A"}, | ||
| 20 | - {CHIP_CLOUD, "Ascend910B"}, | ||
| 21 | - {CHIP_CLOUD, "Ascend910ProA"}, | ||
| 22 | - {CHIP_CLOUD, "Ascend910ProB"}, | ||
| 23 | - {CHIP_CLOUD, "Ascend910PremiumA"} | ||
| 24 | -}; | ||
| 25 | - | ||
| 26 | -BATCH_REGISTER_SOC_INFO(CHIP_CLOUD_SOC_INFO, sizeof(CHIP_CLOUD_SOC_INFO) / sizeof(rtSocInfo_t)); | ||
| 27 | - | ||
| 28 | REGISTER_PLATFORM_LIB_INFO(CHIP_CLOUD, "libruntime_v100.so"); | 18 | REGISTER_PLATFORM_LIB_INFO(CHIP_CLOUD, "libruntime_v100.so"); |
| 29 | 19 | ||
| 30 | static const std::unordered_set<RtOptionalFeatureType> CHIP_CLOUD_FEATURE{ | 20 | static const std::unordered_set<RtOptionalFeatureType> CHIP_CLOUD_FEATURE{ |
| @@ -15,15 +15,6 @@ | |||
| 15 | namespace cce { | 15 | namespace cce { |
| 16 | namespace runtime { | 16 | namespace runtime { |
| 17 | 17 | ||
| 18 | -static constexpr rtSocInfo_t CHIP_DC_SOC_INFO[] = { | ||
| 19 | - {CHIP_DC, "Ascend310P3"}, | ||
| 20 | - {CHIP_DC, "Ascend310P1"}, | ||
| 21 | - {CHIP_DC, "Ascend310P5"}, | ||
| 22 | - {CHIP_DC, "Ascend310P7"}, | ||
| 23 | -}; | ||
| 24 | - | ||
| 25 | -BATCH_REGISTER_SOC_INFO(CHIP_DC_SOC_INFO, sizeof(CHIP_DC_SOC_INFO) / sizeof(rtSocInfo_t)); | ||
| 26 | - | ||
| 27 | REGISTER_PLATFORM_LIB_INFO(CHIP_DC, "libruntime_v100.so"); | 18 | REGISTER_PLATFORM_LIB_INFO(CHIP_DC, "libruntime_v100.so"); |
| 28 | 19 | ||
| 29 | static const std::unordered_set<RtOptionalFeatureType> CHIP_DC_FEATURE{ | 20 | static const std::unordered_set<RtOptionalFeatureType> CHIP_DC_FEATURE{ |
| @@ -16,18 +16,6 @@ | |||
| 16 | namespace cce { | 16 | namespace cce { |
| 17 | namespace runtime { | 17 | namespace runtime { |
| 18 | 18 | ||
| 19 | -static constexpr rtSocInfo_t SOC_INFO_KIRIN9030[] = { | ||
| 20 | - {CHIP_9030, "Kirin9030"} | ||
| 21 | -}; | ||
| 22 | - | ||
| 23 | -BATCH_REGISTER_SOC_INFO(SOC_INFO_KIRIN9030, sizeof(SOC_INFO_KIRIN9030) / sizeof(rtSocInfo_t)); | ||
| 24 | - | ||
| 25 | -constexpr rtSocInfo_t DEV_INFO_KIRIN9030[] = { | ||
| 26 | - {CHIP_9030, "Kirin9030"}, | ||
| 27 | -}; | ||
| 28 | - | ||
| 29 | -BATCH_REGISTER_DEV_INFO(DEV_INFO_KIRIN9030, sizeof(DEV_INFO_KIRIN9030) / sizeof(rtSocInfo_t)); | ||
| 30 | - | ||
| 31 | REGISTER_PLATFORM_LIB_INFO(CHIP_9030, "libruntime_v100.so"); | 19 | REGISTER_PLATFORM_LIB_INFO(CHIP_9030, "libruntime_v100.so"); |
| 32 | 20 | ||
| 33 | static const std::unordered_set<RtOptionalFeatureType> KIRIN9030_FEATURE{}; | 21 | static const std::unordered_set<RtOptionalFeatureType> KIRIN9030_FEATURE{}; |
| @@ -16,18 +16,6 @@ | |||
| 16 | namespace cce { | 16 | namespace cce { |
| 17 | namespace runtime { | 17 | namespace runtime { |
| 18 | 18 | ||
| 19 | -static constexpr rtSocInfo_t SOC_INFO_KIRINX90[] = { | ||
| 20 | - {CHIP_X90, "KirinX90"} | ||
| 21 | -}; | ||
| 22 | - | ||
| 23 | -BATCH_REGISTER_SOC_INFO(SOC_INFO_KIRINX90, sizeof(SOC_INFO_KIRINX90) / sizeof(rtSocInfo_t)); | ||
| 24 | - | ||
| 25 | -constexpr rtSocInfo_t DEV_INFO_KIRINX90[] = { | ||
| 26 | - {CHIP_X90, "KirinX90"}, | ||
| 27 | -}; | ||
| 28 | - | ||
| 29 | -BATCH_REGISTER_DEV_INFO(DEV_INFO_KIRINX90, sizeof(DEV_INFO_KIRINX90) / sizeof(rtSocInfo_t)); | ||
| 30 | - | ||
| 31 | REGISTER_PLATFORM_LIB_INFO(CHIP_X90, "libruntime_v100.so"); | 19 | REGISTER_PLATFORM_LIB_INFO(CHIP_X90, "libruntime_v100.so"); |
| 32 | 20 | ||
| 33 | static const std::unordered_set<RtOptionalFeatureType> KIRINX90_FEATURE{}; | 21 | static const std::unordered_set<RtOptionalFeatureType> KIRINX90_FEATURE{}; |
| @@ -17,12 +17,6 @@ | |||
| 17 | namespace cce { | 17 | namespace cce { |
| 18 | namespace runtime { | 18 | namespace runtime { |
| 19 | 19 | ||
| 20 | -static constexpr rtSocInfo_t CHIP_MC32DM11A_SOC_INFO[] = { | ||
| 21 | - {CHIP_MC32DM11A, "MC32DM11AA"}, | ||
| 22 | -}; | ||
| 23 | - | ||
| 24 | -BATCH_REGISTER_SOC_INFO(CHIP_MC32DM11A_SOC_INFO, sizeof(CHIP_MC32DM11A_SOC_INFO) / sizeof(rtSocInfo_t)); | ||
| 25 | - | ||
| 26 | REGISTER_PLATFORM_LIB_INFO(CHIP_MC32DM11A, "libruntime_v201.so"); | 20 | REGISTER_PLATFORM_LIB_INFO(CHIP_MC32DM11A, "libruntime_v201.so"); |
| 27 | 21 | ||
| 28 | static const std::unordered_set<RtOptionalFeatureType> CHIP_MC32DM11A_FEATURE{ | 22 | static const std::unordered_set<RtOptionalFeatureType> CHIP_MC32DM11A_FEATURE{ |
| @@ -17,31 +17,6 @@ | |||
| 17 | namespace cce { | 17 | namespace cce { |
| 18 | namespace runtime { | 18 | namespace runtime { |
| 19 | 19 | ||
| 20 | -static constexpr rtSocInfo_t CHIP_MC62CM12A_SOC_INFO[] = { | ||
| 21 | - {CHIP_MC62CM12A, "MC62CM12AA"}, | ||
| 22 | -}; | ||
| 23 | - | ||
| 24 | -BATCH_REGISTER_SOC_INFO(CHIP_MC62CM12A_SOC_INFO, sizeof(CHIP_MC62CM12A_SOC_INFO) / sizeof(rtSocInfo_t)); | ||
| 25 | - | ||
| 26 | -constexpr rtSocInfo_t DEV_INFO_MC_62[] = { | ||
| 27 | - {CHIP_MC62CM12A, "MC62CM12AA"}, | ||
| 28 | - {CHIP_MC62CM12A, "MC62CM12AC"}, | ||
| 29 | - {CHIP_MC62CM12A, "MC62CM12AD"}, | ||
| 30 | - {CHIP_MC62CM12A, "MC62CM12AE"}, | ||
| 31 | - {CHIP_MC62CM12A, "MC62CM12AF"}, | ||
| 32 | - {CHIP_MC62CM12A, "MC62CM13AA"}, | ||
| 33 | - {CHIP_MC62CM12A, "MC62CM13AB"}, | ||
| 34 | - {CHIP_MC62CM12A, "MC62DM22AA"}, | ||
| 35 | - {CHIP_MC62CM12A, "MC62DM22AC"}, | ||
| 36 | - {CHIP_MC62CM12A, "MC62DM22AD"}, | ||
| 37 | - {CHIP_MC62CM12A, "MC62DM22AE"}, | ||
| 38 | - {CHIP_MC62CM12A, "MC62DM22AF"}, | ||
| 39 | - {CHIP_MC62CM12A, "MC62DM23AA"}, | ||
| 40 | - {CHIP_MC62CM12A, "MC62DM23AB"}, | ||
| 41 | -}; | ||
| 42 | - | ||
| 43 | -BATCH_REGISTER_DEV_INFO(DEV_INFO_MC_62, sizeof(DEV_INFO_MC_62) / sizeof(rtSocInfo_t)); | ||
| 44 | - | ||
| 45 | REGISTER_PLATFORM_LIB_INFO(CHIP_MC62CM12A, "libruntime_v201.so"); | 20 | REGISTER_PLATFORM_LIB_INFO(CHIP_MC62CM12A, "libruntime_v201.so"); |
| 46 | 21 | ||
| 47 | static const std::unordered_set<RtOptionalFeatureType> CHIP_MC62CM12A_FEATURE{ | 22 | static const std::unordered_set<RtOptionalFeatureType> CHIP_MC62CM12A_FEATURE{ |
| @@ -15,12 +15,6 @@ | |||
| 15 | namespace cce { | 15 | namespace cce { |
| 16 | namespace runtime { | 16 | namespace runtime { |
| 17 | 17 | ||
| 18 | -static constexpr rtSocInfo_t CHIP_MINI_SOC_INFO[] = { | ||
| 19 | - {CHIP_MINI, "Ascend310"} | ||
| 20 | -}; | ||
| 21 | - | ||
| 22 | -BATCH_REGISTER_SOC_INFO(CHIP_MINI_SOC_INFO, sizeof(CHIP_MINI_SOC_INFO) / sizeof(rtSocInfo_t)); | ||
| 23 | - | ||
| 24 | REGISTER_PLATFORM_LIB_INFO(CHIP_MINI, "libruntime_v100.so"); | 18 | REGISTER_PLATFORM_LIB_INFO(CHIP_MINI, "libruntime_v100.so"); |
| 25 | 19 | ||
| 26 | static const std::unordered_set<RtOptionalFeatureType> CHIP_MINI_FEATURE{ | 20 | static const std::unordered_set<RtOptionalFeatureType> CHIP_MINI_FEATURE{ |
| @@ -14,15 +14,6 @@ | |||
| 14 | 14 | ||
| 15 | namespace cce { | 15 | namespace cce { |
| 16 | namespace runtime { | 16 | namespace runtime { |
| 17 | -static constexpr rtSocInfo_t CHIP_MINI_V3_SOC_INFO[] = { | ||
| 18 | - {CHIP_MINI_V3, "Ascend310B1"}, | ||
| 19 | - {CHIP_MINI_V3, "Ascend310B2"}, | ||
| 20 | - {CHIP_MINI_V3, "Ascend310B3"}, | ||
| 21 | - {CHIP_MINI_V3, "Ascend310B4"}, | ||
| 22 | -}; | ||
| 23 | - | ||
| 24 | -BATCH_REGISTER_SOC_INFO(CHIP_MINI_V3_SOC_INFO, sizeof(CHIP_MINI_V3_SOC_INFO) / sizeof(rtSocInfo_t)); | ||
| 25 | - | ||
| 26 | REGISTER_PLATFORM_LIB_INFO(CHIP_MINI_V3, "libruntime_v100.so"); | 17 | REGISTER_PLATFORM_LIB_INFO(CHIP_MINI_V3, "libruntime_v100.so"); |
| 27 | 18 | ||
| 28 | static const std::unordered_set<RtOptionalFeatureType> CHIP_MINI_V3_FEATURE{ | 19 | static const std::unordered_set<RtOptionalFeatureType> CHIP_MINI_V3_FEATURE{ |
| @@ -15,13 +15,6 @@ | |||
| 15 | namespace cce { | 15 | namespace cce { |
| 16 | namespace runtime { | 16 | namespace runtime { |
| 17 | 17 | ||
| 18 | -static constexpr rtSocInfo_t CHIP_NANO_SOC_INFO[] = { | ||
| 19 | - {CHIP_NANO, "Ascend035"}, | ||
| 20 | - {CHIP_NANO, "Ascend035A"}, | ||
| 21 | - {CHIP_NANO, "Ascend035B"}, | ||
| 22 | -}; | ||
| 23 | - | ||
| 24 | -BATCH_REGISTER_SOC_INFO(CHIP_NANO_SOC_INFO, sizeof(CHIP_NANO_SOC_INFO) / sizeof(rtSocInfo_t)); | ||
| 25 | REGISTER_PLATFORM_LIB_INFO(CHIP_NANO, "libruntime_v100.so"); | 18 | REGISTER_PLATFORM_LIB_INFO(CHIP_NANO, "libruntime_v100.so"); |
| 26 | 19 | ||
| 27 | static const std::unordered_set<RtOptionalFeatureType> CHIP_NANO_FEATURE{ | 20 | static const std::unordered_set<RtOptionalFeatureType> CHIP_NANO_FEATURE{ |
| @@ -15,12 +15,6 @@ | |||
| 15 | namespace cce { | 15 | namespace cce { |
| 16 | namespace runtime { | 16 | namespace runtime { |
| 17 | 17 | ||
| 18 | -static constexpr rtSocInfo_t CHIP_5612_SOC_INFO[] = { | ||
| 19 | - {CHIP_ASCEND_031, "Ascend031"}, | ||
| 20 | -}; | ||
| 21 | - | ||
| 22 | -BATCH_REGISTER_SOC_INFO(CHIP_5612_SOC_INFO, sizeof(CHIP_5612_SOC_INFO) / sizeof(rtSocInfo_t)); | ||
| 23 | - | ||
| 24 | REGISTER_PLATFORM_LIB_INFO(CHIP_ASCEND_031, "libruntime_v100.so"); | 18 | REGISTER_PLATFORM_LIB_INFO(CHIP_ASCEND_031, "libruntime_v100.so"); |
| 25 | 19 | ||
| 26 | static const std::unordered_set<RtOptionalFeatureType> CHIP_5612_FEATURE{ | 20 | static const std::unordered_set<RtOptionalFeatureType> CHIP_5612_FEATURE{ |
| @@ -35,10 +35,14 @@ typedef enum tagRtChipType { | |||
| 35 | CHIP_CLOUD_V5 = 16, | 35 | CHIP_CLOUD_V5 = 16, |
| 36 | CHIP_MC62CM12A = 17, /* MC62CM12A */ | 36 | CHIP_MC62CM12A = 17, /* MC62CM12A */ |
| 37 | CHIP_MC32DM11A = 18, /* MC32DM11A */ | 37 | CHIP_MC32DM11A = 18, /* MC32DM11A */ |
| 38 | - CHIP_X90, /* KirinX90 */ | 38 | + CHIP_XPU, /* XPU,无驱动值,但是有task处理,值不需要固定,无ini配置文件 */ |
| 39 | - CHIP_9030, /* Kirin9030 */ | 39 | + CHIP_END, /* 常规芯片类型结束边界(运行时涉及芯片,除 XPU 外,和驱动定义的值一致) */ |
| 40 | - CHIP_XPU, | 40 | + |
| 41 | - CHIP_END | 41 | + /* 扩展芯片类型段(值大于 CHIP_END,仅用于离线编译,运行时不使用) */ |
| 42 | + CHIP_EXT_BEGIN = 200, /* 扩展芯片类型起始边界 */ | ||
| 43 | + CHIP_X90 = CHIP_EXT_BEGIN, /* KirinX90 */ | ||
| 44 | + CHIP_9030, /* Kirin9030 */ | ||
| 45 | + CHIP_EXT_END /* 扩展芯片类型结束边界 */ | ||
| 42 | } rtChipType_t; | 46 | } rtChipType_t; |
| 43 | 47 | ||
| 44 | typedef enum tagRtVersion { | 48 | typedef enum tagRtVersion { |
| @@ -16,82 +16,6 @@ DevInfoManage &DevInfoManage::Instance() | |||
| 16 | return devInfo; | 16 | return devInfo; |
| 17 | } | 17 | } |
| 18 | 18 | ||
| 19 | -bool DevInfoManage::RegisterSocInfo(const rtSocInfo_t &conf) | ||
| 20 | -{ | ||
| 21 | - if (isDestroy) { | ||
| 22 | - return false; | ||
| 23 | - } | ||
| 24 | - const WriteProtect lk(&socInfoLock); | ||
| 25 | - socInfos.push_back(conf); | ||
| 26 | - return true; | ||
| 27 | -} | ||
| 28 | - | ||
| 29 | -bool DevInfoManage::BatchRegSocInfo(const rtSocInfo_t *conf, size_t size) | ||
| 30 | -{ | ||
| 31 | - if (isDestroy) { | ||
| 32 | - return false; | ||
| 33 | - } | ||
| 34 | - const WriteProtect lk(&socInfoLock); | ||
| 35 | - for (size_t i = 0; i < size; ++i) { | ||
| 36 | - socInfos.push_back(conf[i]); | ||
| 37 | - } | ||
| 38 | - | ||
| 39 | - return true; | ||
| 40 | -} | ||
| 41 | - | ||
| 42 | -rtError_t DevInfoManage::GetSocInfo(const char_t *const socName, rtSocInfo_t &info) | ||
| 43 | -{ | ||
| 44 | - if (isDestroy) { | ||
| 45 | - return RT_ERROR_INVALID_VALUE; | ||
| 46 | - } | ||
| 47 | - const ReadProtect lk(&socInfoLock); | ||
| 48 | - for (auto &i : socInfos) { | ||
| 49 | - if (strcmp(i.socName, socName) == 0) { | ||
| 50 | - info = i; | ||
| 51 | - return RT_ERROR_NONE; | ||
| 52 | - } | ||
| 53 | - } | ||
| 54 | - return RT_ERROR_INVALID_VALUE; | ||
| 55 | -} | ||
| 56 | - | ||
| 57 | -bool DevInfoManage::RegisterDevInfo(const rtSocInfo_t &conf) | ||
| 58 | -{ | ||
| 59 | - if (isDestroy) { | ||
| 60 | - return false; | ||
| 61 | - } | ||
| 62 | - const WriteProtect lk(&devInfoLock); | ||
| 63 | - devInfos.push_back(conf); | ||
| 64 | - return true; | ||
| 65 | -} | ||
| 66 | - | ||
| 67 | -bool DevInfoManage::BatchRegDevInfo(const rtSocInfo_t *conf, size_t size) | ||
| 68 | -{ | ||
| 69 | - if (isDestroy) { | ||
| 70 | - return false; | ||
| 71 | - } | ||
| 72 | - const WriteProtect lk(&devInfoLock); | ||
| 73 | - for (size_t i = 0; i < size; ++i) { | ||
| 74 | - devInfos.push_back(conf[i]); | ||
| 75 | - } | ||
| 76 | - | ||
| 77 | - return true; | ||
| 78 | -} | ||
| 79 | - | ||
| 80 | -rtError_t DevInfoManage::GetDevInfo(const char_t *socName, rtSocInfo_t &info) | ||
| 81 | -{ | ||
| 82 | - if (isDestroy) { | ||
| 83 | - return RT_ERROR_INVALID_VALUE; | ||
| 84 | - } | ||
| 85 | - const ReadProtect lk(&devInfoLock); | ||
| 86 | - for (auto &i : devInfos) { | ||
| 87 | - if (strcmp(i.socName, socName) == 0) { | ||
| 88 | - info = i; | ||
| 89 | - return RT_ERROR_NONE; | ||
| 90 | - } | ||
| 91 | - } | ||
| 92 | - return RT_ERROR_INVALID_VALUE; | ||
| 93 | -} | ||
| 94 | - | ||
| 95 | bool DevInfoManage::RegPlatformSoNameInfo(rtChipType_t chip, const std::string &soName) | 19 | bool DevInfoManage::RegPlatformSoNameInfo(rtChipType_t chip, const std::string &soName) |
| 96 | { | 20 | { |
| 97 | if (isDestroy) { | 21 | if (isDestroy) { |
| @@ -119,39 +43,65 @@ rtError_t DevInfoManage::GetPlatformSoName(rtChipType_t chip, std::string &soNam | |||
| 119 | 43 | ||
| 120 | bool DevInfoManage::RegChipFeatureSet(rtChipType_t chip, const std::unordered_set<RtOptionalFeatureType> &f) | 44 | bool DevInfoManage::RegChipFeatureSet(rtChipType_t chip, const std::unordered_set<RtOptionalFeatureType> &f) |
| 121 | { | 45 | { |
| 122 | - if (isDestroy || (chip < CHIP_BEGIN) || (chip >= CHIP_END)) { | 46 | + if (isDestroy || (chip < CHIP_BEGIN)) { |
| 123 | return false; | 47 | return false; |
| 124 | } | 48 | } |
| 49 | + | ||
| 125 | std::array<bool, FEATURE_MAX_VALUE> feature = {false}; | 50 | std::array<bool, FEATURE_MAX_VALUE> feature = {false}; |
| 126 | for (auto &i : f) { | 51 | for (auto &i : f) { |
| 127 | uint32_t index = static_cast<uint32_t>(i); | 52 | uint32_t index = static_cast<uint32_t>(i); |
| 128 | - feature[index] = true; | 53 | + if (index < FEATURE_MAX_VALUE) { |
| 54 | + feature[index] = true; | ||
| 55 | + } | ||
| 129 | } | 56 | } |
| 57 | + | ||
| 130 | // for high performance, no lock. | 58 | // for high performance, no lock. |
| 131 | // each chip must be registered only once. Dynamic registration is prohibited. | 59 | // each chip must be registered only once. Dynamic registration is prohibited. |
| 132 | - chipFeatureSet[chip] = feature; | 60 | + if (chip < CHIP_END) { |
| 61 | + chipFeatureSet[chip] = feature; | ||
| 62 | + } else if ((chip >= CHIP_EXT_BEGIN) && (chip < CHIP_EXT_END)) { | ||
| 63 | + extChipFeatureSet[chip] = feature; | ||
| 64 | + } else { | ||
| 65 | + return false; | ||
| 66 | + } | ||
| 133 | return true; | 67 | return true; |
| 134 | } | 68 | } |
| 135 | 69 | ||
| 136 | rtError_t DevInfoManage::GetChipFeatureSet(rtChipType_t chip, std::array<bool, FEATURE_MAX_VALUE> &f) | 70 | rtError_t DevInfoManage::GetChipFeatureSet(rtChipType_t chip, std::array<bool, FEATURE_MAX_VALUE> &f) |
| 137 | { | 71 | { |
| 138 | - if (isDestroy || (chip < CHIP_BEGIN) || (chip >= CHIP_END)) { | 72 | + if (isDestroy || (chip < CHIP_BEGIN)) { |
| 73 | + return RT_ERROR_INVALID_VALUE; | ||
| 74 | + } | ||
| 75 | + if (chip < CHIP_END) { | ||
| 76 | + f = chipFeatureSet[chip]; | ||
| 77 | + } else if ((chip >= CHIP_EXT_BEGIN) && (chip < CHIP_EXT_END)) { | ||
| 78 | + auto it = extChipFeatureSet.find(chip); | ||
| 79 | + if (it != extChipFeatureSet.end()) { | ||
| 80 | + f = it->second; | ||
| 81 | + } else { | ||
| 82 | + f.fill(false); | ||
| 83 | + } | ||
| 84 | + } else { | ||
| 139 | return RT_ERROR_INVALID_VALUE; | 85 | return RT_ERROR_INVALID_VALUE; |
| 140 | } | 86 | } |
| 141 | - f = chipFeatureSet[chip]; | ||
| 142 | return RT_ERROR_NONE; | 87 | return RT_ERROR_NONE; |
| 143 | } | 88 | } |
| 144 | 89 | ||
| 145 | bool DevInfoManage::IsSupportChipFeature(rtChipType_t chip, RtOptionalFeatureType f) | 90 | bool DevInfoManage::IsSupportChipFeature(rtChipType_t chip, RtOptionalFeatureType f) |
| 146 | { | 91 | { |
| 147 | - if (isDestroy || (chip < CHIP_BEGIN) || (chip >= CHIP_END)) { | 92 | + uint32_t index = static_cast<uint32_t>(f); |
| 93 | + if (isDestroy || (chip < CHIP_BEGIN) || (index >= FEATURE_MAX_VALUE)) { | ||
| 148 | return false; | 94 | return false; |
| 149 | } | 95 | } |
| 150 | - uint32_t index = static_cast<uint32_t>(f); | 96 | + |
| 151 | - if (index < chipFeatureSet[chip].size()) { | 97 | + if (chip < CHIP_END) { |
| 152 | - // for high performance, no lock. only write once. | ||
| 153 | return chipFeatureSet[chip][index]; | 98 | return chipFeatureSet[chip][index]; |
| 154 | } | 99 | } |
| 100 | + | ||
| 101 | + if ((chip >= CHIP_EXT_BEGIN) && (chip < CHIP_EXT_END)) { | ||
| 102 | + auto it = extChipFeatureSet.find(chip); | ||
| 103 | + return it != extChipFeatureSet.end() ? it->second[index] : false; | ||
| 104 | + } | ||
| 155 | return false; | 105 | return false; |
| 156 | } | 106 | } |
| 157 | 107 | ||
| @@ -186,7 +136,7 @@ rtError_t DevInfoManage::GetDevProperties(const rtChipType_t chip, DevProperties | |||
| 186 | if (isDestroy) { | 136 | if (isDestroy) { |
| 187 | return RT_ERROR_INVALID_VALUE; | 137 | return RT_ERROR_INVALID_VALUE; |
| 188 | } | 138 | } |
| 189 | - | 139 | + |
| 190 | const ReadProtect lk(&propertiesLock); | 140 | const ReadProtect lk(&propertiesLock); |
| 191 | auto it = propertiesMap.find(chip); | 141 | auto it = propertiesMap.find(chip); |
| 192 | if (it != propertiesMap.end()) { | 142 | if (it != propertiesMap.end()) { |
| @@ -223,15 +173,15 @@ rtError_t DevInfoManage::GetDevInfoProcFunc(const rtChipType_t chip, DevDynInfoP | |||
| 223 | if (isDestroy) { | 173 | if (isDestroy) { |
| 224 | return RT_ERROR_INVALID_VALUE; | 174 | return RT_ERROR_INVALID_VALUE; |
| 225 | } | 175 | } |
| 226 | - | 176 | + |
| 227 | const ReadProtect lk(&devInfoProcLock); | 177 | const ReadProtect lk(&devInfoProcLock); |
| 228 | auto it = devInfoProcMap.find(chip); | 178 | auto it = devInfoProcMap.find(chip); |
| 229 | if (it != devInfoProcMap.end()) { | 179 | if (it != devInfoProcMap.end()) { |
| 230 | func = it->second; | 180 | func = it->second; |
| 231 | return RT_ERROR_NONE; | 181 | return RT_ERROR_NONE; |
| 232 | } | 182 | } |
| 233 | - | 183 | + |
| 234 | return RT_ERROR_INVALID_VALUE; | 184 | return RT_ERROR_INVALID_VALUE; |
| 235 | } | 185 | } |
| 236 | } // namespace runtime | 186 | } // namespace runtime |
| 237 | -} // namespace cce | 187 | +} // namespace cce |
| @@ -41,8 +41,6 @@ class DevInfoManage { | |||
| 41 | public: | 41 | public: |
| 42 | DevInfoManage() | 42 | DevInfoManage() |
| 43 | { | 43 | { |
| 44 | - (void)mmRWLockInit(&devInfoLock); | ||
| 45 | - (void)mmRWLockInit(&socInfoLock); | ||
| 46 | (void)mmRWLockInit(&soLock); | 44 | (void)mmRWLockInit(&soLock); |
| 47 | (void)mmRWLockInit(&propertiesLock); | 45 | (void)mmRWLockInit(&propertiesLock); |
| 48 | (void)mmRWLockInit(&devInfoProcLock); | 46 | (void)mmRWLockInit(&devInfoProcLock); |
| @@ -50,8 +48,6 @@ public: | |||
| 50 | ~DevInfoManage() | 48 | ~DevInfoManage() |
| 51 | { | 49 | { |
| 52 | SetDestroy(); | 50 | SetDestroy(); |
| 53 | - (void)mmRWLockDestroy(&devInfoLock); | ||
| 54 | - (void)mmRWLockDestroy(&socInfoLock); | ||
| 55 | (void)mmRWLockDestroy(&soLock); | 51 | (void)mmRWLockDestroy(&soLock); |
| 56 | (void)mmRWLockDestroy(&propertiesLock); | 52 | (void)mmRWLockDestroy(&propertiesLock); |
| 57 | (void)mmRWLockDestroy(&devInfoProcLock); | 53 | (void)mmRWLockDestroy(&devInfoProcLock); |
| @@ -59,14 +55,6 @@ public: | |||
| 59 | 55 | ||
| 60 | static DevInfoManage &Instance(); | 56 | static DevInfoManage &Instance(); |
| 61 | 57 | ||
| 62 | - bool RegisterSocInfo(const rtSocInfo_t &conf); | ||
| 63 | - bool BatchRegSocInfo(const rtSocInfo_t *conf, size_t size); | ||
| 64 | - rtError_t GetSocInfo(const char_t *const socName, rtSocInfo_t &info); | ||
| 65 | - | ||
| 66 | - bool RegisterDevInfo(const rtSocInfo_t &conf); | ||
| 67 | - bool BatchRegDevInfo(const rtSocInfo_t *conf, size_t size); | ||
| 68 | - rtError_t GetDevInfo(const char_t *socName, rtSocInfo_t &info); | ||
| 69 | - | ||
| 70 | bool RegPlatformSoNameInfo(rtChipType_t chip, const std::string &soName); | 58 | bool RegPlatformSoNameInfo(rtChipType_t chip, const std::string &soName); |
| 71 | rtError_t GetPlatformSoName(rtChipType_t chip, std::string &soName); | 59 | rtError_t GetPlatformSoName(rtChipType_t chip, std::string &soName); |
| 72 | 60 | ||
| @@ -87,17 +75,16 @@ public: | |||
| 87 | 75 | ||
| 88 | private: | 76 | private: |
| 89 | std::atomic<bool> isDestroy{false}; | 77 | std::atomic<bool> isDestroy{false}; |
| 90 | - std::mutex info_lock; | ||
| 91 | - mmRWLock_t devInfoLock; | ||
| 92 | - std::vector<rtSocInfo_t> devInfos; | ||
| 93 | - mmRWLock_t socInfoLock; | ||
| 94 | - std::vector<rtSocInfo_t> socInfos; | ||
| 95 | - | ||
| 96 | mmRWLock_t soLock; | 78 | mmRWLock_t soLock; |
| 97 | std::unordered_map<rtChipType_t, std::string> platformSoName; | 79 | std::unordered_map<rtChipType_t, std::string> platformSoName; |
| 98 | 80 | ||
| 99 | // Static feature table. each chip must be registered only once when startup. Dynamic registration is prohibited. | 81 | // Static feature table. each chip must be registered only once when startup. Dynamic registration is prohibited. |
| 82 | + // 常规芯片类型段(CHIP_BEGIN ~ CHIP_END) | ||
| 100 | std::array<std::array<bool, FEATURE_MAX_VALUE>, CHIP_END> chipFeatureSet{{}}; | 83 | std::array<std::array<bool, FEATURE_MAX_VALUE>, CHIP_END> chipFeatureSet{{}}; |
| 84 | + | ||
| 85 | + // 扩展芯片类型段(CHIP_X90, CHIP_9030) | ||
| 86 | + // 使用单独的数组处理扩展段,避免数组过大 | ||
| 87 | + std::unordered_map<rtChipType_t, std::array<bool, FEATURE_MAX_VALUE>> extChipFeatureSet{}; | ||
| 101 | 88 | ||
| 102 | mmRWLock_t propertiesLock; | 89 | mmRWLock_t propertiesLock; |
| 103 | std::unordered_map<rtChipType_t, DevProperties> propertiesMap; | 90 | std::unordered_map<rtChipType_t, DevProperties> propertiesMap; |
| @@ -116,20 +103,6 @@ private: | |||
| 116 | 103 | ||
| 117 | 104 | ||
| 118 | 105 | ||
| 119 | - | ||
| 120 | - static bool g_Register_# | ||
| 121 | - | ||
| 122 | - | ||
| 123 | - static bool g_Batch_Register_# | ||
| 124 | - cce::runtime::DevInfoManage::Instance().BatchRegDevInfo((conf), (size)) | ||
| 125 | - | ||
| 126 | - | ||
| 127 | - static bool g_Batch_RegisterSoc_# | ||
| 128 | - cce::runtime::DevInfoManage::Instance().BatchRegSocInfo((conf), (size)) | ||
| 129 | - | ||
| 130 | - | ||
| 131 | - static bool g_RegisterSoc_# | ||
| 132 | - | ||
| 133 | 106 | ||
| 134 | static bool g_RegisterLib_##chipType ATTRIBUTE_USED = \ | 107 | static bool g_RegisterLib_##chipType ATTRIBUTE_USED = \ |
| 135 | cce::runtime::DevInfoManage::Instance().RegPlatformSoNameInfo((chipType), (soName)) | 108 | cce::runtime::DevInfoManage::Instance().RegPlatformSoNameInfo((chipType), (soName)) |
| @@ -0,0 +1,25 @@ | |||
| 1 | +/** | ||
| 2 | + * Copyright (c) 2026 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 | +namespace cce { | ||
| 15 | +namespace runtime { | ||
| 16 | +namespace platform_config { | ||
| 17 | +constexpr const char *kVersionSection = "version"; | ||
| 18 | +constexpr const char *kSocInfoSection = "SoCInfo"; | ||
| 19 | +constexpr const char *kNpuArchField = "NpuArch"; | ||
| 20 | +constexpr const char *kChipTypeField = "Chip_type"; | ||
| 21 | +} // namespace platform_config | ||
| 22 | +} // namespace runtime | ||
| 23 | +} // namespace cce | ||
| 24 | + | ||
| 25 | + | ||
| @@ -9,27 +9,61 @@ | |||
| 9 | */ | 9 | */ |
| 10 | 10 | ||
| 11 | 11 | ||
| 12 | -#include "dev_info_manage.h" | 12 | +#include "platform_config_keys.h" |
| 13 | - | ||
| 14 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 17 | + | ||
| 18 | + | ||
| 15 | namespace cce { | 19 | namespace cce { |
| 16 | namespace runtime { | 20 | namespace runtime { |
| 17 | -rtError_t GetSocInfoFromRuntimeByName(const char_t * const socName, rtSocInfo_t &info) | 21 | +namespace { |
| 22 | + | ||
| 23 | +rtError_t GetChipTypeFromPlatform(const std::string& socName, rtChipType_t& chipType) | ||
| 18 | { | 24 | { |
| 19 | - return DevInfoManage::Instance().GetSocInfo(socName, info); | 25 | + std::string result; |
| 26 | + const int32_t ret = PlatformManagerV2::Instance().GetSocSpec(socName, platform_config::kVersionSection, | ||
| 27 | + platform_config::kChipTypeField, result); | ||
| 28 | + COND_PROC_RETURN_ERROR(ret != RT_ERROR_NONE, RT_ERROR_INVALID_VALUE, , | ||
| 29 | + "Get chip type from platform failed, socName=%s, ret=%d.", socName.c_str(), ret); | ||
| 30 | + | ||
| 31 | + try { | ||
| 32 | + size_t parsePos = 0U; | ||
| 33 | + const int64_t chipTypeValue = std::stoll(result, &parsePos, 10); | ||
| 34 | + const bool isCommonChipType = | ||
| 35 | + (chipTypeValue >= static_cast<int64_t>(CHIP_BEGIN)) && (chipTypeValue < static_cast<int64_t>(CHIP_END)); | ||
| 36 | + const bool isExtChipType = (chipTypeValue >= static_cast<int64_t>(CHIP_EXT_BEGIN)) && | ||
| 37 | + (chipTypeValue < static_cast<int64_t>(CHIP_EXT_END)); | ||
| 38 | + COND_PROC_RETURN_ERROR( | ||
| 39 | + (parsePos != result.size()) || (!isCommonChipType && !isExtChipType), RT_ERROR_INVALID_VALUE, , | ||
| 40 | + "Chip_type [%s] of socName=%s is invalid.", result.c_str(), socName.c_str()); | ||
| 41 | + chipType = static_cast<rtChipType_t>(chipTypeValue); | ||
| 42 | + } catch (...) { | ||
| 43 | + RT_LOG(RT_LOG_ERROR, "Chip_type [%s] of socName=%s is invalid.", result.c_str(), socName.c_str()); | ||
| 44 | + return RT_ERROR_INVALID_VALUE; | ||
| 45 | + } | ||
| 46 | + | ||
| 47 | + return RT_ERROR_NONE; | ||
| 48 | +} | ||
| 49 | +} // namespace | ||
| 50 | + | ||
| 51 | +rtError_t GetChipTypeFromPlatform(const char_t* const socName, rtChipType_t& chipType) | ||
| 52 | +{ | ||
| 53 | + COND_PROC_RETURN_ERROR(socName == nullptr, RT_ERROR_INVALID_VALUE, , "socName is null."); | ||
| 54 | + return GetChipTypeFromPlatform(std::string(socName), chipType); | ||
| 20 | } | 55 | } |
| 21 | 56 | ||
| 22 | rtError_t GetNpuArchByName(const char_t* const socName, int32_t* hardwareNpuArch) | 57 | rtError_t GetNpuArchByName(const char_t* const socName, int32_t* hardwareNpuArch) |
| 23 | { | 58 | { |
| 59 | + COND_PROC_RETURN_ERROR(socName == nullptr, RT_ERROR_INVALID_VALUE, , "socName is null."); | ||
| 60 | + COND_PROC_RETURN_ERROR(hardwareNpuArch == nullptr, RT_ERROR_INVALID_VALUE, , "hardwareNpuArch is null."); | ||
| 24 | std::string result = ""; | 61 | std::string result = ""; |
| 25 | - const std::string label = "version"; | 62 | + const int32_t ret = |
| 26 | - const std::string key = "NpuArch"; | 63 | + PlatformManagerV2::Instance().GetSocSpec(std::string(socName), platform_config::kVersionSection, |
| 27 | - const int32_t ret = PlatformManagerV2::Instance().GetSocSpec(std::string(socName), label, | 64 | + platform_config::kNpuArchField, result); |
| 28 | - key, result); | 65 | + COND_PROC_RETURN_ERROR(ret != RT_ERROR_NONE, RT_ERROR_INVALID_VALUE, , |
| 29 | - if (ret != RT_ERROR_NONE) { | 66 | + "Get soc spec failed, ret = %u, please check.", ret); |
| 30 | - RT_LOG(RT_LOG_ERROR, "Get soc spec failed, ret = %u, please check.", ret); | ||
| 31 | - return RT_ERROR_INVALID_VALUE; | ||
| 32 | - } | ||
| 33 | try { | 67 | try { |
| 34 | *hardwareNpuArch = std::stoi(result); | 68 | *hardwareNpuArch = std::stoi(result); |
| 35 | } catch (...) { | 69 | } catch (...) { |
| @@ -41,4 +75,4 @@ rtError_t GetNpuArchByName(const char_t* const socName, int32_t* hardwareNpuArch | |||
| 41 | } | 75 | } |
| 42 | 76 | ||
| 43 | } | 77 | } |
| 44 | -} | 78 | +} |
| @@ -10,7 +10,6 @@ | |||
| 10 | 10 | ||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | - | ||
| 14 | 13 | ||
| 15 | 14 | ||
| 16 | 15 | ||
| @@ -18,7 +17,7 @@ | |||
| 18 | 17 | ||
| 19 | namespace cce { | 18 | namespace cce { |
| 20 | namespace runtime { | 19 | namespace runtime { |
| 21 | -rtError_t GetSocInfoFromRuntimeByName(const char_t * const socName, rtSocInfo_t& info); | 20 | +rtError_t GetChipTypeFromPlatform(const char_t* const socName, rtChipType_t& chipType); |
| 22 | rtError_t GetNpuArchByName(const char_t* const socName, int32_t* hardwareNpuArch); | 21 | rtError_t GetNpuArchByName(const char_t* const socName, int32_t* hardwareNpuArch); |
| 23 | } | 22 | } |
| 24 | } | 23 | } |
| @@ -9,6 +9,7 @@ | |||
| 9 | */ | 9 | */ |
| 10 | 10 | ||
| 11 | 11 | ||
| 12 | + | ||
| 12 | 13 | ||
| 13 | 14 | ||
| 14 | 15 | ||
| @@ -34,9 +35,6 @@ constexpr StreamFieldConfig kStreamFieldConfigs[] = { | |||
| 34 | {"huge_stream_depth", &RtIniAttributes::hugeStreamDepth}, | 35 | {"huge_stream_depth", &RtIniAttributes::hugeStreamDepth}, |
| 35 | }; | 36 | }; |
| 36 | 37 | ||
| 37 | -constexpr const char *SOC_INFO_SECTION = "SoCInfo"; | ||
| 38 | -constexpr const char *VERSION_SECTION = "version"; | ||
| 39 | -constexpr const char *NPU_ARCH_FIELD = "NpuArch"; | ||
| 40 | } // namespace | 38 | } // namespace |
| 41 | 39 | ||
| 42 | static int32_t ReadIniUint32( | 40 | static int32_t ReadIniUint32( |
| @@ -89,7 +87,7 @@ static void GetStreamSpecFromIniFile(const std::string& socVersion, RtIniAttribu | |||
| 89 | { | 87 | { |
| 90 | for (const auto& fieldConfig : kStreamFieldConfigs) { | 88 | for (const auto& fieldConfig : kStreamFieldConfigs) { |
| 91 | uint32_t value = 0U; | 89 | uint32_t value = 0U; |
| 92 | - const int32_t ret = ReadIniUint32(socVersion, SOC_INFO_SECTION, fieldConfig.fieldName, value); | 90 | + const int32_t ret = ReadIniUint32(socVersion, platform_config::kSocInfoSection, fieldConfig.fieldName, value); |
| 93 | if (ret == RT_ERROR_NOT_FOUND) { | 91 | if (ret == RT_ERROR_NOT_FOUND) { |
| 94 | continue; | 92 | continue; |
| 95 | } | 93 | } |
| @@ -112,11 +110,12 @@ static void GetStreamSpecFromIniFile(const std::string& socVersion, RtIniAttribu | |||
| 112 | static void GetArchInfoFromIniFile(const std::string& socVersion, RtIniAttributes& iniAttrs) | 110 | static void GetArchInfoFromIniFile(const std::string& socVersion, RtIniAttributes& iniAttrs) |
| 113 | { | 111 | { |
| 114 | int64_t npuArch = 0; | 112 | int64_t npuArch = 0; |
| 115 | - const int32_t ret = ReadIniInt64(socVersion, VERSION_SECTION, NPU_ARCH_FIELD, npuArch); | 113 | + const int32_t ret = ReadIniInt64(socVersion, platform_config::kVersionSection, platform_config::kNpuArchField, |
| 114 | + npuArch); | ||
| 116 | if (ret == RT_ERROR_NOT_FOUND) { | 115 | if (ret == RT_ERROR_NOT_FOUND) { |
| 117 | RT_LOG(RT_LOG_WARNING, | 116 | RT_LOG(RT_LOG_WARNING, |
| 118 | "GetSocSpec not found for socVersion[%s], section[%s], field[%s], keep default npuArch.", | 117 | "GetSocSpec not found for socVersion[%s], section[%s], field[%s], keep default npuArch.", |
| 119 | - socVersion.c_str(), VERSION_SECTION, NPU_ARCH_FIELD); | 118 | + socVersion.c_str(), platform_config::kVersionSection, platform_config::kNpuArchField); |
| 120 | return; | 119 | return; |
| 121 | } | 120 | } |
| 122 | if (ret != RT_ERROR_NONE) { | 121 | if (ret != RT_ERROR_NONE) { |
| @@ -46,6 +46,17 @@ Runtime *Runtime::runtime_ = nullptr; | |||
| 46 | static bool g_isRuntimeKeeperExiting = false; | 46 | static bool g_isRuntimeKeeperExiting = false; |
| 47 | static RuntimeKeeper g_runtimeKeeper; | 47 | static RuntimeKeeper g_runtimeKeeper; |
| 48 | 48 | ||
| 49 | +/** | ||
| 50 | + * 获取设备硬件版本信息 | ||
| 51 | + * | ||
| 52 | + * 在无 NPU 卡的服务器上: | ||
| 53 | + * - 不安装驱动包,hal 等驱动接口在 devlib 中提供(打桩处理) | ||
| 54 | + * - 直接返回 0(成功),但硬件版本为无效值 | ||
| 55 | + * - 所有出参一定要有默认无效值 | ||
| 56 | + * | ||
| 57 | + * @param hwVersion 硬件版本输出参数(必须初始化为无效值) | ||
| 58 | + * @return rtError_t 错误码 | ||
| 59 | + */ | ||
| 49 | rtError_t GetDeviceType(int64_t *hwVersion) | 60 | rtError_t GetDeviceType(int64_t *hwVersion) |
| 50 | { | 61 | { |
| 51 | int64_t hardwareVersion = RTS_INVALID_HARDWARE_VERSION; | 62 | int64_t hardwareVersion = RTS_INVALID_HARDWARE_VERSION; |
| @@ -623,9 +623,9 @@ rtError_t Runtime::GetSocVersionByHardwareVer(int64_t hardwareVersion, int64_t a | |||
| 623 | { | 623 | { |
| 624 | const rtVersion_t ver = static_cast<rtVersion_t>(PLAT_GET_VER(static_cast<uint64_t>(hardwareVersion))); | 624 | const rtVersion_t ver = static_cast<rtVersion_t>(PLAT_GET_VER(static_cast<uint64_t>(hardwareVersion))); |
| 625 | switch (chipType_) { | 625 | switch (chipType_) { |
| 626 | - case CHIP_910_B_93: | 626 | + case CHIP_910_B_93: |
| 627 | - InitSocTypeFrom910BVersion(hardwareVersion); | 627 | + InitSocTypeFrom910BVersion(hardwareVersion); |
| 628 | - break; | 628 | + break; |
| 629 | case CHIP_MINI_V3: | 629 | case CHIP_MINI_V3: |
| 630 | InitSocTypeFrom310BVersion(hardwareVersion); | 630 | InitSocTypeFrom310BVersion(hardwareVersion); |
| 631 | break; | 631 | break; |
| @@ -647,21 +647,12 @@ rtError_t Runtime::GetSocVersionByHardwareVer(int64_t hardwareVersion, int64_t a | |||
| 647 | case CHIP_610LITE: | 647 | case CHIP_610LITE: |
| 648 | socVersion_ = "Ascend610Lite"; | 648 | socVersion_ = "Ascend610Lite"; |
| 649 | break; | 649 | break; |
| 650 | - case CHIP_MC62CM12A: | ||
| 651 | - socVersion_ = "MC62CM12AA"; | ||
| 652 | - break; | ||
| 653 | - case CHIP_MC32DM11A: | ||
| 654 | - socVersion_ = "MC32DM11AA"; | ||
| 655 | - break; | ||
| 656 | case CHIP_X90: | 650 | case CHIP_X90: |
| 657 | socVersion_ = "KirinX90"; | 651 | socVersion_ = "KirinX90"; |
| 658 | break; | 652 | break; |
| 659 | case CHIP_9030: | 653 | case CHIP_9030: |
| 660 | socVersion_ = "Kirin9030"; | 654 | socVersion_ = "Kirin9030"; |
| 661 | break; | 655 | break; |
| 662 | - case CHIP_MINI: | ||
| 663 | - socVersion_ = "Ascend310"; | ||
| 664 | - break; | ||
| 665 | default: | 656 | default: |
| 666 | socVersion_ = ""; | 657 | socVersion_ = ""; |
| 667 | break; | 658 | break; |
| @@ -680,16 +671,17 @@ rtError_t Runtime::InitSocVersionAndChipType(const uint32_t deviceId) | |||
| 680 | return RT_GET_DRV_ERRCODE(drvRet); | 671 | return RT_GET_DRV_ERRCODE(drvRet); |
| 681 | } | 672 | } |
| 682 | 673 | ||
| 683 | - if (drvRet == DRV_ERROR_NONE) { | 674 | + if ((drvRet == DRV_ERROR_NONE) && (socVersion[0] != '\0')) { |
| 684 | - rtSocInfo_t info = {CHIP_END, nullptr}; | 675 | + rtChipType_t chipType = CHIP_END; |
| 685 | - const rtError_t ret = DevInfoManage::Instance().GetDevInfo(socVersion, info); | 676 | + const rtError_t ret = GetChipTypeFromPlatform(socVersion, chipType); |
| 686 | - if (ret == RT_ERROR_NONE) { | 677 | + if (ret != RT_ERROR_NONE) { |
| 687 | - chipType_ = info.chipType; | 678 | + RT_LOG(RT_LOG_ERROR, "Get chipType by socVersion=%s from platform failed.", socVersion); |
| 688 | - socVersion_ = socVersion; | 679 | + return ret; |
| 689 | - RT_LOG(RT_LOG_INFO, "socVersion=%s, chipType=%d", socVersion_.c_str(), chipType_); | ||
| 690 | - return RT_ERROR_NONE; | ||
| 691 | } | 680 | } |
| 692 | - RT_LOG(RT_LOG_INFO, "not find socVersion=%s in DEV_INFO", socVersion); | 681 | + chipType_ = chipType; |
| 682 | + socVersion_ = socVersion; | ||
| 683 | + RT_LOG(RT_LOG_INFO, "socVersion=%s, chipType=%d", socVersion_.c_str(), chipType_); | ||
| 684 | + return RT_ERROR_NONE; | ||
| 693 | } | 685 | } |
| 694 | } | 686 | } |
| 695 | RT_LOG(RT_LOG_INFO, "drv_ret=%d", drvRet); | 687 | RT_LOG(RT_LOG_INFO, "drv_ret=%d", drvRet); |
| @@ -1258,8 +1258,7 @@ void TaskFuncReg(void) | |||
| 1258 | static const std::vector<rtChipType_t> chipTypes = { | 1258 | static const std::vector<rtChipType_t> chipTypes = { |
| 1259 | CHIP_MINI, CHIP_CLOUD, CHIP_ADC, CHIP_LHISI, CHIP_DC, CHIP_910_B_93, | 1259 | CHIP_MINI, CHIP_CLOUD, CHIP_ADC, CHIP_LHISI, CHIP_DC, CHIP_910_B_93, |
| 1260 | CHIP_NO_DEVICE, CHIP_MINI_V3, CHIP_ASCEND_031, CHIP_NANO, CHIP_RESERVED, | 1260 | CHIP_NO_DEVICE, CHIP_MINI_V3, CHIP_ASCEND_031, CHIP_NANO, CHIP_RESERVED, |
| 1261 | - CHIP_AS31XM1, CHIP_610LITE, CHIP_CLOUD_V3, CHIP_BS9SX1A, | 1261 | + CHIP_AS31XM1, CHIP_610LITE, CHIP_CLOUD_V3, CHIP_BS9SX1A, CHIP_XPU |
| 1262 | - CHIP_X90, CHIP_9030, CHIP_XPU | ||
| 1263 | }; | 1262 | }; |
| 1264 | 1263 | ||
| 1265 | RegTaskToCommandFunc(chipTypes); | 1264 | RegTaskToCommandFunc(chipTypes); |
| @@ -11,6 +11,9 @@ | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + | ||
| 14 | bool g_init_platform_info_flag = true; | 17 | bool g_init_platform_info_flag = true; |
| 15 | bool g_get_platform_info_flag = true; | 18 | bool g_get_platform_info_flag = true; |
| 16 | 19 | ||
| @@ -126,72 +129,187 @@ PlatformManagerV2 &PlatformManagerV2::Instance() { | |||
| 126 | return platform_info; | 129 | return platform_info; |
| 127 | } | 130 | } |
| 128 | 131 | ||
| 129 | -int32_t stubPlatformManagerV2GetSocSpec( | 132 | +namespace { |
| 130 | - const std::string& soc_version, const std::string& label, const std::string& key, std::string& value) | 133 | +using cce::runtime::RT_ERROR_INVALID_VALUE; |
| 134 | +using cce::runtime::RT_ERROR_NOT_FOUND; | ||
| 135 | + | ||
| 136 | +using StubFieldMap = std::map<std::string, std::string>; | ||
| 137 | + | ||
| 138 | +struct StubVersionInfo { | ||
| 139 | + const char* chipType; | ||
| 140 | + const char* npuArch; | ||
| 141 | +}; | ||
| 142 | + | ||
| 143 | +const std::map<std::string, StubVersionInfo> kVersionInfoMap = { | ||
| 144 | + {"Ascend910A", {"1", "1001"}}, {"Ascend910", {"1", "1001"}}, {"Ascend910B", {"1", "1001"}}, | ||
| 145 | + {"Ascend910B1", {"5", "2201"}}, {"Ascend910B2", {"5", "2201"}}, {"Ascend310B1", {"7", "3002"}}, | ||
| 146 | + {"Ascend310P", {"4", "2002"}}, {"Ascend310P1", {"4", "2002"}}, {"Ascend310P3", {"4", "2002"}}, | ||
| 147 | + {"Ascend310P5", {"4", "2002"}}, {"Ascend610", {"2", "2001"}}, {"BS9SX1AA", {"2", "2001"}}, | ||
| 148 | + {"BS9SX1AB", {"2", "2001"}}, {"BS9SX1AC", {"2", "2001"}}, {"AS31XM1X", {"11", "3001"}}, | ||
| 149 | + {"Ascend610Lite", {"12", "3101"}}, {"MC62CM12AA", {"17", "3511"}}, {"MC32DM11AA", {"18", "3512"}}, | ||
| 150 | + {"Ascend950PR_9599", {"15", "3510"}}, {"KirinX90", {"200", "3003"}}, {"Kirin9030", {"201", "3006"}}, | ||
| 151 | +}; | ||
| 152 | + | ||
| 153 | +const std::map<std::string, StubFieldMap> kSocInfoMap = { | ||
| 154 | + {"Ascend610Lite", | ||
| 155 | + {{"normal_stream_num", "512"}, | ||
| 156 | + {"normal_stream_depth", "2048"}, | ||
| 157 | + {"huge_stream_num", "0"}, | ||
| 158 | + {"huge_stream_depth", "0"}, | ||
| 159 | + {"ai_core_cnt", "8"}, | ||
| 160 | + {"vector_core_cnt", "8"}, | ||
| 161 | + {"ai_cpu_cnt", "4"}}}, | ||
| 162 | + {"BS9SX1AA", | ||
| 163 | + {{"normal_stream_num", "512"}, | ||
| 164 | + {"normal_stream_depth", "2048"}, | ||
| 165 | + {"huge_stream_num", "0"}, | ||
| 166 | + {"huge_stream_depth", "0"}, | ||
| 167 | + {"ai_core_cnt", "8"}, | ||
| 168 | + {"vector_core_cnt", "0"}, | ||
| 169 | + {"ai_cpu_cnt", "4"}}}, | ||
| 170 | + {"BS9SX1AB", | ||
| 171 | + {{"normal_stream_num", "512"}, | ||
| 172 | + {"normal_stream_depth", "2048"}, | ||
| 173 | + {"huge_stream_num", "0"}, | ||
| 174 | + {"huge_stream_depth", "0"}, | ||
| 175 | + {"ai_core_cnt", "8"}, | ||
| 176 | + {"vector_core_cnt", "0"}, | ||
| 177 | + {"ai_cpu_cnt", "4"}}}, | ||
| 178 | + {"BS9SX1AC", | ||
| 179 | + {{"normal_stream_num", "512"}, | ||
| 180 | + {"normal_stream_depth", "2048"}, | ||
| 181 | + {"huge_stream_num", "0"}, | ||
| 182 | + {"huge_stream_depth", "0"}, | ||
| 183 | + {"ai_core_cnt", "8"}, | ||
| 184 | + {"vector_core_cnt", "0"}, | ||
| 185 | + {"ai_cpu_cnt", "4"}}}, | ||
| 186 | + {"AS31XM1X", | ||
| 187 | + {{"normal_stream_num", "1024"}, | ||
| 188 | + {"normal_stream_depth", "2048"}, | ||
| 189 | + {"huge_stream_num", "0"}, | ||
| 190 | + {"huge_stream_depth", "0"}, | ||
| 191 | + {"ai_core_cnt", "32"}, | ||
| 192 | + {"vector_core_cnt", "0"}, | ||
| 193 | + {"ai_cpu_cnt", "8"}}}, | ||
| 194 | + {"MC62CM12AA", | ||
| 195 | + {{"normal_stream_num", "65535"}, | ||
| 196 | + {"normal_stream_depth", "4089"}, | ||
| 197 | + {"huge_stream_num", "0"}, | ||
| 198 | + {"huge_stream_depth", "0"}, | ||
| 199 | + {"ai_core_cnt", "25"}, | ||
| 200 | + {"vector_core_cnt", "50"}, | ||
| 201 | + {"ai_cpu_cnt", "8"}}}, | ||
| 202 | + {"MC32DM11AA", | ||
| 203 | + {{"normal_stream_num", "65535"}, | ||
| 204 | + {"normal_stream_depth", "4089"}, | ||
| 205 | + {"huge_stream_num", "0"}, | ||
| 206 | + {"huge_stream_depth", "0"}, | ||
| 207 | + {"ai_core_cnt", "25"}, | ||
| 208 | + {"vector_core_cnt", "50"}, | ||
| 209 | + {"ai_cpu_cnt", "8"}}}, | ||
| 210 | + {"Ascend950PR_9599", | ||
| 211 | + {{"normal_stream_num", "65535"}, | ||
| 212 | + {"normal_stream_depth", "2049"}, | ||
| 213 | + {"huge_stream_num", "0"}, | ||
| 214 | + {"huge_stream_depth", "0"}, | ||
| 215 | + {"ai_core_cnt", "36"}, | ||
| 216 | + {"vector_core_cnt", "72"}, | ||
| 217 | + {"ai_cpu_cnt", "8"}}}, | ||
| 218 | + {"LLT_ParseIniFile_Success", | ||
| 219 | + {{"normal_stream_num", "64"}, | ||
| 220 | + {"normal_stream_depth", "8192"}, | ||
| 221 | + {"huge_stream_num", "16"}, | ||
| 222 | + {"huge_stream_depth", "4096"}}}, | ||
| 223 | +}; | ||
| 224 | + | ||
| 225 | +int32_t GetVersionSocSpec(const std::string& socVersion, const std::string& key, std::string& value) | ||
| 131 | { | 226 | { |
| 132 | - if (soc_version == "LLT_ParseIniFile_Success" && label == "SoCInfo") { | 227 | + if ((socVersion == "ChipTypeMissing") && (key == "Chip_type")) { |
| 133 | - if (key == "normal_stream_num") { | 228 | + return RT_ERROR_NOT_FOUND; |
| 134 | - value = "64"; | 229 | + } |
| 135 | - } else if (key == "normal_stream_depth") { | 230 | + if ((socVersion == "ChipTypeInvalid") && (key == "Chip_type")) { |
| 136 | - value = "8192"; | 231 | + value = "invalid"; |
| 137 | - } else if (key == "huge_stream_num") { | ||
| 138 | - value = "16"; | ||
| 139 | - } else if (key == "huge_stream_depth") { | ||
| 140 | - value = "4096"; | ||
| 141 | - } | ||
| 142 | return RT_ERROR_NONE; | 232 | return RT_ERROR_NONE; |
| 143 | - } else if (soc_version == "LLT_ParseIniFile_Mixed" && label == "SoCInfo") { | 233 | + } |
| 234 | + if ((socVersion == "ChipTypeOutOfRange") && (key == "Chip_type")) { | ||
| 235 | + value = "99"; | ||
| 236 | + return RT_ERROR_NONE; | ||
| 237 | + } | ||
| 238 | + if ((socVersion == "ChipTypeQueryError") && (key == "Chip_type")) { | ||
| 239 | + return RT_ERROR_INVALID_VALUE; | ||
| 240 | + } | ||
| 241 | + | ||
| 242 | + const auto versionIter = kVersionInfoMap.find(socVersion); | ||
| 243 | + if (versionIter == kVersionInfoMap.end()) { | ||
| 244 | + return RT_ERROR_NOT_FOUND; | ||
| 245 | + } | ||
| 246 | + | ||
| 247 | + if (key == "Chip_type") { | ||
| 248 | + value = versionIter->second.chipType; | ||
| 249 | + return RT_ERROR_NONE; | ||
| 250 | + } | ||
| 251 | + if (key == "NpuArch") { | ||
| 252 | + value = versionIter->second.npuArch; | ||
| 253 | + return RT_ERROR_NONE; | ||
| 254 | + } | ||
| 255 | + return RT_ERROR_NOT_FOUND; | ||
| 256 | +} | ||
| 257 | + | ||
| 258 | +int32_t GetSoCInfoSocSpec(const std::string& socVersion, const std::string& key, std::string& value) | ||
| 259 | +{ | ||
| 260 | + if (socVersion == "LLT_ParseIniFile_Mixed") { | ||
| 144 | if (key == "normal_stream_num") { | 261 | if (key == "normal_stream_num") { |
| 145 | - return cce::runtime::RT_ERROR_NOT_FOUND; | 262 | + return RT_ERROR_NOT_FOUND; |
| 146 | } | 263 | } |
| 147 | if (key == "normal_stream_depth") { | 264 | if (key == "normal_stream_depth") { |
| 148 | value = "invalid"; | 265 | value = "invalid"; |
| 149 | - return 0U; | 266 | + return RT_ERROR_NONE; |
| 150 | } | 267 | } |
| 151 | if (key == "huge_stream_num") { | 268 | if (key == "huge_stream_num") { |
| 152 | value = "4294967296"; | 269 | value = "4294967296"; |
| 153 | - return 0U; | 270 | + return RT_ERROR_NONE; |
| 154 | } | 271 | } |
| 155 | if (key == "huge_stream_depth") { | 272 | if (key == "huge_stream_depth") { |
| 156 | value = "256"; | 273 | value = "256"; |
| 157 | - return 0U; | 274 | + return RT_ERROR_NONE; |
| 158 | } | 275 | } |
| 159 | - } else if (soc_version == "LLT_ParseIniFile_QueryError" && label == "SoCInfo") { | 276 | + } |
| 277 | + if (socVersion == "LLT_ParseIniFile_QueryError") { | ||
| 160 | if (key == "normal_stream_num") { | 278 | if (key == "normal_stream_num") { |
| 161 | - return cce::runtime::RT_ERROR_INVALID_VALUE; | 279 | + return RT_ERROR_INVALID_VALUE; |
| 162 | } | 280 | } |
| 163 | value = "1024"; | 281 | value = "1024"; |
| 164 | - return 0U; | 282 | + return RT_ERROR_NONE; |
| 165 | - } else if (label == "SoCInfo") { | ||
| 166 | - return cce::runtime::RT_ERROR_NOT_FOUND; | ||
| 167 | - } else { | ||
| 168 | - value = "test"; | ||
| 169 | - return 0U; | ||
| 170 | } | 283 | } |
| 284 | + | ||
| 285 | + const auto socInfoIter = kSocInfoMap.find(socVersion); | ||
| 286 | + if (socInfoIter == kSocInfoMap.end()) { | ||
| 287 | + return RT_ERROR_NOT_FOUND; | ||
| 288 | + } | ||
| 289 | + | ||
| 290 | + const auto fieldIter = socInfoIter->second.find(key); | ||
| 291 | + if (fieldIter == socInfoIter->second.end()) { | ||
| 292 | + return RT_ERROR_NOT_FOUND; | ||
| 293 | + } | ||
| 294 | + value = fieldIter->second; | ||
| 295 | + return RT_ERROR_NONE; | ||
| 296 | +} | ||
| 297 | +} // namespace | ||
| 298 | + | ||
| 299 | +int32_t stubPlatformManagerV2GetSocSpec( | ||
| 300 | + const std::string& soc_version, const std::string& label, const std::string& key, std::string& value) | ||
| 301 | +{ | ||
| 302 | + if (label == "version") { | ||
| 303 | + return GetVersionSocSpec(soc_version, key, value); | ||
| 304 | + } | ||
| 305 | + if (label == "SoCInfo") { | ||
| 306 | + return GetSoCInfoSocSpec(soc_version, key, value); | ||
| 307 | + } | ||
| 308 | + return cce::runtime::RT_ERROR_NOT_FOUND; | ||
| 171 | } | 309 | } |
| 172 | 310 | ||
| 173 | int32_t PlatformManagerV2::GetSocSpec( | 311 | int32_t PlatformManagerV2::GetSocSpec( |
| 174 | const std::string& soc_version, const std::string& label, const std::string& key, std::string& value) | 312 | const std::string& soc_version, const std::string& label, const std::string& key, std::string& value) |
| 175 | { | 313 | { |
| 176 | - if (soc_version == "Ascend910B1" && label == "version" && key == "NpuArch") { | ||
| 177 | - value = "2201"; | ||
| 178 | - return 0U; | ||
| 179 | - } else if (soc_version == "Ascend950PR_9599" && label == "version" && key == "NpuArch") { | ||
| 180 | - value = "3510"; | ||
| 181 | - return 0U; | ||
| 182 | - } else if (soc_version == "Ascend310P5" && label == "version" && key == "NpuArch") { | ||
| 183 | - value = "2002"; | ||
| 184 | - return 0U; | ||
| 185 | - } else if (soc_version == "Ascend910A" && label == "version" && key == "NpuArch") { | ||
| 186 | - value = "1001"; | ||
| 187 | - return 0U; | ||
| 188 | - } else if (soc_version == "Ascend950PR_9599" && label == "SoCInfo" && key == "ai_core_cnt") { | ||
| 189 | - value = "36"; | ||
| 190 | - return 0U; | ||
| 191 | - } else if (soc_version == "Ascend950PR_9599" && label == "SoCInfo" && key == "ai_cpu_cnt") { | ||
| 192 | - value = "8"; | ||
| 193 | - return 0U; | ||
| 194 | - } else { | ||
| 195 | return stubPlatformManagerV2GetSocSpec(soc_version, label, key, value); | 314 | return stubPlatformManagerV2GetSocSpec(soc_version, label, key, value); |
| 196 | - } | 315 | +} |
| 197 | -} | ||
| @@ -12,6 +12,7 @@ | |||
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | 14 | ||
| 15 | + | ||
| 15 | 16 | ||
| 16 | using namespace testing; | 17 | using namespace testing; |
| 17 | using namespace cce::runtime; | 18 | using namespace cce::runtime; |
| @@ -46,24 +47,14 @@ TEST_F(DevInfoManageTest, DevInfoManageDestroy) | |||
| 46 | EXPECT_EQ(ret, false); | 47 | EXPECT_EQ(ret, false); |
| 47 | ret = info.IsSupportChipFeature(CHIP_910_B_93, RtOptionalFeatureType::RT_FEATURE_DEVICE_SPM_POOL); | 48 | ret = info.IsSupportChipFeature(CHIP_910_B_93, RtOptionalFeatureType::RT_FEATURE_DEVICE_SPM_POOL); |
| 48 | EXPECT_EQ(ret, false); | 49 | EXPECT_EQ(ret, false); |
| 49 | - rtSocInfo_t soc; | ||
| 50 | - ret = info.RegisterSocInfo(soc); | ||
| 51 | - EXPECT_EQ(ret, false); | ||
| 52 | - rtSocInfo_t soc2[2]; | ||
| 53 | - ret = info.BatchRegSocInfo(soc2, 2); | ||
| 54 | - EXPECT_EQ(ret, false); | ||
| 55 | - rtError_t error = info.GetSocInfo(nullptr, soc); | ||
| 56 | - EXPECT_EQ(error, RT_ERROR_INVALID_VALUE); | ||
| 57 | std::array<bool, FEATURE_MAX_VALUE> tmp{false}; | 50 | std::array<bool, FEATURE_MAX_VALUE> tmp{false}; |
| 58 | - error = info.GetChipFeatureSet(CHIP_910_B_93, tmp); | 51 | + rtError_t error = info.GetChipFeatureSet(CHIP_910_B_93, tmp); |
| 59 | EXPECT_EQ(error, RT_ERROR_INVALID_VALUE); | 52 | EXPECT_EQ(error, RT_ERROR_INVALID_VALUE); |
| 60 | ret = info.RegPlatformSoNameInfo(CHIP_910_B_93, "lib"); | 53 | ret = info.RegPlatformSoNameInfo(CHIP_910_B_93, "lib"); |
| 61 | EXPECT_EQ(ret, false); | 54 | EXPECT_EQ(ret, false); |
| 62 | std::string str; | 55 | std::string str; |
| 63 | error = info.GetPlatformSoName(CHIP_910_B_93, str); | 56 | error = info.GetPlatformSoName(CHIP_910_B_93, str); |
| 64 | EXPECT_EQ(error, RT_ERROR_INVALID_VALUE); | 57 | EXPECT_EQ(error, RT_ERROR_INVALID_VALUE); |
| 65 | - error = info.GetSocInfo(0, soc); | ||
| 66 | - EXPECT_EQ(error, RT_ERROR_INVALID_VALUE); | ||
| 67 | } | 58 | } |
| 68 | 59 | ||
| 69 | TEST_F(DevInfoManageTest, DevInfoManagePlatform) | 60 | TEST_F(DevInfoManageTest, DevInfoManagePlatform) |
| @@ -78,36 +69,28 @@ TEST_F(DevInfoManageTest, DevInfoManagePlatform) | |||
| 78 | EXPECT_EQ(soName, std::string("libruntime.so")); | 69 | EXPECT_EQ(soName, std::string("libruntime.so")); |
| 79 | } | 70 | } |
| 80 | 71 | ||
| 81 | -TEST_F(DevInfoManageTest, DevInfoManageDevInfo) | 72 | +TEST_F(DevInfoManageTest, GetChipTypeFromPlatform) |
| 82 | { | 73 | { |
| 83 | - DevInfoManage info; | 74 | + rtChipType_t chipType = CHIP_END; |
| 84 | - rtSocInfo_t i = {CHIP_910_B_93, "Ascend910_9362"}; | 75 | + rtError_t result = GetChipTypeFromPlatform("Ascend910A", chipType); |
| 85 | - bool ret = info.RegisterDevInfo(i); | ||
| 86 | - EXPECT_EQ(ret, true); | ||
| 87 | - std::string soName; | ||
| 88 | - rtSocInfo_t out; | ||
| 89 | - rtError_t result = info.GetDevInfo("Ascend910_9362", out); | ||
| 90 | EXPECT_EQ(result, RT_ERROR_NONE); | 76 | EXPECT_EQ(result, RT_ERROR_NONE); |
| 91 | - EXPECT_EQ(out.chipType, CHIP_910_B_93); | 77 | + EXPECT_EQ(chipType, CHIP_CLOUD); |
| 92 | -} | ||
| 93 | 78 | ||
| 94 | -TEST_F(DevInfoManageTest, DevInfoManageSocInfo) | 79 | + result = GetChipTypeFromPlatform("Ascend610Lite", chipType); |
| 95 | -{ | ||
| 96 | - DevInfoManage info; | ||
| 97 | - rtSocInfo_t s = {CHIP_910_B_93, "Ascend910B1"}; | ||
| 98 | - bool ret = info.RegisterSocInfo(s); | ||
| 99 | - EXPECT_EQ(ret, true); | ||
| 100 | - rtSocInfo_t out; | ||
| 101 | - rtError_t result = info.GetSocInfo("Ascend910B1", out); | ||
| 102 | EXPECT_EQ(result, RT_ERROR_NONE); | 80 | EXPECT_EQ(result, RT_ERROR_NONE); |
| 103 | - EXPECT_EQ(out.chipType, CHIP_910_B_93); | 81 | + EXPECT_EQ(chipType, CHIP_610LITE); |
| 104 | -} | ||
| 105 | 82 | ||
| 106 | -TEST_F(DevInfoManageTest, GetSocInfo) | 83 | + result = GetChipTypeFromPlatform("BS9SX1AA", chipType); |
| 107 | -{ | ||
| 108 | - rtSocInfo_t s = {CHIP_910_B_93, "Ascend910_9391"}; | ||
| 109 | - rtError_t result = GetSocInfoFromRuntimeByName("Ascend910_9372", s); | ||
| 110 | EXPECT_EQ(result, RT_ERROR_NONE); | 84 | EXPECT_EQ(result, RT_ERROR_NONE); |
| 85 | + EXPECT_EQ(chipType, CHIP_ADC); | ||
| 86 | + | ||
| 87 | + result = GetChipTypeFromPlatform("KirinX90", chipType); | ||
| 88 | + EXPECT_EQ(result, RT_ERROR_NONE); | ||
| 89 | + EXPECT_EQ(chipType, CHIP_X90); | ||
| 90 | + | ||
| 91 | + result = GetChipTypeFromPlatform("Kirin9030", chipType); | ||
| 92 | + EXPECT_EQ(result, RT_ERROR_NONE); | ||
| 93 | + EXPECT_EQ(chipType, CHIP_9030); | ||
| 111 | } | 94 | } |
| 112 | 95 | ||
| 113 | TEST_F(DevInfoManageTest, GetNpuArchByName) | 96 | TEST_F(DevInfoManageTest, GetNpuArchByName) |
| @@ -123,109 +106,44 @@ TEST_F(DevInfoManageTest, GetNpuArchByName) | |||
| 123 | EXPECT_EQ(result, RT_ERROR_INVALID_VALUE); | 106 | EXPECT_EQ(result, RT_ERROR_INVALID_VALUE); |
| 124 | } | 107 | } |
| 125 | 108 | ||
| 126 | -void test_soc_info_by_soc_name(const char_t *const socName) | 109 | +TEST_F(DevInfoManageTest, GetPlatformInfoWithNullInput) |
| 127 | { | 110 | { |
| 128 | - rtSocInfo_t socInfo = {CHIP_END, nullptr}; | 111 | + rtChipType_t chipType = CHIP_END; |
| 129 | - rtError_t result = RT_ERROR_NONE; | 112 | + int32_t hardwareNpuArch = 0; |
| 130 | - | 113 | + EXPECT_EQ(GetChipTypeFromPlatform(nullptr, chipType), RT_ERROR_INVALID_VALUE); |
| 131 | - // get soc info by name | 114 | + EXPECT_EQ(GetNpuArchByName(nullptr, &hardwareNpuArch), RT_ERROR_INVALID_VALUE); |
| 132 | - result = DevInfoManage::Instance().GetSocInfo(socName, socInfo); | 115 | + EXPECT_EQ(GetNpuArchByName("Ascend910B1", nullptr), RT_ERROR_INVALID_VALUE); |
| 133 | - | ||
| 134 | - EXPECT_EQ(result, RT_ERROR_NONE); | ||
| 135 | - EXPECT_EQ(socInfo.chipType, CHIP_DAVID); | ||
| 136 | - EXPECT_EQ(strcmp(socInfo.socName, socName), 0); | ||
| 137 | } | 116 | } |
| 138 | - | ||
| 139 | -TEST_F(DevInfoManageTest, GetSocInfo_David_V120_test) | ||
| 140 | -{ | ||
| 141 | - const char_t *const socName_957c = "Ascend950PR_957c"; | ||
| 142 | - test_soc_info_by_soc_name(socName_957c); | ||
| 143 | - | ||
| 144 | - const char_t *const socName_95a1 = "Ascend950DT_95A1"; | ||
| 145 | - test_soc_info_by_soc_name(socName_95a1); | ||
| 146 | - | ||
| 147 | - const char_t *const socName_95a2 = "Ascend950DT_95A2"; | ||
| 148 | - test_soc_info_by_soc_name(socName_95a2); | ||
| 149 | - | ||
| 150 | - const char_t *const socName_9595 = "Ascend950DT_9595"; | ||
| 151 | - test_soc_info_by_soc_name(socName_9595); | ||
| 152 | 117 | ||
| 153 | - const char_t *const socName_9596 = "Ascend950DT_9596"; | 118 | +TEST_F(DevInfoManageTest, GetChipTypeFromPlatformInvalid) |
| 154 | - test_soc_info_by_soc_name(socName_9596); | ||
| 155 | - | ||
| 156 | - const char_t *const socName_9585 = "Ascend950DT_9585"; | ||
| 157 | - test_soc_info_by_soc_name(socName_9585); | ||
| 158 | - | ||
| 159 | - const char_t *const socName_9586 = "Ascend950DT_9586"; | ||
| 160 | - test_soc_info_by_soc_name(socName_9586); | ||
| 161 | - | ||
| 162 | - const char_t *const socName_9583 = "Ascend950DT_9583"; | ||
| 163 | - test_soc_info_by_soc_name(socName_9583); | ||
| 164 | - | ||
| 165 | - const char_t *const socName_9571 = "Ascend950DT_9571"; | ||
| 166 | - test_soc_info_by_soc_name(socName_9571); | ||
| 167 | - | ||
| 168 | - const char_t *const socName_9573 = "Ascend950DT_9573"; | ||
| 169 | - test_soc_info_by_soc_name(socName_9573); | ||
| 170 | -} | ||
| 171 | - | ||
| 172 | -void test_dev_info_by_soc_name(const char_t *const socName) | ||
| 173 | { | 119 | { |
| 174 | - rtSocInfo_t devInfo = {CHIP_END, nullptr}; | 120 | + rtChipType_t chipType = CHIP_END; |
| 175 | - | 121 | + rtError_t result = GetChipTypeFromPlatform("ChipTypeMissing", chipType); |
| 176 | - rtError_t result = DevInfoManage::Instance().GetDevInfo(socName, devInfo); | 122 | + EXPECT_EQ(result, RT_ERROR_INVALID_VALUE); |
| 177 | - | 123 | + |
| 178 | - EXPECT_EQ(result, RT_ERROR_NONE); | 124 | + result = GetChipTypeFromPlatform("ChipTypeInvalid", chipType); |
| 179 | - EXPECT_EQ(devInfo.chipType, CHIP_DAVID); | 125 | + EXPECT_EQ(result, RT_ERROR_INVALID_VALUE); |
| 180 | - EXPECT_EQ(strcmp(devInfo.socName, socName), 0); | 126 | + |
| 181 | -} | 127 | + result = GetChipTypeFromPlatform("ChipTypeOutOfRange", chipType); |
| 182 | - | 128 | + EXPECT_EQ(result, RT_ERROR_INVALID_VALUE); |
| 183 | -TEST_F(DevInfoManageTest, get_david_v120_dev_info_test) | 129 | + |
| 184 | -{ | 130 | + result = GetChipTypeFromPlatform("ChipTypeQueryError", chipType); |
| 185 | - const char_t *const socName_957c = "Ascend950PR_957c"; | 131 | + EXPECT_EQ(result, RT_ERROR_INVALID_VALUE); |
| 186 | - test_dev_info_by_soc_name(socName_957c); | ||
| 187 | - | ||
| 188 | - const char_t *const socName_95a1 = "Ascend950DT_95A1"; | ||
| 189 | - test_dev_info_by_soc_name(socName_95a1); | ||
| 190 | - | ||
| 191 | - const char_t *const socName_95a2 = "Ascend950DT_95A2"; | ||
| 192 | - test_dev_info_by_soc_name(socName_95a2); | ||
| 193 | - | ||
| 194 | - const char_t *const socName_9595 = "Ascend950DT_9595"; | ||
| 195 | - test_dev_info_by_soc_name(socName_9595); | ||
| 196 | - | ||
| 197 | - const char_t *const socName_9596 = "Ascend950DT_9596"; | ||
| 198 | - test_dev_info_by_soc_name(socName_9596); | ||
| 199 | - | ||
| 200 | - const char_t *const socName_9585 = "Ascend950DT_9585"; | ||
| 201 | - test_dev_info_by_soc_name(socName_9585); | ||
| 202 | - | ||
| 203 | - const char_t *const socName_9586 = "Ascend950DT_9586"; | ||
| 204 | - test_dev_info_by_soc_name(socName_9586); | ||
| 205 | - | ||
| 206 | - const char_t *const socName_9583 = "Ascend950DT_9583"; | ||
| 207 | - test_dev_info_by_soc_name(socName_9583); | ||
| 208 | - | ||
| 209 | - const char_t *const socName_9571 = "Ascend950DT_9571"; | ||
| 210 | - test_dev_info_by_soc_name(socName_9571); | ||
| 211 | - | ||
| 212 | - const char_t *const socName_9573 = "Ascend950DT_9573"; | ||
| 213 | - test_dev_info_by_soc_name(socName_9573); | ||
| 214 | } | 132 | } |
| 215 | 133 | ||
| 216 | TEST_F(DevInfoManageTest, DevInfoManageSocInfoKirinX90) | 134 | TEST_F(DevInfoManageTest, DevInfoManageSocInfoKirinX90) |
| 217 | { | 135 | { |
| 218 | DevInfoManage info; | 136 | DevInfoManage info; |
| 219 | - rtSocInfo_t out; | 137 | + std::string soName; |
| 220 | - rtError_t result = info.GetSocInfo("KirinX90", out); | 138 | + rtError_t result = info.GetPlatformSoName(CHIP_X90, soName); |
| 221 | EXPECT_NE(result, RT_ERROR_NONE); | 139 | EXPECT_NE(result, RT_ERROR_NONE); |
| 222 | } | 140 | } |
| 223 | 141 | ||
| 224 | TEST_F(DevInfoManageTest, DevInfoManageDevInfoKirinX90) | 142 | TEST_F(DevInfoManageTest, DevInfoManageDevInfoKirinX90) |
| 225 | { | 143 | { |
| 226 | DevInfoManage info; | 144 | DevInfoManage info; |
| 227 | - rtSocInfo_t out; | 145 | + DevProperties out; |
| 228 | - rtError_t result = info.GetDevInfo("KirinX90", out); | 146 | + rtError_t result = info.GetDevProperties(CHIP_X90, out); |
| 229 | EXPECT_NE(result, RT_ERROR_NONE); | 147 | EXPECT_NE(result, RT_ERROR_NONE); |
| 230 | } | 148 | } |
| 231 | 149 | ||
| @@ -247,16 +165,16 @@ TEST_F(DevInfoManageTest, DevInfoManageDevPropertiesKirinX90) | |||
| 247 | TEST_F(DevInfoManageTest, DevInfoManageSocInfoKirin9030) | 165 | TEST_F(DevInfoManageTest, DevInfoManageSocInfoKirin9030) |
| 248 | { | 166 | { |
| 249 | DevInfoManage info; | 167 | DevInfoManage info; |
| 250 | - rtSocInfo_t out; | 168 | + std::string soName; |
| 251 | - rtError_t result = info.GetSocInfo("Kirin9030", out); | 169 | + rtError_t result = info.GetPlatformSoName(CHIP_9030, soName); |
| 252 | EXPECT_NE(result, RT_ERROR_NONE); | 170 | EXPECT_NE(result, RT_ERROR_NONE); |
| 253 | } | 171 | } |
| 254 | 172 | ||
| 255 | TEST_F(DevInfoManageTest, DevInfoManageDevInfoKirin9030) | 173 | TEST_F(DevInfoManageTest, DevInfoManageDevInfoKirin9030) |
| 256 | { | 174 | { |
| 257 | DevInfoManage info; | 175 | DevInfoManage info; |
| 258 | - rtSocInfo_t out; | 176 | + DevProperties out; |
| 259 | - rtError_t result = info.GetDevInfo("Kirin9030", out); | 177 | + rtError_t result = info.GetDevProperties(CHIP_9030, out); |
| 260 | EXPECT_NE(result, RT_ERROR_NONE); | 178 | EXPECT_NE(result, RT_ERROR_NONE); |
| 261 | } | 179 | } |
| 262 | 180 | ||
| @@ -273,4 +191,52 @@ TEST_F(DevInfoManageTest, DevInfoManageDevPropertiesKirin9030) | |||
| 273 | DevProperties out; | 191 | DevProperties out; |
| 274 | rtError_t result = info.GetDevProperties(CHIP_9030, out); | 192 | rtError_t result = info.GetDevProperties(CHIP_9030, out); |
| 275 | EXPECT_NE(result, RT_ERROR_NONE); | 193 | EXPECT_NE(result, RT_ERROR_NONE); |
| 276 | -} | 194 | +} |
| 195 | + | ||
| 196 | +TEST_F(DevInfoManageTest, DevInfoManageChipFeatureAllFalseKirinX90) | ||
| 197 | +{ | ||
| 198 | + DevInfoManage info; | ||
| 199 | + std::array<bool, FEATURE_MAX_VALUE> features; | ||
| 200 | + rtError_t result = info.GetChipFeatureSet(CHIP_X90, features); | ||
| 201 | + EXPECT_EQ(result, RT_ERROR_NONE); | ||
| 202 | + | ||
| 203 | + for (uint32_t i = 0; i < FEATURE_MAX_VALUE; i++) { | ||
| 204 | + EXPECT_EQ(features[i], false) << "Feature[" << i << "] should be false for CHIP_X90"; | ||
| 205 | + } | ||
| 206 | +} | ||
| 207 | + | ||
| 208 | +TEST_F(DevInfoManageTest, DevInfoManageChipFeatureAllFalseKirin9030) | ||
| 209 | +{ | ||
| 210 | + DevInfoManage info; | ||
| 211 | + std::array<bool, FEATURE_MAX_VALUE> features; | ||
| 212 | + rtError_t result = info.GetChipFeatureSet(CHIP_9030, features); | ||
| 213 | + EXPECT_EQ(result, RT_ERROR_NONE); | ||
| 214 | + | ||
| 215 | + for (uint32_t i = 0; i < FEATURE_MAX_VALUE; i++) { | ||
| 216 | + EXPECT_EQ(features[i], false) << "Feature[" << i << "] should be false for CHIP_9030"; | ||
| 217 | + } | ||
| 218 | +} | ||
| 219 | + | ||
| 220 | +TEST_F(DevInfoManageTest, DevInfoManageChipFeatureExtSegmentOutOfRange) | ||
| 221 | +{ | ||
| 222 | + DevInfoManage info; | ||
| 223 | + constexpr rtChipType_t EXT_CHIP_OUT_OF_RANGE = static_cast<rtChipType_t>(CHIP_EXT_END + 5); | ||
| 224 | + | ||
| 225 | + std::array<bool, FEATURE_MAX_VALUE> features; | ||
| 226 | + rtError_t result = info.GetChipFeatureSet(EXT_CHIP_OUT_OF_RANGE, features); | ||
| 227 | + EXPECT_EQ(result, RT_ERROR_INVALID_VALUE) << "Ext chip out of range should return error"; | ||
| 228 | +} | ||
| 229 | + | ||
| 230 | +TEST_F(DevInfoManageTest, DevInfoManageRegChipFeatureExtSegmentOutOfRange) | ||
| 231 | +{ | ||
| 232 | + DevInfoManage info; | ||
| 233 | + constexpr rtChipType_t TEST_EXT_CHIP_OUT_OF_RANGE = static_cast<rtChipType_t>(CHIP_EXT_END + 1); | ||
| 234 | + | ||
| 235 | + std::unordered_set<RtOptionalFeatureType> featureSet = { | ||
| 236 | + RtOptionalFeatureType::RT_FEATURE_DEVICE_SPM_POOL, | ||
| 237 | + RtOptionalFeatureType::RT_FEATURE_DEVICE_P2P | ||
| 238 | + }; | ||
| 239 | + | ||
| 240 | + bool ret = info.RegChipFeatureSet(TEST_EXT_CHIP_OUT_OF_RANGE, featureSet); | ||
| 241 | + EXPECT_EQ(ret, false) << "Register ext chip out of range should fail"; | ||
| 242 | +} | ||
| @@ -42,6 +42,7 @@ | |||
| 42 | 42 | ||
| 43 | 43 | ||
| 44 | 44 | ||
| 45 | + | ||
| 45 | 46 | ||
| 46 | 47 | ||
| 47 | 48 | ||
| @@ -65,9 +66,19 @@ protected: | |||
| 65 | 66 | ||
| 66 | virtual void SetUp() | 67 | virtual void SetUp() |
| 67 | { | 68 | { |
| 68 | - GlobalContainer::SetHardwareSocVersion("Ascend910B1"); | ||
| 69 | Runtime *rtInstance = (Runtime *)Runtime::Instance(); | 69 | Runtime *rtInstance = (Runtime *)Runtime::Instance(); |
| 70 | oldChipType = rtInstance->GetChipType(); | 70 | oldChipType = rtInstance->GetChipType(); |
| 71 | + oldRuntimeSocVersion = rtInstance->GetRawSocVersion(); | ||
| 72 | + oldRtChipType = GlobalContainer::GetRtChipType(); | ||
| 73 | + oldSocVersion = GlobalContainer::GetSocVersion(); | ||
| 74 | + oldHardwareSocVersion = GlobalContainer::GetHardwareSocVersion(); | ||
| 75 | + oldUserSocVersion = GlobalContainer::GetUserSocVersion(); | ||
| 76 | + oldIsUserSetSocVersion = rtInstance->GetIsUserSetSocVersion(); | ||
| 77 | + rtInstance->SetIsUserSetSocVersion(false); | ||
| 78 | + rtInstance->SetSocVersion("Ascend910B1"); | ||
| 79 | + GlobalContainer::SetRtChipType(CHIP_910_B_93); | ||
| 80 | + GlobalContainer::SetSocVersion("Ascend910B1"); | ||
| 81 | + GlobalContainer::SetHardwareSocVersion("Ascend910B1"); | ||
| 71 | (void)rtSetDevice(0); | 82 | (void)rtSetDevice(0); |
| 72 | } | 83 | } |
| 73 | 84 | ||
| @@ -77,9 +88,21 @@ protected: | |||
| 77 | rtInstance->SetChipType(oldChipType); | 88 | rtInstance->SetChipType(oldChipType); |
| 78 | GlobalMockObject::verify(); | 89 | GlobalMockObject::verify(); |
| 79 | rtDeviceReset(0); | 90 | rtDeviceReset(0); |
| 91 | + rtInstance->SetSocVersion(oldRuntimeSocVersion); | ||
| 92 | + GlobalContainer::SetRtChipType(oldRtChipType); | ||
| 93 | + GlobalContainer::SetSocVersion(oldSocVersion); | ||
| 94 | + GlobalContainer::SetHardwareSocVersion(oldHardwareSocVersion); | ||
| 95 | + GlobalContainer::SetUserSocVersion(oldUserSocVersion); | ||
| 96 | + rtInstance->SetIsUserSetSocVersion(oldIsUserSetSocVersion); | ||
| 80 | } | 97 | } |
| 81 | private: | 98 | private: |
| 82 | rtChipType_t oldChipType; | 99 | rtChipType_t oldChipType; |
| 100 | + std::string oldRuntimeSocVersion; | ||
| 101 | + rtChipType_t oldRtChipType; | ||
| 102 | + std::string oldSocVersion; | ||
| 103 | + std::string oldHardwareSocVersion; | ||
| 104 | + std::string oldUserSocVersion; | ||
| 105 | + bool oldIsUserSetSocVersion; | ||
| 83 | }; | 106 | }; |
| 84 | 107 | ||
| 85 | TEST_F(CloudV2ApiAbnormalTest, rtsGetMemcpyDescSizeTest) | 108 | TEST_F(CloudV2ApiAbnormalTest, rtsGetMemcpyDescSizeTest) |
| @@ -184,10 +207,29 @@ TEST(RdmaPiValueModifyTaskTest, ConstructSqeRdmaPiValueModifyTaskSuccess) | |||
| 184 | 207 | ||
| 185 | TEST(RdmaPiValueModifyTaskTest, RdmaPiValueModifyTaskUnInitSuccess) | 208 | TEST(RdmaPiValueModifyTaskTest, RdmaPiValueModifyTaskUnInitSuccess) |
| 186 | { | 209 | { |
| 187 | - (void)rtSetSocVersion("Ascend910B1"); | ||
| 188 | - ASSERT_EQ(rtSetDevice(0), RT_ERROR_NONE); | ||
| 189 | Runtime *rtInstance = const_cast<Runtime *>(Runtime::Instance()); | 210 | Runtime *rtInstance = const_cast<Runtime *>(Runtime::Instance()); |
| 190 | ASSERT_NE(rtInstance, nullptr); | 211 | ASSERT_NE(rtInstance, nullptr); |
| 212 | + const std::string oldRuntimeSocVersion = rtInstance->GetRawSocVersion(); | ||
| 213 | + const rtChipType_t oldRtChipType = GlobalContainer::GetRtChipType(); | ||
| 214 | + const std::string oldSocVersion = GlobalContainer::GetSocVersion(); | ||
| 215 | + const std::string oldHardwareSocVersion = GlobalContainer::GetHardwareSocVersion(); | ||
| 216 | + const std::string oldUserSocVersion = GlobalContainer::GetUserSocVersion(); | ||
| 217 | + const bool oldIsUserSetSocVersion = rtInstance->GetIsUserSetSocVersion(); | ||
| 218 | + | ||
| 219 | + GlobalContainer::SetHardwareSocVersion("Ascend910B1"); | ||
| 220 | + EXPECT_EQ(rtSetSocVersion("Ascend910B1"), RT_ERROR_NONE); | ||
| 221 | + rtInstance->SetSocVersion("Ascend910B1"); | ||
| 222 | + rtError_t ret = rtSetDevice(0); | ||
| 223 | + EXPECT_EQ(ret, RT_ERROR_NONE); | ||
| 224 | + if (ret != RT_ERROR_NONE) { | ||
| 225 | + rtInstance->SetSocVersion(oldRuntimeSocVersion); | ||
| 226 | + GlobalContainer::SetRtChipType(oldRtChipType); | ||
| 227 | + GlobalContainer::SetSocVersion(oldSocVersion); | ||
| 228 | + GlobalContainer::SetHardwareSocVersion(oldHardwareSocVersion); | ||
| 229 | + GlobalContainer::SetUserSocVersion(oldUserSocVersion); | ||
| 230 | + rtInstance->SetIsUserSetSocVersion(oldIsUserSetSocVersion); | ||
| 231 | + return; | ||
| 232 | + } | ||
| 191 | Device *device = rtInstance->DeviceRetain(0, 0); | 233 | Device *device = rtInstance->DeviceRetain(0, 0); |
| 192 | ASSERT_NE(device, nullptr); | 234 | ASSERT_NE(device, nullptr); |
| 193 | Stream *stream = static_cast<Stream *>(malloc(sizeof(Stream))); | 235 | Stream *stream = static_cast<Stream *>(malloc(sizeof(Stream))); |
| @@ -218,7 +260,12 @@ TEST(RdmaPiValueModifyTaskTest, RdmaPiValueModifyTaskUnInitSuccess) | |||
| 218 | free(stream); | 260 | free(stream); |
| 219 | rtInstance->DeviceRelease(device); | 261 | rtInstance->DeviceRelease(device); |
| 220 | (void)rtDeviceReset(0); | 262 | (void)rtDeviceReset(0); |
| 221 | - ((Runtime *)Runtime::Instance())->SetIsUserSetSocVersion(false); | 263 | + rtInstance->SetSocVersion(oldRuntimeSocVersion); |
| 264 | + GlobalContainer::SetRtChipType(oldRtChipType); | ||
| 265 | + GlobalContainer::SetSocVersion(oldSocVersion); | ||
| 266 | + GlobalContainer::SetHardwareSocVersion(oldHardwareSocVersion); | ||
| 267 | + GlobalContainer::SetUserSocVersion(oldUserSocVersion); | ||
| 268 | + rtInstance->SetIsUserSetSocVersion(oldIsUserSetSocVersion); | ||
| 222 | GlobalMockObject::verify(); | 269 | GlobalMockObject::verify(); |
| 223 | } | 270 | } |
| 224 | 271 | ||
| @@ -237,16 +284,35 @@ TEST(RdmaPiValueModifyTaskTest, PrintDfxInfoForRdmaPiValueModifyTaskCountNotifyR | |||
| 237 | 284 | ||
| 238 | TEST(RdmaPiValueModifyTaskTest, PrintDfxInfoForRdmaPiValueModifyTaskSuccess) | 285 | TEST(RdmaPiValueModifyTaskTest, PrintDfxInfoForRdmaPiValueModifyTaskSuccess) |
| 239 | { | 286 | { |
| 240 | - std::string socVersion = GlobalContainer::GetHardwareSocVersion(); | 287 | + Runtime *rtInstance = const_cast<Runtime *>(Runtime::Instance()); |
| 241 | - GlobalContainer::SetSocVersion("Ascend910B2"); | 288 | + ASSERT_NE(rtInstance, nullptr); |
| 289 | + const std::string oldRuntimeSocVersion = rtInstance->GetRawSocVersion(); | ||
| 290 | + const rtChipType_t oldRtChipType = GlobalContainer::GetRtChipType(); | ||
| 291 | + const std::string oldSocVersion = GlobalContainer::GetSocVersion(); | ||
| 292 | + const std::string oldHardwareSocVersion = GlobalContainer::GetHardwareSocVersion(); | ||
| 293 | + const std::string oldUserSocVersion = GlobalContainer::GetUserSocVersion(); | ||
| 294 | + const bool oldIsUserSetSocVersion = rtInstance->GetIsUserSetSocVersion(); | ||
| 295 | + | ||
| 242 | GlobalContainer::SetHardwareSocVersion("Ascend910B2"); | 296 | GlobalContainer::SetHardwareSocVersion("Ascend910B2"); |
| 297 | + EXPECT_EQ(rtSetSocVersion("Ascend910B2"), RT_ERROR_NONE); | ||
| 298 | + rtInstance->SetSocVersion("Ascend910B2"); | ||
| 243 | 299 | ||
| 244 | rtContext_t ctx = nullptr; | 300 | rtContext_t ctx = nullptr; |
| 245 | - ASSERT_EQ(rtCtxCreate(&ctx, 0, 0), RT_ERROR_NONE); | 301 | + rtError_t ret = rtCtxCreate(&ctx, 0, 0); |
| 302 | + EXPECT_EQ(ret, RT_ERROR_NONE); | ||
| 303 | + if (ret != RT_ERROR_NONE) { | ||
| 304 | + rtInstance->SetSocVersion(oldRuntimeSocVersion); | ||
| 305 | + GlobalContainer::SetRtChipType(oldRtChipType); | ||
| 306 | + GlobalContainer::SetSocVersion(oldSocVersion); | ||
| 307 | + GlobalContainer::SetHardwareSocVersion(oldHardwareSocVersion); | ||
| 308 | + GlobalContainer::SetUserSocVersion(oldUserSocVersion); | ||
| 309 | + rtInstance->SetIsUserSetSocVersion(oldIsUserSetSocVersion); | ||
| 310 | + return; | ||
| 311 | + } | ||
| 246 | Context *curCtx = static_cast<Context *>(ctx); | 312 | Context *curCtx = static_cast<Context *>(ctx); |
| 247 | 313 | ||
| 248 | rtStream_t stream = nullptr; | 314 | rtStream_t stream = nullptr; |
| 249 | - rtError_t ret = rtStreamCreate(&stream, 0); | 315 | + ret = rtStreamCreate(&stream, 0); |
| 250 | ASSERT_EQ(ret, RT_ERROR_NONE); | 316 | ASSERT_EQ(ret, RT_ERROR_NONE); |
| 251 | Stream *stm = rt_ut::UnwrapOrNull<Stream>(stream); | 317 | Stream *stm = rt_ut::UnwrapOrNull<Stream>(stream); |
| 252 | 318 | ||
| @@ -289,7 +355,12 @@ TEST(RdmaPiValueModifyTaskTest, PrintDfxInfoForRdmaPiValueModifyTaskSuccess) | |||
| 289 | curCtx->models_.clear(); | 355 | curCtx->models_.clear(); |
| 290 | ret = rtCtxDestroy(ctx); | 356 | ret = rtCtxDestroy(ctx); |
| 291 | EXPECT_EQ(ret, RT_ERROR_NONE); | 357 | EXPECT_EQ(ret, RT_ERROR_NONE); |
| 292 | - GlobalContainer::SetHardwareSocVersion(socVersion); | 358 | + rtInstance->SetSocVersion(oldRuntimeSocVersion); |
| 359 | + GlobalContainer::SetRtChipType(oldRtChipType); | ||
| 360 | + GlobalContainer::SetSocVersion(oldSocVersion); | ||
| 361 | + GlobalContainer::SetHardwareSocVersion(oldHardwareSocVersion); | ||
| 362 | + GlobalContainer::SetUserSocVersion(oldUserSocVersion); | ||
| 363 | + rtInstance->SetIsUserSetSocVersion(oldIsUserSetSocVersion); | ||
| 293 | GlobalMockObject::verify(); | 364 | GlobalMockObject::verify(); |
| 294 | } | 365 | } |
| 295 | 366 | ||
| @@ -16,7 +16,7 @@ class FftsPlusTaskLaunchTest : public testing::Test | |||
| 16 | protected: | 16 | protected: |
| 17 | static void SetUpTestCase() | 17 | static void SetUpTestCase() |
| 18 | { | 18 | { |
| 19 | - (void)rtSetSocVersion("Ascend310"); | 19 | + (void)rtSetSocVersion("Ascend910B1"); |
| 20 | ((Runtime *)Runtime::Instance())->SetIsUserSetSocVersion(false); | 20 | ((Runtime *)Runtime::Instance())->SetIsUserSetSocVersion(false); |
| 21 | Runtime *rtInstance = (Runtime *)Runtime::Instance(); | 21 | Runtime *rtInstance = (Runtime *)Runtime::Instance(); |
| 22 | RawDevice *rawDevice = new RawDevice(0); | 22 | RawDevice *rawDevice = new RawDevice(0); |
| @@ -176,4 +176,4 @@ TEST_F(FftsPlusTaskLaunchTest, FftsPlusTaskLaunchWithFlagForGetDevAddr) | |||
| 176 | 176 | ||
| 177 | free(descBuf); | 177 | free(descBuf); |
| 178 | free(handleInfo[0]); | 178 | free(handleInfo[0]); |
| 179 | -} | 179 | +} |
| @@ -24,7 +24,7 @@ public: | |||
| 24 | protected: | 24 | protected: |
| 25 | static void SetUpTestCase() | 25 | static void SetUpTestCase() |
| 26 | { | 26 | { |
| 27 | - (void)rtSetSocVersion("Ascend310"); | 27 | + (void)rtSetSocVersion("Ascend910B1"); |
| 28 | ((Runtime *)Runtime::Instance())->SetIsUserSetSocVersion(false); | 28 | ((Runtime *)Runtime::Instance())->SetIsUserSetSocVersion(false); |
| 29 | Runtime *rtInstance = (Runtime *)Runtime::Instance(); | 29 | Runtime *rtInstance = (Runtime *)Runtime::Instance(); |
| 30 | RawDevice *rawDevice = new RawDevice(0); | 30 | RawDevice *rawDevice = new RawDevice(0); |
| @@ -1197,59 +1197,53 @@ TEST_F(CloudV2ApiImplTest, rtSetSocVersionFeInitFailed) | |||
| 1197 | { | 1197 | { |
| 1198 | Runtime *rtInstance = const_cast<Runtime *>(Runtime::Instance()); | 1198 | Runtime *rtInstance = const_cast<Runtime *>(Runtime::Instance()); |
| 1199 | 1199 | ||
| 1200 | - MOCKER_CPP(&fe::PlatformInfoManager::InitializePlatformInfo).stubs().will(returnValue(0xF)); | 1200 | + rtError_t error = rtSetSocVersion("ChipTypeQueryError"); |
| 1201 | - rtError_t error = rtSetSocVersion("Ascend610Lite"); | 1201 | + EXPECT_EQ(error, ACL_ERROR_RT_PARAM_INVALID); |
| 1202 | - EXPECT_NE(error, RT_ERROR_NONE); | ||
| 1203 | ((Runtime *)Runtime::Instance())->SetIsUserSetSocVersion(false); | 1202 | ((Runtime *)Runtime::Instance())->SetIsUserSetSocVersion(false); |
| 1204 | } | 1203 | } |
| 1205 | 1204 | ||
| 1206 | TEST_F(CloudV2ApiImplTest, rtSetSocVersionFeGetPlatformInfoFailed) | 1205 | TEST_F(CloudV2ApiImplTest, rtSetSocVersionFeGetPlatformInfoFailed) |
| 1207 | { | 1206 | { |
| 1208 | Runtime *rtInstance = const_cast<Runtime *>(Runtime::Instance()); | 1207 | Runtime *rtInstance = const_cast<Runtime *>(Runtime::Instance()); |
| 1209 | - MOCKER_CPP(&fe::PlatformInfoManager::InitializePlatformInfo).stubs().will(returnValue(0U)); | 1208 | + rtError_t error = rtSetSocVersion("ChipTypeMissing"); |
| 1210 | - MOCKER_CPP(&fe::PlatformInfoManager::GetPlatformInfo).stubs().will(returnValue(0xF)); | ||
| 1211 | - rtError_t error = rtSetSocVersion("Ascend610Lite"); | ||
| 1212 | ((Runtime *)Runtime::Instance())->SetIsUserSetSocVersion(false); | 1209 | ((Runtime *)Runtime::Instance())->SetIsUserSetSocVersion(false); |
| 1213 | - EXPECT_NE(error, RT_ERROR_NONE); | 1210 | + EXPECT_EQ(error, ACL_ERROR_RT_PARAM_INVALID); |
| 1214 | } | 1211 | } |
| 1215 | 1212 | ||
| 1216 | TEST_F(CloudV2ApiImplTest, rtSetSocVersionFeGetPlatformInfoSuccess) | 1213 | TEST_F(CloudV2ApiImplTest, rtSetSocVersionFeGetPlatformInfoSuccess) |
| 1217 | { | 1214 | { |
| 1218 | Runtime *rtInstance = const_cast<Runtime *>(Runtime::Instance()); | 1215 | Runtime *rtInstance = const_cast<Runtime *>(Runtime::Instance()); |
| 1219 | - fe::PlatformInfo platInfo; | 1216 | + const rtChipType_t oldRtChipType = GlobalContainer::GetRtChipType(); |
| 1220 | - platInfo.soc_info.arch_type = ARCH_C100; | 1217 | + const std::string oldSocVersion = GlobalContainer::GetSocVersion(); |
| 1221 | - MOCKER_CPP(&fe::PlatformInfoManager::InitializePlatformInfo).stubs().will(returnValue(0U)); | 1218 | + const std::string oldHardwareSocVersion = GlobalContainer::GetHardwareSocVersion(); |
| 1222 | - MOCKER_CPP(&fe::PlatformInfoManager::GetPlatformInfo).stubs().with(mockcpp::any(), outBound(platInfo), mockcpp::any()) | 1219 | + const std::string oldUserSocVersion = GlobalContainer::GetUserSocVersion(); |
| 1223 | - .will(returnValue(0U)); | 1220 | + const bool oldIsUserSetSocVersion = rtInstance->GetIsUserSetSocVersion(); |
| 1224 | - rtError_t error = rtSetSocVersion("Ascend910"); | 1221 | + |
| 1225 | - EXPECT_NE(error, RT_ERROR_NONE); | 1222 | + GlobalContainer::SetHardwareSocVersion(""); |
| 1226 | - ((Runtime *)Runtime::Instance())->SetIsUserSetSocVersion(false); | 1223 | + rtError_t error = rtSetSocVersion("Ascend910A"); |
| 1224 | + EXPECT_EQ(error, RT_ERROR_NONE); | ||
| 1225 | + GlobalContainer::SetRtChipType(oldRtChipType); | ||
| 1226 | + GlobalContainer::SetSocVersion(oldSocVersion); | ||
| 1227 | + GlobalContainer::SetHardwareSocVersion(oldHardwareSocVersion); | ||
| 1228 | + GlobalContainer::SetUserSocVersion(oldUserSocVersion); | ||
| 1229 | + rtInstance->SetIsUserSetSocVersion(oldIsUserSetSocVersion); | ||
| 1227 | } | 1230 | } |
| 1228 | 1231 | ||
| 1229 | TEST_F(CloudV2ApiImplTest, rtSetSocVersionFeGetPlatInfoInvalidChip) | 1232 | TEST_F(CloudV2ApiImplTest, rtSetSocVersionFeGetPlatInfoInvalidChip) |
| 1230 | { | 1233 | { |
| 1231 | Runtime *rtInstance = const_cast<Runtime *>(Runtime::Instance()); | 1234 | Runtime *rtInstance = const_cast<Runtime *>(Runtime::Instance()); |
| 1232 | - fe::PlatformInfo platInfo; | 1235 | + rtError_t error = rtSetSocVersion("ChipTypeOutOfRange"); |
| 1233 | - platInfo.soc_info.arch_type = -1; | 1236 | + EXPECT_EQ(error, ACL_ERROR_RT_PARAM_INVALID); |
| 1234 | - platInfo.soc_info.chip_type = -1; | ||
| 1235 | - MOCKER_CPP(&fe::PlatformInfoManager::InitializePlatformInfo).stubs().will(returnValue(0U)); | ||
| 1236 | - MOCKER_CPP(&fe::PlatformInfoManager::GetPlatformInfo).stubs().with(mockcpp::any(), outBound(platInfo), mockcpp::any()) | ||
| 1237 | - .will(returnValue(0U)); | ||
| 1238 | - rtError_t error = rtSetSocVersion("Ascend910"); | ||
| 1239 | - EXPECT_NE(error, RT_ERROR_NONE); | ||
| 1240 | ((Runtime *)Runtime::Instance())->SetIsUserSetSocVersion(false); | 1237 | ((Runtime *)Runtime::Instance())->SetIsUserSetSocVersion(false); |
| 1241 | } | 1238 | } |
| 1242 | 1239 | ||
| 1243 | TEST_F(CloudV2ApiImplTest, rtSetSocVersionFeGetPlatInfoInvalidArch) | 1240 | TEST_F(CloudV2ApiImplTest, rtSetSocVersionFeGetPlatInfoInvalidArch) |
| 1244 | { | 1241 | { |
| 1245 | Runtime *rtInstance = const_cast<Runtime *>(Runtime::Instance()); | 1242 | Runtime *rtInstance = const_cast<Runtime *>(Runtime::Instance()); |
| 1246 | - fe::PlatformInfo platInfo; | 1243 | + GlobalContainer::SetHardwareSocVersion("Ascend910A"); |
| 1247 | - platInfo.soc_info.arch_type = ARCH_V100; | ||
| 1248 | - MOCKER_CPP(&fe::PlatformInfoManager::InitializePlatformInfo).stubs().will(returnValue(0U)); | ||
| 1249 | - MOCKER_CPP(&fe::PlatformInfoManager::GetPlatformInfo).stubs().with(mockcpp::any(), outBound(platInfo), mockcpp::any()) | ||
| 1250 | - .will(returnValue(0U)); | ||
| 1251 | rtError_t error = rtSetSocVersion("BS9SX1AA"); | 1244 | rtError_t error = rtSetSocVersion("BS9SX1AA"); |
| 1252 | EXPECT_EQ(error, ACL_ERROR_RT_PARAM_INVALID); | 1245 | EXPECT_EQ(error, ACL_ERROR_RT_PARAM_INVALID); |
| 1246 | + GlobalContainer::SetHardwareSocVersion(""); | ||
| 1253 | ((Runtime *)Runtime::Instance())->SetIsUserSetSocVersion(false); | 1247 | ((Runtime *)Runtime::Instance())->SetIsUserSetSocVersion(false); |
| 1254 | } | 1248 | } |
| 1255 | 1249 | ||
| @@ -1974,4 +1968,4 @@ TEST_F(CloudV2ApiImplTest, ModelDestroyRegisterCallbackApiDecorator) | |||
| 1974 | 1968 | ||
| 1975 | error = rtModelDestroy(model); | 1969 | error = rtModelDestroy(model); |
| 1976 | EXPECT_EQ(error, RT_ERROR_NONE); | 1970 | EXPECT_EQ(error, RT_ERROR_NONE); |
| 1977 | -} | 1971 | +} |
| @@ -40,6 +40,11 @@ class RtMemoryApiTest : public testing::Test | |||
| 40 | protected: | 40 | protected: |
| 41 | static void SetUpTestCase() | 41 | static void SetUpTestCase() |
| 42 | { | 42 | { |
| 43 | + Runtime *rtInstance = const_cast<Runtime *>(Runtime::Instance()); | ||
| 44 | + rtInstance->SetIsUserSetSocVersion(false); | ||
| 45 | + rtInstance->SetSocVersion("Ascend910B2"); | ||
| 46 | + GlobalContainer::SetRtChipType(CHIP_910_B_93); | ||
| 47 | + GlobalContainer::SetSocVersion("Ascend910B2"); | ||
| 43 | GlobalContainer::SetHardwareSocVersion("Ascend910B2"); | 48 | GlobalContainer::SetHardwareSocVersion("Ascend910B2"); |
| 44 | RawDevice *rawDevice = new RawDevice(0); | 49 | RawDevice *rawDevice = new RawDevice(0); |
| 45 | MOCKER_CPP_VIRTUAL(rawDevice, &RawDevice::SetTschVersionForCmodel).stubs().will(ignoreReturnValue()); | 50 | MOCKER_CPP_VIRTUAL(rawDevice, &RawDevice::SetTschVersionForCmodel).stubs().will(ignoreReturnValue()); |
| @@ -53,7 +58,13 @@ protected: | |||
| 53 | 58 | ||
| 54 | virtual void SetUp() | 59 | virtual void SetUp() |
| 55 | { | 60 | { |
| 56 | - (void)rtSetDevice(0); | 61 | + Runtime *rtInstance = const_cast<Runtime *>(Runtime::Instance()); |
| 62 | + rtInstance->SetIsUserSetSocVersion(false); | ||
| 63 | + rtInstance->SetSocVersion("Ascend910B2"); | ||
| 64 | + GlobalContainer::SetRtChipType(CHIP_910_B_93); | ||
| 65 | + GlobalContainer::SetSocVersion("Ascend910B2"); | ||
| 66 | + GlobalContainer::SetHardwareSocVersion("Ascend910B2"); | ||
| 67 | + EXPECT_EQ(rtSetDevice(0), RT_ERROR_NONE); | ||
| 57 | RawDevice *rawDevice = new RawDevice(0); | 68 | RawDevice *rawDevice = new RawDevice(0); |
| 58 | MOCKER_CPP_VIRTUAL(rawDevice, &RawDevice::SetTschVersionForCmodel).stubs().will(ignoreReturnValue()); | 69 | MOCKER_CPP_VIRTUAL(rawDevice, &RawDevice::SetTschVersionForCmodel).stubs().will(ignoreReturnValue()); |
| 59 | delete rawDevice; | 70 | delete rawDevice; |
| @@ -316,7 +327,7 @@ TEST_F(RtMemoryApiTest, rtsMallocHost_001) | |||
| 316 | rtError_t error; | 327 | rtError_t error; |
| 317 | Api *Api_= const_cast<Api *>(Runtime::runtime_->api_); | 328 | Api *Api_= const_cast<Api *>(Runtime::runtime_->api_); |
| 318 | ApiDecorator *apiDecorator_ = new ApiDecorator(Api_); | 329 | ApiDecorator *apiDecorator_ = new ApiDecorator(Api_); |
| 319 | - void * hostPtr; | 330 | + void * hostPtr = nullptr; |
| 320 | rtMallocConfig_t *malloCfg = (rtMallocConfig_t *)malloc(sizeof(rtMallocConfig_t)); | 331 | rtMallocConfig_t *malloCfg = (rtMallocConfig_t *)malloc(sizeof(rtMallocConfig_t)); |
| 321 | rtMallocAttribute_t* mallocAttrs = new rtMallocAttribute_t[1]; | 332 | rtMallocAttribute_t* mallocAttrs = new rtMallocAttribute_t[1]; |
| 322 | malloCfg->numAttrs = 1; | 333 | malloCfg->numAttrs = 1; |
| @@ -347,7 +358,7 @@ TEST_F(RtMemoryApiTest, rtsMallocHost_002) | |||
| 347 | rtError_t error; | 358 | rtError_t error; |
| 348 | Api *Api_= const_cast<Api *>(Runtime::runtime_->api_); | 359 | Api *Api_= const_cast<Api *>(Runtime::runtime_->api_); |
| 349 | ApiDecorator *apiDecorator_ = new ApiDecorator(Api_); | 360 | ApiDecorator *apiDecorator_ = new ApiDecorator(Api_); |
| 350 | - void * hostPtr; | 361 | + void * hostPtr = nullptr; |
| 351 | rtMallocConfig_t *malloCfg = (rtMallocConfig_t *)malloc(sizeof(rtMallocConfig_t)); | 362 | rtMallocConfig_t *malloCfg = (rtMallocConfig_t *)malloc(sizeof(rtMallocConfig_t)); |
| 352 | rtMallocAttribute_t* mallocAttrs = new rtMallocAttribute_t[1]; | 363 | rtMallocAttribute_t* mallocAttrs = new rtMallocAttribute_t[1]; |
| 353 | malloCfg->numAttrs = 1; | 364 | malloCfg->numAttrs = 1; |
| @@ -367,8 +378,10 @@ TEST_F(RtMemoryApiTest, rtsMallocHost_002) | |||
| 367 | mallocAttrs[0].value.moduleId = 1; | 378 | mallocAttrs[0].value.moduleId = 1; |
| 368 | error = apiDecorator_->HostMallocWithCfg(&hostPtr, 60, malloCfg); | 379 | error = apiDecorator_->HostMallocWithCfg(&hostPtr, 60, malloCfg); |
| 369 | EXPECT_EQ(error, RT_ERROR_NONE); | 380 | EXPECT_EQ(error, RT_ERROR_NONE); |
| 370 | - error = apiDecorator_->HostFree(hostPtr); | 381 | + if (error == RT_ERROR_NONE) { |
| 371 | - EXPECT_EQ(error, RT_ERROR_NONE); | 382 | + error = apiDecorator_->HostFree(hostPtr); |
| 383 | + EXPECT_EQ(error, RT_ERROR_NONE); | ||
| 384 | + } | ||
| 372 | 385 | ||
| 373 | delete[] mallocAttrs; | 386 | delete[] mallocAttrs; |
| 374 | free(malloCfg); | 387 | free(malloCfg); |
| @@ -380,7 +393,7 @@ TEST_F(RtMemoryApiTest, rtsMallocHost_003) | |||
| 380 | rtError_t error; | 393 | rtError_t error; |
| 381 | Api *Api_= const_cast<Api *>(Runtime::runtime_->api_); | 394 | Api *Api_= const_cast<Api *>(Runtime::runtime_->api_); |
| 382 | ApiDecorator *apiDecorator_ = new ApiDecorator(Api_); | 395 | ApiDecorator *apiDecorator_ = new ApiDecorator(Api_); |
| 383 | - void * hostPtr; | 396 | + void * hostPtr = nullptr; |
| 384 | rtMallocConfig_t *malloCfg = (rtMallocConfig_t *)malloc(sizeof(rtMallocConfig_t)); | 397 | rtMallocConfig_t *malloCfg = (rtMallocConfig_t *)malloc(sizeof(rtMallocConfig_t)); |
| 385 | rtMallocAttribute_t* mallocAttrs = new rtMallocAttribute_t[1]; | 398 | rtMallocAttribute_t* mallocAttrs = new rtMallocAttribute_t[1]; |
| 386 | malloCfg->numAttrs = 1; | 399 | malloCfg->numAttrs = 1; |
| @@ -391,15 +404,19 @@ TEST_F(RtMemoryApiTest, rtsMallocHost_003) | |||
| 391 | mallocAttrs[0].value.vaFlag = 0; | 404 | mallocAttrs[0].value.vaFlag = 0; |
| 392 | error = apiDecorator_->HostMallocWithCfg(&hostPtr, 60, malloCfg); | 405 | error = apiDecorator_->HostMallocWithCfg(&hostPtr, 60, malloCfg); |
| 393 | EXPECT_EQ(error, RT_ERROR_NONE); | 406 | EXPECT_EQ(error, RT_ERROR_NONE); |
| 394 | - error = apiDecorator_->HostFree(hostPtr); | 407 | + if (error == RT_ERROR_NONE) { |
| 395 | - EXPECT_EQ(error, RT_ERROR_NONE); | 408 | + error = apiDecorator_->HostFree(hostPtr); |
| 409 | + EXPECT_EQ(error, RT_ERROR_NONE); | ||
| 410 | + } | ||
| 396 | 411 | ||
| 397 | // UVA类型,value设置为1,启用特性 | 412 | // UVA类型,value设置为1,启用特性 |
| 398 | mallocAttrs[0].value.vaFlag = 1; | 413 | mallocAttrs[0].value.vaFlag = 1; |
| 399 | error = apiDecorator_->HostMallocWithCfg(&hostPtr, 60, malloCfg); | 414 | error = apiDecorator_->HostMallocWithCfg(&hostPtr, 60, malloCfg); |
| 400 | EXPECT_EQ(error, RT_ERROR_NONE); | 415 | EXPECT_EQ(error, RT_ERROR_NONE); |
| 401 | - error = apiDecorator_->HostFree(hostPtr); | 416 | + if (error == RT_ERROR_NONE) { |
| 402 | - EXPECT_EQ(error, RT_ERROR_NONE); | 417 | + error = apiDecorator_->HostFree(hostPtr); |
| 418 | + EXPECT_EQ(error, RT_ERROR_NONE); | ||
| 419 | + } | ||
| 403 | 420 | ||
| 404 | delete[] mallocAttrs; | 421 | delete[] mallocAttrs; |
| 405 | free(malloCfg); | 422 | free(malloCfg); |
| @@ -26,7 +26,7 @@ class RtOthersApiTest : public testing::Test | |||
| 26 | protected: | 26 | protected: |
| 27 | static void SetUpTestCase() | 27 | static void SetUpTestCase() |
| 28 | { | 28 | { |
| 29 | - (void)rtSetSocVersion("Ascend310"); | 29 | + (void)rtSetSocVersion("Ascend910B1"); |
| 30 | ((Runtime *)Runtime::Instance())->SetIsUserSetSocVersion(false); | 30 | ((Runtime *)Runtime::Instance())->SetIsUserSetSocVersion(false); |
| 31 | RawDevice *rawDevice = new RawDevice(0); | 31 | RawDevice *rawDevice = new RawDevice(0); |
| 32 | MOCKER_CPP_VIRTUAL(rawDevice, &RawDevice::SetTschVersionForCmodel).stubs().will(ignoreReturnValue()); | 32 | MOCKER_CPP_VIRTUAL(rawDevice, &RawDevice::SetTschVersionForCmodel).stubs().will(ignoreReturnValue()); |
| @@ -210,4 +210,4 @@ TEST_F(RtOthersApiTest, capture_api_37) | |||
| 210 | 210 | ||
| 211 | error = rtStreamDestroy(stream); | 211 | error = rtStreamDestroy(stream); |
| 212 | EXPECT_EQ(error, RT_ERROR_NONE); | 212 | EXPECT_EQ(error, RT_ERROR_NONE); |
| 213 | -} | 213 | +} |
| @@ -23,7 +23,7 @@ public: | |||
| 23 | protected: | 23 | protected: |
| 24 | static void SetUpTestCase() | 24 | static void SetUpTestCase() |
| 25 | { | 25 | { |
| 26 | - (void)rtSetSocVersion("Ascend310"); | 26 | + (void)rtSetSocVersion("Ascend910B1"); |
| 27 | ((Runtime *)Runtime::Instance())->SetIsUserSetSocVersion(false); | 27 | ((Runtime *)Runtime::Instance())->SetIsUserSetSocVersion(false); |
| 28 | Runtime *rtInstance = (Runtime *)Runtime::Instance(); | 28 | Runtime *rtInstance = (Runtime *)Runtime::Instance(); |
| 29 | RawDevice *rawDevice = new RawDevice(0); | 29 | RawDevice *rawDevice = new RawDevice(0); |
| @@ -2504,4 +2504,4 @@ TEST_F(NewCloudV2ApiTest, rt_notify_reset_all_1) | |||
| 2504 | 2504 | ||
| 2505 | error = rtCtxDestroy(ctx); | 2505 | error = rtCtxDestroy(ctx); |
| 2506 | EXPECT_EQ(error, RT_ERROR_NONE); | 2506 | EXPECT_EQ(error, RT_ERROR_NONE); |
| 2507 | -} | 2507 | +} |
| @@ -52,8 +52,8 @@ TEST_F(UpdateDevPropertiesValueTest, UpdateDevPropertiesValue) | |||
| 52 | EXPECT_EQ(props.expandStreamAdditionalSqeNum, 0U); | 52 | EXPECT_EQ(props.expandStreamAdditionalSqeNum, 0U); |
| 53 | EXPECT_EQ(props.rsvAicpuStreamNum, 0U); | 53 | EXPECT_EQ(props.rsvAicpuStreamNum, 0U); |
| 54 | EXPECT_EQ(props.maxPhysicalStreamNum, 255U); | 54 | EXPECT_EQ(props.maxPhysicalStreamNum, 255U); |
| 55 | - EXPECT_EQ(props.maxAllocStreamNum, 255U); | 55 | + EXPECT_EQ(props.maxAllocStreamNum, 512U); |
| 56 | - EXPECT_EQ(props.rtsqDepth, 4096U); | 56 | + EXPECT_EQ(props.rtsqDepth, 2048U); |
| 57 | - EXPECT_EQ(props.maxTaskNumPerStream, 1018U); | 57 | + EXPECT_EQ(props.maxTaskNumPerStream, 2048U); |
| 58 | EXPECT_EQ(props.rtsqReservedTaskNum, 0U); | 58 | EXPECT_EQ(props.rtsqReservedTaskNum, 0U); |
| 59 | } | 59 | } |
| @@ -6628,7 +6628,7 @@ TEST_F(ApiTest, rtModelCheckCompatibility_socVersion) | |||
| 6628 | EXPECT_EQ(error, ACL_ERROR_RT_PARAM_INVALID); | 6628 | EXPECT_EQ(error, ACL_ERROR_RT_PARAM_INVALID); |
| 6629 | 6629 | ||
| 6630 | error = rtModelCheckCompatibility("Ascend910A", "10"); | 6630 | error = rtModelCheckCompatibility("Ascend910A", "10"); |
| 6631 | - EXPECT_EQ(error, ACL_ERROR_RT_PARAM_INVALID); | 6631 | + EXPECT_EQ(error, RT_ERROR_NONE); |
| 6632 | 6632 | ||
| 6633 | // restore all type | 6633 | // restore all type |
| 6634 | rtInstance->SetChipType(oriChipType); | 6634 | rtInstance->SetChipType(oriChipType); |
| @@ -26,7 +26,7 @@ class RtOthersApiTest : public testing::Test | |||
| 26 | protected: | 26 | protected: |
| 27 | static void SetUpTestCase() | 27 | static void SetUpTestCase() |
| 28 | { | 28 | { |
| 29 | - (void)rtSetSocVersion("Ascend310"); | 29 | + (void)rtSetSocVersion("Ascend910A"); |
| 30 | ((Runtime *)Runtime::Instance())->SetIsUserSetSocVersion(false); | 30 | ((Runtime *)Runtime::Instance())->SetIsUserSetSocVersion(false); |
| 31 | Runtime *rtInstance = (Runtime *)Runtime::Instance(); | 31 | Runtime *rtInstance = (Runtime *)Runtime::Instance(); |
| 32 | originType_ = Runtime::Instance()->GetChipType(); | 32 | originType_ = Runtime::Instance()->GetChipType(); |
| @@ -238,4 +238,4 @@ TEST_F(RtOthersApiTest, capture_api_37) | |||
| 238 | 238 | ||
| 239 | error = rtStreamDestroy(stream); | 239 | error = rtStreamDestroy(stream); |
| 240 | EXPECT_EQ(error, RT_ERROR_NONE); | 240 | EXPECT_EQ(error, RT_ERROR_NONE); |
| 241 | -} | 241 | +} |


chip_type=15 是按RTS的枚举?