已合并
refactor: 统一 soc version chipType 获取链路 #1795
refactor: 统一 soc version chipType 获取链路 #1795
已合并
daijinling创建于 4月24日
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_354f5+SoC_version=Ascend350_354f
6-Short_SoC_version=Ascend3506+Short_SoC_version=Ascend350
7-AIC_version=AIC-C-3107+AIC_version=AIC-C-310
8-CCEC_AIC_version=dav-c310-cube8+CCEC_AIC_version=dav-c310-cube
9-CCEC_AIV_version=dav-c310-vec9+CCEC_AIV_version=dav-c310-vec
10-CCEC_CUBE_version=dav-c310-cube10+CCEC_CUBE_version=dav-c310-cube
11-CCEC_VECTOR_version=dav-c310-vec11+CCEC_VECTOR_version=dav-c310-vec
12-Compiler_aicpu_support_os=true12+Compiler_aicpu_support_os=true
13-NpuArch=351013+NpuArch=3510
14- 14+Chip_type=15
15-[SoCInfo]15+ 
16-ai_core_cnt=1416+[SoCInfo]
17-cube_core_cnt=1417+ai_core_cnt=14
18-vector_core_cnt=2818+cube_core_cnt=14
19-ai_cpu_cnt=219+vector_core_cnt=28
20-memory_type=020+ai_cpu_cnt=2
21-memory_size=6012954214421+memory_type=0
22-l2_type=022+memory_size=60129542144
23-l2_size=5872025623+l2_type=0
24-l2PageNum=6424+l2_size=58720256
25-normal_stream_num=204825+l2PageNum=64
26-normal_stream_depth=204826+normal_stream_num=2048
27-huge_stream_num=027+normal_stream_depth=2048
28-huge_stream_depth=028+huge_stream_num=0
29-prefetch_num=829+huge_stream_depth=0
30-core_type_list=CubeCore,VectorCore30+prefetch_num=8
31-cube_vector_combine=split31+core_type_list=CubeCore,VectorCore
32-hardware_sync_betweencore=132+cube_vector_combine=split
33-vir_type_list=7,1433+hardware_sync_betweencore=1
34-support_bf16=134+vir_type_list=7,14
35-support_inf_nan=135+support_bf16=1
36- 36+support_inf_nan=1
37-[AICoreSpec]37+ 
38-cube_freq=165038+[AICoreSpec]
39-cube_m_size=1639+cube_freq=1650
40-cube_n_size=1640+cube_m_size=16
41-cube_k_size=1641+cube_n_size=16
42-vec_calc_size=12842+cube_k_size=16
43-l0_a_size=6553643+vec_calc_size=128
44-l0_b_size=6553644+l0_a_size=65536
45-l0_c_size=26214445+l0_b_size=65536
46-l1_size=52428846+l0_c_size=262144
47-fb0_size=409647+l1_size=524288
48-fb1_size=204848+fb0_size=4096
49-fb2_size=049+fb1_size=2048
50-fb3_size=050+fb2_size=0
51-bt_size=409651+fb3_size=0
52-smask_buffer=052+bt_size=4096
53-ub_size=25395253+smask_buffer=0
54-ubblock_size=3254+ub_size=253952
55-ubbank_size=409655+ubblock_size=32
56-ubbank_num=1656+ubbank_size=4096
57-ubsubbank_num=6457+ubbank_num=16
58-ubburst_in_one_block=3258+ubsubbank_num=64
59-ubbank_group_num=859+ubburst_in_one_block=32
60-support_fixpipe=160+ubbank_group_num=8
61-sparsity=061+support_fixpipe=1
62-l0a_layout_zN=162+sparsity=0
63-vector_reg_width=25663+l0a_layout_zN=1
64-predicate_reg_width=3264+vector_reg_width=256
65-wide_reg_width=76865+predicate_reg_width=32
66-padding_size=066+wide_reg_width=768
67- 67+padding_size=0
68-[AICoreMemoryRates]68+ 
69-ddr_rate=2769+[AICoreMemoryRates]
70-ddr_read_rate=2770+ddr_rate=27
71-ddr_write_rate=2771+ddr_read_rate=27
72-l2_rate=10072+ddr_write_rate=27
73-l2_read_rate=10073+l2_rate=100
74-l2_write_rate=10074+l2_read_rate=100
75-l1_to_l0_a_rate=25675+l2_write_rate=100
76-l1_to_l0_b_rate=25676+l1_to_l0_a_rate=256
77-l1_to_ub_rate=12877+l1_to_l0_b_rate=256
78-l0_c_to_ub_rate=12878+l1_to_ub_rate=128
79-ub_to_l2_rate=12879+l0_c_to_ub_rate=128
80-ub_to_ddr_rate=12880+ub_to_l2_rate=128
81-ub_to_l1_rate=12881+ub_to_ddr_rate=128
82- 82+ub_to_l1_rate=128
83-[DtypeMKN]83+ 
84-Default=16,16,1684+[DtypeMKN]
85-DT_FLOAT8_E4M3FN=16,32,1685+Default=16,16,16
86-DT_HIFLOAT8=16,32,1686+DT_FLOAT8_E4M3FN=16,32,16
87-DT_HIFLOAT4=16,64,1687+DT_HIFLOAT8=16,32,16
88-DT_FLOAT4_E2M1=16,64,1688+DT_HIFLOAT4=16,64,16
89-DT_FLOAT4_E1M2=16,64,1689+DT_FLOAT4_E2M1=16,64,16
90-DT_INT8=16,32,1690+DT_FLOAT4_E1M2=16,64,16
91-DT_UINT8=16,32,1691+DT_INT8=16,32,16
92-DT_INT4=16,64,1692+DT_UINT8=16,32,16
93-DT_INT2=16,128,1693+DT_INT4=16,64,16
94-DT_UINT2=16,128,1694+DT_INT2=16,128,16
95-DT_UINT1=16,256,1695+DT_UINT2=16,128,16
96-DT_FLOAT=16,8,1696+DT_UINT1=16,256,16
97- 97+DT_FLOAT=16,8,16
98-[CPUCache]98+ 
99-AICPUSyncBySW=099+[CPUCache]
100-TSCPUSyncBySW=0100+AICPUSyncBySW=0
101- 101+TSCPUSyncBySW=0
102-[AICoreintrinsicDtypeMap]102+ 
103-0=Intrinsic_vrelu|float16,float32,int32103+[AICoreintrinsicDtypeMap]
104-1=Intrinsic_vexp|float16,float32104+0=Intrinsic_vrelu|float16,float32,int32
105-2=Intrinsic_vln|float16,float32105+1=Intrinsic_vexp|float16,float32
106-3=Intrinsic_vabs|float16,float32106+2=Intrinsic_vln|float16,float32
107-4=Intrinsic_vrec|float16,float32107+3=Intrinsic_vabs|float16,float32
108-5=Intrinsic_vrsqrt|float16,float32108+4=Intrinsic_vrec|float16,float32
109-6=Intrinsic_vnot|int16,uint16109+5=Intrinsic_vrsqrt|float16,float32
110-7=Intrinsic_vadd|float16,float32,int32,int16110+6=Intrinsic_vnot|int16,uint16
111-8=Intrinsic_vsub|float16,float32,int32,int16111+7=Intrinsic_vadd|float16,float32,int32,int16
112-9=Intrinsic_vmul|float16,float32,int32,int16112+8=Intrinsic_vsub|float16,float32,int32,int16
113-10=Intrinsic_vmax|float16,float32,int32,int16113+9=Intrinsic_vmul|float16,float32,int32,int16
114-11=Intrinsic_vmin|float16,float32,int32,int16114+10=Intrinsic_vmax|float16,float32,int32,int16
115-12=Intrinsic_vand|int16,uint16115+11=Intrinsic_vmin|float16,float32,int32,int16
116-13=Intrinsic_vor|int16,uint16116+12=Intrinsic_vand|int16,uint16
117-14=Intrinsic_vadds|float16,float32,int32,int16117+13=Intrinsic_vor|int16,uint16
118-15=Intrinsic_vmuls|float16,float32,int32,int16118+14=Intrinsic_vadds|float16,float32,int32,int16
119-16=Intrinsic_vaxpy|f16f16f16,f32f32f32,float16,float32119+15=Intrinsic_vmuls|float16,float32,int32,int16
120-17=Intrinsic_vcmpv_ne|float16,float32120+16=Intrinsic_vaxpy|f16f16f16,f32f32f32,float16,float32
121-18=Intrinsic_vcmpv_eq|float16,float32,int32121+17=Intrinsic_vcmpv_ne|float16,float32
122-19=Intrinsic_vcmpv_gt|float16,float32122+18=Intrinsic_vcmpv_eq|float16,float32,int32
123-20=Intrinsic_vcmpv_ge|float16,float32123+19=Intrinsic_vcmpv_gt|float16,float32
124-21=Intrinsic_vcmpv_lt|float16,float32124+20=Intrinsic_vcmpv_ge|float16,float32
125-22=Intrinsic_vcmpv_le|float16,float32125+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,bf162s32z126+22=Intrinsic_vcmpv_le|float16,float32
127-24=Intrinsic_vcadd|float16,float32127+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,float32128+24=Intrinsic_vcadd|float16,float32
129-26=Intrinsic_vcmin|float16,float32129+25=Intrinsic_vcmax|float16,float32
130-27=Intrinsic_vbi|float16,float32130+26=Intrinsic_vcmin|float16,float32
131-28=Intrinsic_vlrelu|float16,float32131+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,f322f16o132+28=Intrinsic_vlrelu|float16,float32
133-30=Intrinsic_vreduce|int16,uint16,float16,float32,int32,uint32133+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,int16134+30=Intrinsic_vreduce|int16,uint16,float16,float32,int32,uint32
135-32=Intrinsic_vcmp|float16,float32135+31=Intrinsic_vmaxs|float16,float32,int32,int16
136-33=Intrinsic_vsel|float16,float32136+32=Intrinsic_vcmp|float16,float32
137-34=Intrinsic_vsqrt|float16,float32137+33=Intrinsic_vsel|float16,float32
138-35=Intrinsic_vdiv|float16,float32138+34=Intrinsic_vsqrt|float16,float32
139-36=Intrinsic_vmins|float16,float32,int32,int16139+35=Intrinsic_vdiv|float16,float32
140-37=Intrinsic_vshl|int16,uint16,int32,uint32140+36=Intrinsic_vmins|float16,float32,int32,int16
141-38=Intrinsic_vshr|int16,uint16,int32,uint32141+37=Intrinsic_vshl|int16,uint16,int32,uint32
142-39=Intrinsic_vnchwconv|float16,float32,int32,int16,uint32,uint16,int8,uint8142+38=Intrinsic_vshr|int16,uint16,int32,uint32
143-40=Intrinsic_vreducev2|int16,uint16,float16,float32,int32,uint32143+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,u32144+40=Intrinsic_vreducev2|int16,uint16,float16,float32,int32,uint32
145-42=Intrinsic_data_move_out2l0a|u8,s8,f16,u16,s16,f32,s32,u32145+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,u32146+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,u32147+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,u32148+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,u32149+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,u32150+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,u32151+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,u32152+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,u32153+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,u32154+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,u32155+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,u32156+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,u32157+53=Intrinsic_data_move_transpose_l12l0a|u8,s8,f16,u16,s16,f32,s32,u32
158-55=Intrinsic_set_l1|f16,u16,s16,f32,s32,u32158+54=Intrinsic_data_move_transpose_l12l0b|u8,s8,f16,u16,s16,f32,s32,u32
159-56=Intrinsic_set_l0a|f16,u16,s16,f32,s32,u32159+55=Intrinsic_set_l1|f16,u16,s16,f32,s32,u32
160-57=Intrinsic_set_l0b|f16,u16,s16,f32,s32,u32160+56=Intrinsic_set_l0a|f16,u16,s16,f32,s32,u32
161-58=Intrinsic_fix_pipe_l0c2l1|f32,s32,f16161+57=Intrinsic_set_l0b|f16,u16,s16,f32,s32,u32
162-59=Intrinsic_fix_pipe_l0c2out|f32,s32,f16162+58=Intrinsic_fix_pipe_l0c2l1|f32,s32,f16
163-60=Intrinsic_fix_pipe_l0c2ub|f32,s32,f16163+59=Intrinsic_fix_pipe_l0c2out|f32,s32,f16
164-61=Intrinsic_fix_pipe_l12fb|u8,s8,f16,u16,s16,f32,s32,u32164+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_transform165+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,cast166+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,s322s4167+63=Intrinsic_fix_pipe_pre_conv_func_list|requant,dequant,quant,cast
168-65=Intrinsic_fix_pipe_pre_conv_dequant|s322f16168+64=Intrinsic_fix_pipe_pre_conv_requant|s322s8,s322u8,s322s4
169-66=Intrinsic_fix_pipe_pre_conv_quant|f322s8,f322u8,f322s4169+65=Intrinsic_fix_pipe_pre_conv_dequant|s322f16
170-67=Intrinsic_fix_pipe_pre_conv_cast|f322f16,f322bf16170+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_relu171+67=Intrinsic_fix_pipe_pre_conv_cast|f322f16,f322bf16
172-69=Intrinsic_fix_pipe_pre_act_normal_relu|f32,f16,bf16,s8,u8,s4,s32172+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,s4173+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,s4174+70=Intrinsic_fix_pipe_pre_act_scalar_relu|f16,s8,u8,s4
175-72=Intrinsic_fix_pipe_pre_act_clip_relu|f16,s8,u8,s4175+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,e5m2e5m2176+72=Intrinsic_fix_pipe_pre_act_clip_relu|f16,s8,u8,s4
177-74=Intrinsic_mmad_sp|s8177+73=Intrinsic_mmad|s8,f162f32,s4,bf162f32,f322f32,h322f32,s32s8s8,f16f16f16,f32f16f16,s32u8u2,f16f16u2,s32s4s4,e4m3e4m3,e4m3e5m2,e5m2e4m3,e5m2e5m2
178-75=Intrinsic_vcgadd|float16,float32178+74=Intrinsic_mmad_sp|s8
179-76=Intrinsic_vconcat|float16,float32179+75=Intrinsic_vcgadd|float16,float32
180-77=Intrinsic_sqrt|int64,float32180+76=Intrinsic_vconcat|float16,float32
181-78=Intrinsic_abs|int64,float32181+77=Intrinsic_sqrt|int64,float32
182-79=Intrinsic_bcnt0|uint64182+78=Intrinsic_abs|int64,float32
183-80=Intrinsic_bcnt1|uint64183+79=Intrinsic_bcnt0|uint64
184-81=Intrinsic_max|int64,float32184+80=Intrinsic_bcnt1|uint64
185-82=Intrinsic_min|int64,float32185+81=Intrinsic_max|int64,float32
186-83=Intrinsic_vcopy|int16,uint16,float16,float32,int32,uint32186+82=Intrinsic_min|int64,float32
187-84=Intrinsic_vbitsort32|float16,float32187+83=Intrinsic_vcopy|int16,uint16,float16,float32,int32,uint32
188-85=Intrinsic_vmrgsort4v2|float16,float32188+84=Intrinsic_vbitsort32|float16,float32
189-86=Intrinsic_vgatherb|u16u16,s16s16,f16f16,u32u32,s32s32,f32f32189+85=Intrinsic_vmrgsort4v2|float16,float32
190-87=Intrinsic_vmadd|float16,float32190+86=Intrinsic_vgatherb|u16u16,s16s16,f16f16,u32u32,s32s32,f32f32
191-88=Intrinsic_vcmpvs_ne|float16,float32191+87=Intrinsic_vmadd|float16,float32
192-89=Intrinsic_vcmpvs_eq|int32,float16,float32192+88=Intrinsic_vcmpvs_ne|float16,float32
193-90=Intrinsic_vcmpvs_gt|float16,float32193+89=Intrinsic_vcmpvs_eq|int32,float16,float32
194-91=Intrinsic_vcmpvs_ge|float16,float32194+90=Intrinsic_vcmpvs_gt|float16,float32
195-92=Intrinsic_vcmpvs_lt|float16,float32195+91=Intrinsic_vcmpvs_ge|float16,float32
196-93=Intrinsic_vcmpvs_le|float16,float32196+92=Intrinsic_vcmpvs_lt|float16,float32
197-94=Intrinsic_vcbd|u82u16,u82u32,s82s16,s82s32,u162u8,u162u32,s162u8,s162u32,s162s32,u322u8,u322u16,u322s16,s322u8,s322u16,s322s16197+93=Intrinsic_vcmpvs_le|float16,float32
198-95=Intrinsic_vcgmax|float16,float32198+94=Intrinsic_vcbd|u82u16,u82u32,s82s16,s82s32,u162u8,u162u32,s162u8,s162u32,s162s32,u322u8,u322u16,u322s16,s322u8,s322u16,s322s16
199-96=Intrinsic_clz|uint64199+95=Intrinsic_vcgmax|float16,float32
200-97=Intrinsic_vmla|f16f16f16,f32f32f32,float16,float32200+96=Intrinsic_clz|uint64
201-98=Intrinsic_vcgmin|float16,float32201+97=Intrinsic_vmla|f16f16f16,f32f32f32,float16,float32
202-99=Intrinsic_vcpadd|float16,float32202+98=Intrinsic_vcgmin|float16,float32
203-100=Intrinsic_vtranspose|uint16,int16,float16203+99=Intrinsic_vcpadd|float16,float32
204-101=Intrinsic_vscatter|int16,uint16,float16,float32,int32,uint32204+100=Intrinsic_vtranspose|uint16,int16,float16
205-102=Intrinsic_vgather|int16,uint16,float16,float32,int32,uint32205+101=Intrinsic_vscatter|int16,uint16,float16,float32,int32,uint32
206-103=Intrinsic_vbrcb|u16u16,s16s16,f16f16,u32u32,s32s32,f32f32206+102=Intrinsic_vgather|int16,uint16,float16,float32,int32,uint32
207-104=Intrinsic_data_move_pad|uint8,int8,uint16,int16,float16,int32,float32,uint32,bfloat16207+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,u32208+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,u32209+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,s32210+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|true211+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=1650214+[VectorCoreSpec]
215-vec_calc_size=128215+vec_freq=1650
216-smask_buffer=0216+vec_calc_size=128
217-ub_size=253952217+smask_buffer=0
218-ubblock_size=32218+ub_size=253952
219-ubbank_size=4096219+ubblock_size=32
220-ubbank_num=16220+ubbank_size=4096
221-ubsubbank_num=64221+ubbank_num=16
222-ubburst_in_one_block=32222+ubsubbank_num=64
223-ubbank_group_num=8223+ubburst_in_one_block=32
224-vector_reg_width=256224+ubbank_group_num=8
225-predicate_reg_width=32225+vector_reg_width=256
226-wide_reg_width=768226+predicate_reg_width=32
227- 227+wide_reg_width=768
228-[VectorCoreMemoryRates]228+ 
229-ddr_rate=14229+[VectorCoreMemoryRates]
230-ddr_read_rate=14230+ddr_rate=14
231-ddr_write_rate=14231+ddr_read_rate=14
232-l2_rate=100232+ddr_write_rate=14
233-l2_read_rate=100233+l2_rate=100
234-l2_write_rate=100234+l2_read_rate=100
235-ub_to_l2_rate=42235+l2_write_rate=100
236-ub_to_ddr_rate=40236+ub_to_l2_rate=42
237- 237+ub_to_ddr_rate=40
238- 238+ 
239-[VectorCoreintrinsicDtypeMap]239+ 
240-0=Intrinsic_vrelu|float16,float32,int32240+[VectorCoreintrinsicDtypeMap]
241-1=Intrinsic_vexp|float16,float32241+0=Intrinsic_vrelu|float16,float32,int32
242-2=Intrinsic_vln|float16,float32242+1=Intrinsic_vexp|float16,float32
243-3=Intrinsic_vabs|float16,float32243+2=Intrinsic_vln|float16,float32
244-4=Intrinsic_vrec|float16,float32244+3=Intrinsic_vabs|float16,float32
245-5=Intrinsic_vrsqrt|float16,float32245+4=Intrinsic_vrec|float16,float32
246-6=Intrinsic_vnot|int16,uint16246+5=Intrinsic_vrsqrt|float16,float32
247-7=Intrinsic_vadd|float16,float32,int32,int16247+6=Intrinsic_vnot|int16,uint16
248-8=Intrinsic_vsub|float16,float32,int32,int16248+7=Intrinsic_vadd|float16,float32,int32,int16
249-9=Intrinsic_vmul|float16,float32,int32,int16249+8=Intrinsic_vsub|float16,float32,int32,int16
250-10=Intrinsic_vmax|float16,float32,int32,int16250+9=Intrinsic_vmul|float16,float32,int32,int16
251-11=Intrinsic_vmin|float16,float32,int32,int16251+10=Intrinsic_vmax|float16,float32,int32,int16
252-12=Intrinsic_vand|int16,uint16252+11=Intrinsic_vmin|float16,float32,int32,int16
253-13=Intrinsic_vor|int16,uint16253+12=Intrinsic_vand|int16,uint16
254-14=Intrinsic_vadds|float16,float32,int32,int16254+13=Intrinsic_vor|int16,uint16
255-15=Intrinsic_vmuls|float16,float32,int32,int16255+14=Intrinsic_vadds|float16,float32,int32,int16
256-16=Intrinsic_vaxpy|f16f16f16,f32f32f32,float16,float32256+15=Intrinsic_vmuls|float16,float32,int32,int16
257-17=Intrinsic_vcmpv_ne|float16,float32257+16=Intrinsic_vaxpy|f16f16f16,f32f32f32,float16,float32
258-18=Intrinsic_vcmpv_eq|float16,float32,int32258+17=Intrinsic_vcmpv_ne|float16,float32
259-19=Intrinsic_vcmpv_gt|float16,float32259+18=Intrinsic_vcmpv_eq|float16,float32,int32
260-20=Intrinsic_vcmpv_ge|float16,float32260+19=Intrinsic_vcmpv_gt|float16,float32
261-21=Intrinsic_vcmpv_lt|float16,float32261+20=Intrinsic_vcmpv_ge|float16,float32
262-22=Intrinsic_vcmpv_le|float16,float32262+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,bf162s32z263+22=Intrinsic_vcmpv_le|float16,float32
264-24=Intrinsic_vcadd|float16,float32264+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,float32265+24=Intrinsic_vcadd|float16,float32
266-26=Intrinsic_vcmin|float16,float32266+25=Intrinsic_vcmax|float16,float32
267-27=Intrinsic_vbi|float16,float32267+26=Intrinsic_vcmin|float16,float32
268-28=Intrinsic_vlrelu|float16,float32268+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,f322f16o269+28=Intrinsic_vlrelu|float16,float32
270-30=Intrinsic_vreduce|int16,uint16,float16,float32,int32,uint32270+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,int16271+30=Intrinsic_vreduce|int16,uint16,float16,float32,int32,uint32
272-32=Intrinsic_vcmp|float16,float32272+31=Intrinsic_vmaxs|float16,float32,int32,int16
273-33=Intrinsic_vsel|float16,float32273+32=Intrinsic_vcmp|float16,float32
274-34=Intrinsic_vsqrt|float16,float32274+33=Intrinsic_vsel|float16,float32
275-35=Intrinsic_vdiv|float16,float32275+34=Intrinsic_vsqrt|float16,float32
276-36=Intrinsic_vmins|float16,float32,int32,int16276+35=Intrinsic_vdiv|float16,float32
277-37=Intrinsic_vshl|int16,uint16,int32,uint32277+36=Intrinsic_vmins|float16,float32,int32,int16
278-38=Intrinsic_vshr|int16,uint16,int32,uint32278+37=Intrinsic_vshl|int16,uint16,int32,uint32
279-39=Intrinsic_vnchwconv|float16,float32,int32,int16,uint32,uint16,int8,uint8279+38=Intrinsic_vshr|int16,uint16,int32,uint32
280-40=Intrinsic_vreducev2|int16,uint16,float16,float32,int32,uint32280+39=Intrinsic_vnchwconv|float16,float32,int32,int16,uint32,uint16,int8,uint8
281-41=Intrinsic_vcpadd|float16,float32281+40=Intrinsic_vreducev2|int16,uint16,float16,float32,int32,uint32
282-42=Intrinsic_vgatherb|u16u16,s16s16,f16f16,u32u32,s32s32,f32f32282+41=Intrinsic_vcpadd|float16,float32
283-43=Intrinsic_vbrcb|u16u16,s16s16,f16f16,u32u32,s32s32,f32f32283+42=Intrinsic_vgatherb|u16u16,s16s16,f16f16,u32u32,s32s32,f32f32
284-44=Intrinsic_sqrt|int64,float32284+43=Intrinsic_vbrcb|u16u16,s16s16,f16f16,u32u32,s32s32,f32f32
285-45=Intrinsic_abs|int64,float32285+44=Intrinsic_sqrt|int64,float32
286-46=Intrinsic_bcnt0|uint64286+45=Intrinsic_abs|int64,float32
287-47=Intrinsic_bcnt1|uint64287+46=Intrinsic_bcnt0|uint64
288-48=Intrinsic_clz|uint64288+47=Intrinsic_bcnt1|uint64
289-49=Intrinsic_max|int64,float32289+48=Intrinsic_clz|uint64
290-50=Intrinsic_min|int64,float32290+49=Intrinsic_max|int64,float32
291-51=Intrinsic_vcgadd|float16,float32291+50=Intrinsic_min|int64,float32
292-52=Intrinsic_vectorized_psts|uint8,int8,uint16,int16,uint32,int32,float16,float32292+51=Intrinsic_vcgadd|float16,float32
293-53=Intrinsic_vgather|int16,uint16,float16,float32,int32,uint32293+52=Intrinsic_vectorized_psts|uint8,int8,uint16,int16,uint32,int32,float16,float32
294-98=Intrinsic_vectorized_vadds|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32294+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,s16s64295+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,s16s64296+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,u16s48297+100=Intrinsic_vectorized_vmul|u8u8,s8s8,u16u16,s16s16,s32s32,f16f16,f32f32,u8s24,s8s24,u16s48,s16s48,u16s64,s16s64
298-102=Intrinsic_vectorized_vexp|f16f16,f32f32298+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,u16s48299+102=Intrinsic_vectorized_vexp|f16f16,f32f32
300-104=Intrinsic_vectorized_vdiv|u16u16,s16s16,u32u32,s32s32,f16f16,f32f32300+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,f32f32301+104=Intrinsic_vectorized_vdiv|u16u16,s16s16,u32u32,s32s32,f16f16,f32f32
302-106=Intrinsic_vectorized_vmins|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32302+105=Intrinsic_vectorized_vmaxs|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32
303-107=Intrinsic_vectorized_vcadd|s8s16,s16s32,s32s32,u8u16,u16u32,u32u32,f16f16,f32f32303+106=Intrinsic_vectorized_vmins|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32
304-108=Intrinsic_vectorized_vcmax|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32304+107=Intrinsic_vectorized_vcadd|s8s16,s16s32,s32s32,u8u16,u16u32,u32u32,f16f16,f32f32
305-109=Intrinsic_vectorized_vcmin|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32305+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,f32f32306+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,f32f32307+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,f32f32308+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,f32f32309+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,float32310+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,float32311+114=Intrinsic_vectorized_vdup|uint8,int8,uint16,int16,uint32,int32,float16,float32
312-116=Intrinsic_vectorized_vdups|uint8,int8,uint16,int16,uint32,int32,float16,float32312+115=Intrinsic_vectorized_vdupm|uint8,int8,uint16,int16,uint32,int32,float16,float32
313-117=Intrinsic_vectorized_vdupi|uint8,int8,uint16,int16,float16313+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,float32314+117=Intrinsic_vectorized_vdupi|uint8,int8,uint16,int16,float16
315-119=Intrinsic_vectorized_vcmp_ne|uint8,int8,uint16,int16,uint32,int32,float16,float32315+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,float32316+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,float32317+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,float32318+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,float32319+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,float32320+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,float32321+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,float32322+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,float32323+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,float32324+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,float32325+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,f32u32326+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,f32f32327+130=Intrinsic_vectorized_vscatter|s8u16,u8u16,s16u16,u16u16,s32u32,u32u32,f16u16,f32u32
328-132=Intrinsic_vectorized_vsqrt|f16f16,f32f32328+131=Intrinsic_vectorized_vmov|bb,u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32
329-133=Intrinsic_vectorized_vshls|u8u8,u16u16,s16s16,u32u32,s32s32329+132=Intrinsic_vectorized_vsqrt|f16f16,f32f32
330-134=Intrinsic_vectorized_vrnds|s16s16,s32s32330+133=Intrinsic_vectorized_vshls|u8u8,u16u16,s16s16,u32u32,s32s32
331-135=Intrinsic_vectorized_vlrelu|f16f16,f32f32331+134=Intrinsic_vectorized_vrnds|s16s16,s32s32
332-136=Intrinsic_vectorized_vsadds|s16s16332+135=Intrinsic_vectorized_vlrelu|f16f16,f32f32
333-137=Intrinsic_vectorized_vcbmax|uint8,int8,uint16,int16,uint32,int32,float16,float32333+136=Intrinsic_vectorized_vsadds|s16s16
334-138=Intrinsic_vectorized_vcbmin|uint8,int8,uint16,int16,uint32,int32,float16,float32334+137=Intrinsic_vectorized_vcbmax|uint8,int8,uint16,int16,uint32,int32,float16,float32
335-139=Intrinsic_vectorized_vmula|u8u8,s8s8,u16u16,s16s16,s32s32,f16f16,f32f32335+138=Intrinsic_vectorized_vcbmin|uint8,int8,uint16,int16,uint32,int32,float16,float32
336-140=Intrinsic_vectorized_vmadd|f16f16,f32f32336+139=Intrinsic_vectorized_vmula|u8u8,s8s8,u16u16,s16s16,s32s32,f16f16,f32f32
337-142=Intrinsic_vectorized_vrnd|s16s16,s32s32337+140=Intrinsic_vectorized_vmadd|f16f16,f32f32
338-143=Intrinsic_vectorized_vavg|u8u8,s8s8,u16u16,s16s16338+142=Intrinsic_vectorized_vrnd|s16s16,s32s32
339-144=Intrinsic_vectorized_vadd3|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32339+143=Intrinsic_vectorized_vavg|u8u8,s8s8,u16u16,s16s16
340-146=Intrinsic_vectorized_vadif|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32340+144=Intrinsic_vectorized_vadd3|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32
341-147=Intrinsic_vectorized_vsad|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32341+146=Intrinsic_vectorized_vadif|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32
342-149=Intrinsic_vectorized_vsadd|s16s16342+147=Intrinsic_vectorized_vsad|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32
343-150=Intrinsic_vectorized_vssub|s16s16343+149=Intrinsic_vectorized_vsadd|s16s16
344-154=Intrinsic_vectorized_vrsqrt|f16f16,f32f32344+150=Intrinsic_vectorized_vssub|s16s16
345-155=Intrinsic_vectorized_vnot|bb,u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32345+154=Intrinsic_vectorized_vrsqrt|f16f16,f32f32
346-156=Intrinsic_vectorized_vneg|s8s8,s16s16,s32s32,f16f16,f32f32346+155=Intrinsic_vectorized_vnot|bb,u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32
347-157=Intrinsic_vectorized_vln|f16f16,f32f32347+156=Intrinsic_vectorized_vneg|s8s8,s16s16,s32s32,f16f16,f32f32
348-158=Intrinsic_vectorized_vcls|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32348+157=Intrinsic_vectorized_vln|f16f16,f32f32
349-160=Intrinsic_vectorized_vintlv|uint8,int8,uint16,int16,uint32,int32,float16,float32349+158=Intrinsic_vectorized_vcls|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32
350-161=Intrinsic_vectorized_vdintlv|uint8,int8,uint16,int16,uint32,int32,float16,float32350+160=Intrinsic_vectorized_vintlv|uint8,int8,uint16,int16,uint32,int32,float16,float32
351-162=Intrinsic_vectorized_vselr|u8u8u8,s8s8u8,u16u16u16,s16s16u16,f16f16u16351+161=Intrinsic_vectorized_vdintlv|uint8,int8,uint16,int16,uint32,int32,float16,float32
352-163=Intrinsic_vectorized_vpack|bb,u16u8,s16u8,u32u16,s32u16352+162=Intrinsic_vectorized_vselr|u8u8u8,s8s8u8,u16u16u16,s16s16u16,f16f16u16
353-164=Intrinsic_vectorized_vunpack|bb,u8u16,s8s16,u16u32,s16s32353+163=Intrinsic_vectorized_vpack|bb,u16u8,s16u8,u32u16,s32u16
354-165=Intrinsic_vectorized_vsqz|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32354+164=Intrinsic_vectorized_vunpack|bb,u8u16,s8s16,u16u32,s16s32
355-166=Intrinsic_vectorized_vbr|uint8,int8,uint16,int16,uint32,int32,float16,float32355+165=Intrinsic_vectorized_vsqz|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32
356-167=Intrinsic_vectorized_vci|int8,int16,int32,float16,float32356+166=Intrinsic_vectorized_vbr|uint8,int8,uint16,int16,uint32,int32,float16,float32
357-168=Intrinsic_vectorized_vgatherb|int8,uint8,int16,uint16,int32,uint32,float16,float32357+167=Intrinsic_vectorized_vci|int8,int16,int32,float16,float32
358-169=Intrinsic_vectorized_vgather2|s16u16s8,u16u16u8,s16u16s16,u16u16u16,s32u32s32,u32u32u32,f16u16f16,f32u32f32358+168=Intrinsic_vectorized_vgatherb|int8,uint8,int16,uint16,int32,uint32,float16,float32
359-172=Intrinsic_vectorized_vmax|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32359+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,u16s48360+172=Intrinsic_vectorized_vmax|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32
361-174=Intrinsic_vectorized_vbcnt|u8s8,s8s8,u16s16,s16s16,u32s32,s32s32361+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,float32362+174=Intrinsic_vectorized_vbcnt|u8s8,s8s8,u16s16,s16s16,u32s32,s32s32
363-176=Intrinsic_vectorized_vaxpy|f16f16,f32f32363+175=Intrinsic_vectorized_pld|uint8,int8,uint16,int16,uint32,int32,float16,float32
364-177=Intrinsic_vectorized_vmin|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32364+176=Intrinsic_vectorized_vaxpy|f16f16,f32f32
365-178=Intrinsic_vectorized_vrec|f16f16,f32f32365+177=Intrinsic_vectorized_vmin|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32
366-179=Intrinsic_vectorized_vlog|float16,float32366+178=Intrinsic_vectorized_vrec|f16f16,f32f32
367-180=Intrinsic_vectorized_vabs|s8s8,s16s16,s32s32,f16f16,f32f32367+179=Intrinsic_vectorized_vlog|float16,float32
368-181=Intrinsic_vectorized_plt|uint8,int8,uint16,int16,float16,int32,float32,uint32368+180=Intrinsic_vectorized_vabs|s8s8,s16s16,s32s32,f16f16,f32f32
369-182=Intrinsic_data_move_gather|uint8,int8,uint16,int16,float16,int32,float32,uint32,uint64,int64369+181=Intrinsic_vectorized_plt|uint8,int8,uint16,int16,float16,int32,float32,uint32
370-183=Intrinsic_vector_filter1d|u8s16,s8s16,u16s16,s16s16370+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,f32f32371+183=Intrinsic_vector_filter1d|u8s16,s8s16,u16s16,s16s16
372-185=Intrinsic_vectorized_vshl|u8u8,u16u16,s16s16,u32u32,s32s32372+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,s48s32373+185=Intrinsic_vectorized_vshl|u8u8,u16u16,s16s16,u32u32,s32s32
374-188=Intrinsic_vectorized_vrelu|s32s32,f16f16,f32f32374+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,uint32375+188=Intrinsic_vectorized_vrelu|s32s32,f16f16,f32f32
376-190=Intrinsic_vectorized_pset|uint8,int8,uint16,int16,float16,int32,float32,uint32376+189=Intrinsic_vectorized_pge|uint8,int8,uint16,int16,float16,int32,float32,uint32
377-191=Intrinsic_vectorized_pslide|uint8,int8,uint16,int16,float16,int32,float32,uint32377+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,bfloat16378+191=Intrinsic_vectorized_pslide|uint8,int8,uint16,int16,float16,int32,float32,uint32
379-193=Intrinsic_vectorized_vsld|uint8,int8,uint16,int16,float16,int32,float32,uint32379+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,s32s16380+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,s48s32381+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,float32382+196=Intrinsic_vectorized_vshrs|u8u8,u16u16,s16s16,u32u32,s32s32,s24s8,s24u8,s48s16,s48u16,s64s32,s24s16,s24u16,s48s32
383-198=Intrinsic_vectorized_dhist|u8u32383+197=Intrinsic_vectorized_pst|uint8,int8,uint16,int16,uint32,int32,float16,float32
384-199=Intrinsic_vectorized_dhistv2|u8u16384+198=Intrinsic_vectorized_dhist|u8u32
385-200=Intrinsic_vectorized_chist|u8u32385+199=Intrinsic_vectorized_dhistv2|u8u16
386-201=Intrinsic_vectorized_chistv2|u8u16386+200=Intrinsic_vectorized_chist|u8u32
387-202=Intrinsic_vectorized_vfilter|s8s48,u8s48,s16s48,u16s48387+201=Intrinsic_vectorized_chistv2|u8u16
388-203=Intrinsic_vectorized_vslide|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32388+202=Intrinsic_vectorized_vfilter|s8s48,u8s48,s16s48,u16s48
389-204=Intrinsic_vectorized_fmax|u8u8389+203=Intrinsic_vectorized_vslide|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32
390-205=Intrinsic_vectorized_fmin|u8u8390+204=Intrinsic_vectorized_fmax|u8u8
391-206=Intrinsic_vectorized_vusqz|bs8,bs16,bs32,bu8,bu16,bu32391+205=Intrinsic_vectorized_fmin|u8u8
392-207=Intrinsic_vectorized_vtrc|f16f16,f32f32392+206=Intrinsic_vectorized_vusqz|bs8,bs16,bs32,bu8,bu16,bu32
393-208=Intrinsic_fix_pipe_l0c2out|f32,s32,f16393+207=Intrinsic_vectorized_vtrc|f16f16,f32f32
394-209=Intrinsic_vcopy|int16,uint16,float16,float32,int32,uint32394+208=Intrinsic_fix_pipe_l0c2out|f32,s32,f16
395-210=Intrinsic_vbitsort32|float16,float32395+209=Intrinsic_vcopy|int16,uint16,float16,float32,int32,uint32
396-211=Intrinsic_vmrgsort4v2|float16,float32396+210=Intrinsic_vbitsort32|float16,float32
397-212=Intrinsic_vmadd|float16,float32397+211=Intrinsic_vmrgsort4v2|float16,float32
398-213=Intrinsic_vcmpvs_ne|float16,float32398+212=Intrinsic_vmadd|float16,float32
399-214=Intrinsic_vcmpvs_eq|int32,float16,float32399+213=Intrinsic_vcmpvs_ne|float16,float32
400-215=Intrinsic_vcmpvs_gt|float16,float32400+214=Intrinsic_vcmpvs_eq|int32,float16,float32
401-216=Intrinsic_vcmpvs_ge|float16,float32401+215=Intrinsic_vcmpvs_gt|float16,float32
402-217=Intrinsic_vcmpvs_lt|float16,float32402+216=Intrinsic_vcmpvs_ge|float16,float32
403-218=Intrinsic_vcmpvs_le|float16,float32403+217=Intrinsic_vcmpvs_lt|float16,float32
404-219=Intrinsic_vcbd|u82u16,u82u32,s82s16,s82s32,u162u8,u162u32,s162u8,s162u32,s162s32,u322u8,u322u16,u322s16,s322u8,s322u16,s322s16404+218=Intrinsic_vcmpvs_le|float16,float32
405-220=Intrinsic_vcgmax|float16,float32405+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,float32406+220=Intrinsic_vcgmax|float16,float32
407-222=Intrinsic_vcgmin|float16,float32407+221=Intrinsic_vmla|f16f16f16,f32f32f32,float16,float32
408-223=Intrinsic_vtranspose|uint16,int16,float16408+222=Intrinsic_vcgmin|float16,float32
409-224=Intrinsic_vscatter|int16,uint16,float16,float32,int32,uint32409+223=Intrinsic_vtranspose|uint16,int16,float16
410-225=Intrinsic_vci|float16,float32,int16,int32410+224=Intrinsic_vscatter|int16,uint16,float16,float32,int32,uint32
411-226=Intrinsic_vbrcb|u16u16,s16s16,f16f16,u32u32,s32s32,f32f32411+225=Intrinsic_vci|float16,float32,int16,int32
412-227=Intrinsic_vectorized_plds|uint8,int8,uint16,int16,uint32,int32,float16,float32412+226=Intrinsic_vbrcb|u16u16,s16s16,f16f16,u32u32,s32s32,f32f32
413-228=Intrinsic_vbitsort|float16413+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_355e5+SoC_version=Ascend350_355e
6-Short_SoC_version=Ascend3506+Short_SoC_version=Ascend350
7-AIC_version=AIC-C-3107+AIC_version=AIC-C-310
8-CCEC_AIC_version=dav-c310-cube8+CCEC_AIC_version=dav-c310-cube
9-CCEC_AIV_version=dav-c310-vec9+CCEC_AIV_version=dav-c310-vec
10-CCEC_CUBE_version=dav-c310-cube10+CCEC_CUBE_version=dav-c310-cube
11-CCEC_VECTOR_version=dav-c310-vec11+CCEC_VECTOR_version=dav-c310-vec
12-Compiler_aicpu_support_os=true12+Compiler_aicpu_support_os=true
13-NpuArch=351013+NpuArch=3510
14- 14+Chip_type=15
15-[SoCInfo]15+ 
16-ai_core_cnt=1616+[SoCInfo]
17-cube_core_cnt=1617+ai_core_cnt=16
18-vector_core_cnt=3218+cube_core_cnt=16
19-ai_cpu_cnt=419+vector_core_cnt=32
20-memory_type=020+ai_cpu_cnt=4
21-memory_size=6871947673621+memory_type=0
22-l2_type=022+memory_size=68719476736
23-l2_size=6710886423+l2_type=0
24-l2PageNum=6424+l2_size=67108864
25-normal_stream_num=204825+l2PageNum=64
26-normal_stream_depth=204826+normal_stream_num=2048
27-huge_stream_num=027+normal_stream_depth=2048
28-huge_stream_depth=028+huge_stream_num=0
29-prefetch_num=829+huge_stream_depth=0
30-core_type_list=CubeCore,VectorCore30+prefetch_num=8
31-cube_vector_combine=split31+core_type_list=CubeCore,VectorCore
32-hardware_sync_betweencore=132+cube_vector_combine=split
33-vir_type_list=8,1633+hardware_sync_betweencore=1
34-support_bf16=134+vir_type_list=8,16
35-support_inf_nan=135+support_bf16=1
36- 36+support_inf_nan=1
37-[AICoreSpec]37+ 
38-cube_freq=165038+[AICoreSpec]
39-cube_m_size=1639+cube_freq=1650
40-cube_n_size=1640+cube_m_size=16
41-cube_k_size=1641+cube_n_size=16
42-vec_calc_size=12842+cube_k_size=16
43-l0_a_size=6553643+vec_calc_size=128
44-l0_b_size=6553644+l0_a_size=65536
45-l0_c_size=26214445+l0_b_size=65536
46-l1_size=52428846+l0_c_size=262144
47-fb0_size=409647+l1_size=524288
48-fb1_size=204848+fb0_size=4096
49-fb2_size=049+fb1_size=2048
50-fb3_size=050+fb2_size=0
51-bt_size=409651+fb3_size=0
52-smask_buffer=052+bt_size=4096
53-ub_size=25395253+smask_buffer=0
54-ubblock_size=3254+ub_size=253952
55-ubbank_size=409655+ubblock_size=32
56-ubbank_num=1656+ubbank_size=4096
57-ubsubbank_num=6457+ubbank_num=16
58-ubburst_in_one_block=3258+ubsubbank_num=64
59-ubbank_group_num=859+ubburst_in_one_block=32
60-support_fixpipe=160+ubbank_group_num=8
61-sparsity=061+support_fixpipe=1
62-l0a_layout_zN=162+sparsity=0
63-vector_reg_width=25663+l0a_layout_zN=1
64-predicate_reg_width=3264+vector_reg_width=256
65-wide_reg_width=76865+predicate_reg_width=32
66-padding_size=066+wide_reg_width=768
67- 67+padding_size=0
68-[AICoreMemoryRates]68+ 
69-ddr_rate=3169+[AICoreMemoryRates]
70-ddr_read_rate=3170+ddr_rate=31
71-ddr_write_rate=3171+ddr_read_rate=31
72-l2_rate=10072+ddr_write_rate=31
73-l2_read_rate=10073+l2_rate=100
74-l2_write_rate=10074+l2_read_rate=100
75-l1_to_l0_a_rate=25675+l2_write_rate=100
76-l1_to_l0_b_rate=25676+l1_to_l0_a_rate=256
77-l1_to_ub_rate=12877+l1_to_l0_b_rate=256
78-l0_c_to_ub_rate=12878+l1_to_ub_rate=128
79-ub_to_l2_rate=12879+l0_c_to_ub_rate=128
80-ub_to_ddr_rate=12880+ub_to_l2_rate=128
81-ub_to_l1_rate=12881+ub_to_ddr_rate=128
82- 82+ub_to_l1_rate=128
83-[DtypeMKN]83+ 
84-Default=16,16,1684+[DtypeMKN]
85-DT_FLOAT8_E4M3FN=16,32,1685+Default=16,16,16
86-DT_HIFLOAT8=16,32,1686+DT_FLOAT8_E4M3FN=16,32,16
87-DT_HIFLOAT4=16,64,1687+DT_HIFLOAT8=16,32,16
88-DT_FLOAT4_E2M1=16,64,1688+DT_HIFLOAT4=16,64,16
89-DT_FLOAT4_E1M2=16,64,1689+DT_FLOAT4_E2M1=16,64,16
90-DT_INT8=16,32,1690+DT_FLOAT4_E1M2=16,64,16
91-DT_UINT8=16,32,1691+DT_INT8=16,32,16
92-DT_INT4=16,64,1692+DT_UINT8=16,32,16
93-DT_INT2=16,128,1693+DT_INT4=16,64,16
94-DT_UINT2=16,128,1694+DT_INT2=16,128,16
95-DT_UINT1=16,256,1695+DT_UINT2=16,128,16
96-DT_FLOAT=16,8,1696+DT_UINT1=16,256,16
97-DT_INT32=16,8,1697+DT_FLOAT=16,8,16
98- 98+DT_INT32=16,8,16
99-[CPUCache]99+ 
100-AICPUSyncBySW=0100+[CPUCache]
101-TSCPUSyncBySW=0101+AICPUSyncBySW=0
102- 102+TSCPUSyncBySW=0
103-[AICoreintrinsicDtypeMap]103+ 
104-0=Intrinsic_vrelu|float16,float32,int32104+[AICoreintrinsicDtypeMap]
105-1=Intrinsic_vexp|float16,float32105+0=Intrinsic_vrelu|float16,float32,int32
106-2=Intrinsic_vln|float16,float32106+1=Intrinsic_vexp|float16,float32
107-3=Intrinsic_vabs|float16,float32107+2=Intrinsic_vln|float16,float32
108-4=Intrinsic_vrec|float16,float32108+3=Intrinsic_vabs|float16,float32
109-5=Intrinsic_vrsqrt|float16,float32109+4=Intrinsic_vrec|float16,float32
110-6=Intrinsic_vnot|int16,uint16110+5=Intrinsic_vrsqrt|float16,float32
111-7=Intrinsic_vadd|float16,float32,int32,int16111+6=Intrinsic_vnot|int16,uint16
112-8=Intrinsic_vsub|float16,float32,int32,int16112+7=Intrinsic_vadd|float16,float32,int32,int16
113-9=Intrinsic_vmul|float16,float32,int32,int16113+8=Intrinsic_vsub|float16,float32,int32,int16
114-10=Intrinsic_vmax|float16,float32,int32,int16114+9=Intrinsic_vmul|float16,float32,int32,int16
115-11=Intrinsic_vmin|float16,float32,int32,int16115+10=Intrinsic_vmax|float16,float32,int32,int16
116-12=Intrinsic_vand|int16,uint16116+11=Intrinsic_vmin|float16,float32,int32,int16
117-13=Intrinsic_vor|int16,uint16117+12=Intrinsic_vand|int16,uint16
118-14=Intrinsic_vadds|float16,float32,int32,int16118+13=Intrinsic_vor|int16,uint16
119-15=Intrinsic_vmuls|float16,float32,int32,int16119+14=Intrinsic_vadds|float16,float32,int32,int16
120-16=Intrinsic_vaxpy|f16f16f16,f32f32f32,float16,float32120+15=Intrinsic_vmuls|float16,float32,int32,int16
121-17=Intrinsic_vcmpv_ne|float16,float32121+16=Intrinsic_vaxpy|f16f16f16,f32f32f32,float16,float32
122-18=Intrinsic_vcmpv_eq|float16,float32,int32122+17=Intrinsic_vcmpv_ne|float16,float32
123-19=Intrinsic_vcmpv_gt|float16,float32123+18=Intrinsic_vcmpv_eq|float16,float32,int32
124-20=Intrinsic_vcmpv_ge|float16,float32124+19=Intrinsic_vcmpv_gt|float16,float32
125-21=Intrinsic_vcmpv_lt|float16,float32125+20=Intrinsic_vcmpv_ge|float16,float32
126-22=Intrinsic_vcmpv_le|float16,float32126+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,bf162s32z127+22=Intrinsic_vcmpv_le|float16,float32
128-24=Intrinsic_vcadd|float16,float32128+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,float32129+24=Intrinsic_vcadd|float16,float32
130-26=Intrinsic_vcmin|float16,float32130+25=Intrinsic_vcmax|float16,float32
131-27=Intrinsic_vbi|float16,float32131+26=Intrinsic_vcmin|float16,float32
132-28=Intrinsic_vlrelu|float16,float32132+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,f322f16o133+28=Intrinsic_vlrelu|float16,float32
134-30=Intrinsic_vreduce|int16,uint16,float16,float32,int32,uint32134+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,int16135+30=Intrinsic_vreduce|int16,uint16,float16,float32,int32,uint32
136-32=Intrinsic_vcmp|float16,float32136+31=Intrinsic_vmaxs|float16,float32,int32,int16
137-33=Intrinsic_vsel|float16,float32137+32=Intrinsic_vcmp|float16,float32
138-34=Intrinsic_vsqrt|float16,float32138+33=Intrinsic_vsel|float16,float32
139-35=Intrinsic_vdiv|float16,float32139+34=Intrinsic_vsqrt|float16,float32
140-36=Intrinsic_vmins|float16,float32,int32,int16140+35=Intrinsic_vdiv|float16,float32
141-37=Intrinsic_vshl|int16,uint16,int32,uint32141+36=Intrinsic_vmins|float16,float32,int32,int16
142-38=Intrinsic_vshr|int16,uint16,int32,uint32142+37=Intrinsic_vshl|int16,uint16,int32,uint32
143-39=Intrinsic_vnchwconv|float16,float32,int32,int16,uint32,uint16,int8,uint8143+38=Intrinsic_vshr|int16,uint16,int32,uint32
144-40=Intrinsic_vreducev2|int16,uint16,float16,float32,int32,uint32144+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,u32145+40=Intrinsic_vreducev2|int16,uint16,float16,float32,int32,uint32
146-42=Intrinsic_data_move_out2l0a|u8,s8,f16,u16,s16,f32,s32,u32146+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,u32147+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,u32148+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,u32149+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,u32150+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,u32151+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,u32152+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,u32153+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,u32154+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,u32155+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,u32156+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,u32157+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,u32158+53=Intrinsic_data_move_transpose_l12l0a|u8,s8,f16,u16,s16,f32,s32,u32
159-55=Intrinsic_set_l1|f16,u16,s16,f32,s32,u32159+54=Intrinsic_data_move_transpose_l12l0b|u8,s8,f16,u16,s16,f32,s32,u32
160-56=Intrinsic_set_l0a|f16,u16,s16,f32,s32,u32160+55=Intrinsic_set_l1|f16,u16,s16,f32,s32,u32
161-57=Intrinsic_set_l0b|f16,u16,s16,f32,s32,u32161+56=Intrinsic_set_l0a|f16,u16,s16,f32,s32,u32
162-58=Intrinsic_fix_pipe_l0c2l1|f32,s32,f16162+57=Intrinsic_set_l0b|f16,u16,s16,f32,s32,u32
163-59=Intrinsic_fix_pipe_l0c2out|f32,s32,f16163+58=Intrinsic_fix_pipe_l0c2l1|f32,s32,f16
164-60=Intrinsic_fix_pipe_l0c2ub|f32,s32,f16164+59=Intrinsic_fix_pipe_l0c2out|f32,s32,f16
165-61=Intrinsic_fix_pipe_l12fb|u8,s8,f16,u16,s16,f32,s32,u32165+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_transform166+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,cast167+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,s322s4168+63=Intrinsic_fix_pipe_pre_conv_func_list|requant,dequant,quant,cast
169-65=Intrinsic_fix_pipe_pre_conv_dequant|s322f16169+64=Intrinsic_fix_pipe_pre_conv_requant|s322s8,s322u8,s322s4
170-66=Intrinsic_fix_pipe_pre_conv_quant|f322s8,f322u8,f322s4170+65=Intrinsic_fix_pipe_pre_conv_dequant|s322f16
171-67=Intrinsic_fix_pipe_pre_conv_cast|f322f16,f322bf16171+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_relu172+67=Intrinsic_fix_pipe_pre_conv_cast|f322f16,f322bf16
173-69=Intrinsic_fix_pipe_pre_act_normal_relu|f32,f16,bf16,s8,u8,s4,s32173+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,s4174+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,s4175+70=Intrinsic_fix_pipe_pre_act_scalar_relu|f16,s8,u8,s4
176-72=Intrinsic_fix_pipe_pre_act_clip_relu|f16,s8,u8,s4176+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,e5m2e5m2177+72=Intrinsic_fix_pipe_pre_act_clip_relu|f16,s8,u8,s4
178-74=Intrinsic_mmad_sp|s8178+73=Intrinsic_mmad|s8,f162f32,s4,bf162f32,f322f32,h322f32,s32s8s8,f16f16f16,f32f16f16,s32u8u2,f16f16u2,s32s4s4,e4m3e4m3,e4m3e5m2,e5m2e4m3,e5m2e5m2
179-75=Intrinsic_vcgadd|float16,float32179+74=Intrinsic_mmad_sp|s8
180-76=Intrinsic_vconcat|float16,float32180+75=Intrinsic_vcgadd|float16,float32
181-77=Intrinsic_sqrt|int64,float32181+76=Intrinsic_vconcat|float16,float32
182-78=Intrinsic_abs|int64,float32182+77=Intrinsic_sqrt|int64,float32
183-79=Intrinsic_bcnt0|uint64183+78=Intrinsic_abs|int64,float32
184-80=Intrinsic_bcnt1|uint64184+79=Intrinsic_bcnt0|uint64
185-81=Intrinsic_max|int64,float32185+80=Intrinsic_bcnt1|uint64
186-82=Intrinsic_min|int64,float32186+81=Intrinsic_max|int64,float32
187-83=Intrinsic_vcopy|int16,uint16,float16,float32,int32,uint32187+82=Intrinsic_min|int64,float32
188-84=Intrinsic_vbitsort32|float16,float32188+83=Intrinsic_vcopy|int16,uint16,float16,float32,int32,uint32
189-85=Intrinsic_vmrgsort4v2|float16,float32189+84=Intrinsic_vbitsort32|float16,float32
190-86=Intrinsic_vgatherb|u16u16,s16s16,f16f16,u32u32,s32s32,f32f32190+85=Intrinsic_vmrgsort4v2|float16,float32
191-87=Intrinsic_vmadd|float16,float32191+86=Intrinsic_vgatherb|u16u16,s16s16,f16f16,u32u32,s32s32,f32f32
192-88=Intrinsic_vcmpvs_ne|float16,float32192+87=Intrinsic_vmadd|float16,float32
193-89=Intrinsic_vcmpvs_eq|int32,float16,float32193+88=Intrinsic_vcmpvs_ne|float16,float32
194-90=Intrinsic_vcmpvs_gt|float16,float32194+89=Intrinsic_vcmpvs_eq|int32,float16,float32
195-91=Intrinsic_vcmpvs_ge|float16,float32195+90=Intrinsic_vcmpvs_gt|float16,float32
196-92=Intrinsic_vcmpvs_lt|float16,float32196+91=Intrinsic_vcmpvs_ge|float16,float32
197-93=Intrinsic_vcmpvs_le|float16,float32197+92=Intrinsic_vcmpvs_lt|float16,float32
198-94=Intrinsic_vcbd|u82u16,u82u32,s82s16,s82s32,u162u8,u162u32,s162u8,s162u32,s162s32,u322u8,u322u16,u322s16,s322u8,s322u16,s322s16198+93=Intrinsic_vcmpvs_le|float16,float32
199-95=Intrinsic_vcgmax|float16,float32199+94=Intrinsic_vcbd|u82u16,u82u32,s82s16,s82s32,u162u8,u162u32,s162u8,s162u32,s162s32,u322u8,u322u16,u322s16,s322u8,s322u16,s322s16
200-96=Intrinsic_clz|uint64200+95=Intrinsic_vcgmax|float16,float32
201-97=Intrinsic_vmla|f16f16f16,f32f32f32,float16,float32201+96=Intrinsic_clz|uint64
202-98=Intrinsic_vcgmin|float16,float32202+97=Intrinsic_vmla|f16f16f16,f32f32f32,float16,float32
203-99=Intrinsic_vcpadd|float16,float32203+98=Intrinsic_vcgmin|float16,float32
204-100=Intrinsic_vtranspose|uint16,int16,float16204+99=Intrinsic_vcpadd|float16,float32
205-101=Intrinsic_vscatter|int16,uint16,float16,float32,int32,uint32205+100=Intrinsic_vtranspose|uint16,int16,float16
206-102=Intrinsic_vgather|int16,uint16,float16,float32,int32,uint32206+101=Intrinsic_vscatter|int16,uint16,float16,float32,int32,uint32
207-103=Intrinsic_vbrcb|u16u16,s16s16,f16f16,u32u32,s32s32,f32f32207+102=Intrinsic_vgather|int16,uint16,float16,float32,int32,uint32
208-104=Intrinsic_data_move_pad|uint8,int8,uint16,int16,float16,int32,float32,uint32,bfloat16208+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,u32209+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,u32210+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,s32211+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|true212+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=1650215+[VectorCoreSpec]
216-vec_calc_size=128216+vec_freq=1650
217-smask_buffer=0217+vec_calc_size=128
218-ub_size=253952218+smask_buffer=0
219-ubblock_size=32219+ub_size=253952
220-ubbank_size=4096220+ubblock_size=32
221-ubbank_num=16221+ubbank_size=4096
222-ubsubbank_num=64222+ubbank_num=16
223-ubburst_in_one_block=32223+ubsubbank_num=64
224-ubbank_group_num=8224+ubburst_in_one_block=32
225-vector_reg_width=256225+ubbank_group_num=8
226-predicate_reg_width=32226+vector_reg_width=256
227-wide_reg_width=768227+predicate_reg_width=32
228- 228+wide_reg_width=768
229-[VectorCoreMemoryRates]229+ 
230-ddr_rate=16230+[VectorCoreMemoryRates]
231-ddr_read_rate=16231+ddr_rate=16
232-ddr_write_rate=16232+ddr_read_rate=16
233-l2_rate=100233+ddr_write_rate=16
234-l2_read_rate=100234+l2_rate=100
235-l2_write_rate=100235+l2_read_rate=100
236-ub_to_l2_rate=42236+l2_write_rate=100
237-ub_to_ddr_rate=40237+ub_to_l2_rate=42
238- 238+ub_to_ddr_rate=40
239- 239+ 
240-[VectorCoreintrinsicDtypeMap]240+ 
241-0=Intrinsic_vrelu|float16,float32,int32241+[VectorCoreintrinsicDtypeMap]
242-1=Intrinsic_vexp|float16,float32242+0=Intrinsic_vrelu|float16,float32,int32
243-2=Intrinsic_vln|float16,float32243+1=Intrinsic_vexp|float16,float32
244-3=Intrinsic_vabs|float16,float32244+2=Intrinsic_vln|float16,float32
245-4=Intrinsic_vrec|float16,float32245+3=Intrinsic_vabs|float16,float32
246-5=Intrinsic_vrsqrt|float16,float32246+4=Intrinsic_vrec|float16,float32
247-6=Intrinsic_vnot|int16,uint16247+5=Intrinsic_vrsqrt|float16,float32
248-7=Intrinsic_vadd|float16,float32,int32,int16248+6=Intrinsic_vnot|int16,uint16
249-8=Intrinsic_vsub|float16,float32,int32,int16249+7=Intrinsic_vadd|float16,float32,int32,int16
250-9=Intrinsic_vmul|float16,float32,int32,int16250+8=Intrinsic_vsub|float16,float32,int32,int16
251-10=Intrinsic_vmax|float16,float32,int32,int16251+9=Intrinsic_vmul|float16,float32,int32,int16
252-11=Intrinsic_vmin|float16,float32,int32,int16252+10=Intrinsic_vmax|float16,float32,int32,int16
253-12=Intrinsic_vand|int16,uint16253+11=Intrinsic_vmin|float16,float32,int32,int16
254-13=Intrinsic_vor|int16,uint16254+12=Intrinsic_vand|int16,uint16
255-14=Intrinsic_vadds|float16,float32,int32,int16255+13=Intrinsic_vor|int16,uint16
256-15=Intrinsic_vmuls|float16,float32,int32,int16256+14=Intrinsic_vadds|float16,float32,int32,int16
257-16=Intrinsic_vaxpy|f16f16f16,f32f32f32,float16,float32257+15=Intrinsic_vmuls|float16,float32,int32,int16
258-17=Intrinsic_vcmpv_ne|float16,float32258+16=Intrinsic_vaxpy|f16f16f16,f32f32f32,float16,float32
259-18=Intrinsic_vcmpv_eq|float16,float32,int32259+17=Intrinsic_vcmpv_ne|float16,float32
260-19=Intrinsic_vcmpv_gt|float16,float32260+18=Intrinsic_vcmpv_eq|float16,float32,int32
261-20=Intrinsic_vcmpv_ge|float16,float32261+19=Intrinsic_vcmpv_gt|float16,float32
262-21=Intrinsic_vcmpv_lt|float16,float32262+20=Intrinsic_vcmpv_ge|float16,float32
263-22=Intrinsic_vcmpv_le|float16,float32263+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,bf162s32z264+22=Intrinsic_vcmpv_le|float16,float32
265-24=Intrinsic_vcadd|float16,float32265+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,float32266+24=Intrinsic_vcadd|float16,float32
267-26=Intrinsic_vcmin|float16,float32267+25=Intrinsic_vcmax|float16,float32
268-27=Intrinsic_vbi|float16,float32268+26=Intrinsic_vcmin|float16,float32
269-28=Intrinsic_vlrelu|float16,float32269+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,f322f16o270+28=Intrinsic_vlrelu|float16,float32
271-30=Intrinsic_vreduce|int16,uint16,float16,float32,int32,uint32271+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,int16272+30=Intrinsic_vreduce|int16,uint16,float16,float32,int32,uint32
273-32=Intrinsic_vcmp|float16,float32273+31=Intrinsic_vmaxs|float16,float32,int32,int16
274-33=Intrinsic_vsel|float16,float32274+32=Intrinsic_vcmp|float16,float32
275-34=Intrinsic_vsqrt|float16,float32275+33=Intrinsic_vsel|float16,float32
276-35=Intrinsic_vdiv|float16,float32276+34=Intrinsic_vsqrt|float16,float32
277-36=Intrinsic_vmins|float16,float32,int32,int16277+35=Intrinsic_vdiv|float16,float32
278-37=Intrinsic_vshl|int16,uint16,int32,uint32278+36=Intrinsic_vmins|float16,float32,int32,int16
279-38=Intrinsic_vshr|int16,uint16,int32,uint32279+37=Intrinsic_vshl|int16,uint16,int32,uint32
280-39=Intrinsic_vnchwconv|float16,float32,int32,int16,uint32,uint16,int8,uint8280+38=Intrinsic_vshr|int16,uint16,int32,uint32
281-40=Intrinsic_vreducev2|int16,uint16,float16,float32,int32,uint32281+39=Intrinsic_vnchwconv|float16,float32,int32,int16,uint32,uint16,int8,uint8
282-41=Intrinsic_vcpadd|float16,float32282+40=Intrinsic_vreducev2|int16,uint16,float16,float32,int32,uint32
283-42=Intrinsic_vgatherb|u16u16,s16s16,f16f16,u32u32,s32s32,f32f32283+41=Intrinsic_vcpadd|float16,float32
284-43=Intrinsic_vbrcb|u16u16,s16s16,f16f16,u32u32,s32s32,f32f32284+42=Intrinsic_vgatherb|u16u16,s16s16,f16f16,u32u32,s32s32,f32f32
285-44=Intrinsic_sqrt|int64,float32285+43=Intrinsic_vbrcb|u16u16,s16s16,f16f16,u32u32,s32s32,f32f32
286-45=Intrinsic_abs|int64,float32286+44=Intrinsic_sqrt|int64,float32
287-46=Intrinsic_bcnt0|uint64287+45=Intrinsic_abs|int64,float32
288-47=Intrinsic_bcnt1|uint64288+46=Intrinsic_bcnt0|uint64
289-48=Intrinsic_clz|uint64289+47=Intrinsic_bcnt1|uint64
290-49=Intrinsic_max|int64,float32290+48=Intrinsic_clz|uint64
291-50=Intrinsic_min|int64,float32291+49=Intrinsic_max|int64,float32
292-51=Intrinsic_vcgadd|float16,float32292+50=Intrinsic_min|int64,float32
293-52=Intrinsic_vectorized_psts|uint8,int8,uint16,int16,uint32,int32,float16,float32293+51=Intrinsic_vcgadd|float16,float32
294-53=Intrinsic_vgather|int16,uint16,float16,float32,int32,uint32294+52=Intrinsic_vectorized_psts|uint8,int8,uint16,int16,uint32,int32,float16,float32
295-98=Intrinsic_vectorized_vadds|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32295+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,s16s64296+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,s16s64297+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,u16s48298+100=Intrinsic_vectorized_vmul|u8u8,s8s8,u16u16,s16s16,s32s32,f16f16,f32f32,u8s24,s8s24,u16s48,s16s48,u16s64,s16s64
299-102=Intrinsic_vectorized_vexp|f16f16,f32f32299+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,u16s48300+102=Intrinsic_vectorized_vexp|f16f16,f32f32
301-104=Intrinsic_vectorized_vdiv|u16u16,s16s16,u32u32,s32s32,f16f16,f32f32301+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,f32f32302+104=Intrinsic_vectorized_vdiv|u16u16,s16s16,u32u32,s32s32,f16f16,f32f32
303-106=Intrinsic_vectorized_vmins|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32303+105=Intrinsic_vectorized_vmaxs|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32
304-107=Intrinsic_vectorized_vcadd|s8s16,s16s32,s32s32,u8u16,u16u32,u32u32,f16f16,f32f32304+106=Intrinsic_vectorized_vmins|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32
305-108=Intrinsic_vectorized_vcmax|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32305+107=Intrinsic_vectorized_vcadd|s8s16,s16s32,s32s32,u8u16,u16u32,u32u32,f16f16,f32f32
306-109=Intrinsic_vectorized_vcmin|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32306+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,f32f32307+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,f32f32308+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,f32f32309+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,f32f32310+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,float32311+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,float32312+114=Intrinsic_vectorized_vdup|uint8,int8,uint16,int16,uint32,int32,float16,float32
313-116=Intrinsic_vectorized_vdups|uint8,int8,uint16,int16,uint32,int32,float16,float32313+115=Intrinsic_vectorized_vdupm|uint8,int8,uint16,int16,uint32,int32,float16,float32
314-117=Intrinsic_vectorized_vdupi|uint8,int8,uint16,int16,float16314+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,float32315+117=Intrinsic_vectorized_vdupi|uint8,int8,uint16,int16,float16
316-119=Intrinsic_vectorized_vcmp_ne|uint8,int8,uint16,int16,uint32,int32,float16,float32316+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,float32317+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,float32318+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,float32319+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,float32320+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,float32321+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,float32322+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,float32323+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,float32324+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,float32325+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,float32326+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,f32u32327+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,f32f32328+130=Intrinsic_vectorized_vscatter|s8u16,u8u16,s16u16,u16u16,s32u32,u32u32,f16u16,f32u32
329-132=Intrinsic_vectorized_vsqrt|f16f16,f32f32329+131=Intrinsic_vectorized_vmov|bb,u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32
330-133=Intrinsic_vectorized_vshls|u8u8,u16u16,s16s16,u32u32,s32s32330+132=Intrinsic_vectorized_vsqrt|f16f16,f32f32
331-134=Intrinsic_vectorized_vrnds|s16s16,s32s32331+133=Intrinsic_vectorized_vshls|u8u8,u16u16,s16s16,u32u32,s32s32
332-135=Intrinsic_vectorized_vlrelu|f16f16,f32f32332+134=Intrinsic_vectorized_vrnds|s16s16,s32s32
333-136=Intrinsic_vectorized_vsadds|s16s16333+135=Intrinsic_vectorized_vlrelu|f16f16,f32f32
334-137=Intrinsic_vectorized_vcbmax|uint8,int8,uint16,int16,uint32,int32,float16,float32334+136=Intrinsic_vectorized_vsadds|s16s16
335-138=Intrinsic_vectorized_vcbmin|uint8,int8,uint16,int16,uint32,int32,float16,float32335+137=Intrinsic_vectorized_vcbmax|uint8,int8,uint16,int16,uint32,int32,float16,float32
336-139=Intrinsic_vectorized_vmula|u8u8,s8s8,u16u16,s16s16,s32s32,f16f16,f32f32336+138=Intrinsic_vectorized_vcbmin|uint8,int8,uint16,int16,uint32,int32,float16,float32
337-140=Intrinsic_vectorized_vmadd|f16f16,f32f32337+139=Intrinsic_vectorized_vmula|u8u8,s8s8,u16u16,s16s16,s32s32,f16f16,f32f32
338-142=Intrinsic_vectorized_vrnd|s16s16,s32s32338+140=Intrinsic_vectorized_vmadd|f16f16,f32f32
339-143=Intrinsic_vectorized_vavg|u8u8,s8s8,u16u16,s16s16339+142=Intrinsic_vectorized_vrnd|s16s16,s32s32
340-144=Intrinsic_vectorized_vadd3|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32340+143=Intrinsic_vectorized_vavg|u8u8,s8s8,u16u16,s16s16
341-146=Intrinsic_vectorized_vadif|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32341+144=Intrinsic_vectorized_vadd3|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32
342-147=Intrinsic_vectorized_vsad|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32342+146=Intrinsic_vectorized_vadif|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32
343-149=Intrinsic_vectorized_vsadd|s16s16343+147=Intrinsic_vectorized_vsad|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32
344-150=Intrinsic_vectorized_vssub|s16s16344+149=Intrinsic_vectorized_vsadd|s16s16
345-154=Intrinsic_vectorized_vrsqrt|f16f16,f32f32345+150=Intrinsic_vectorized_vssub|s16s16
346-155=Intrinsic_vectorized_vnot|bb,u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32346+154=Intrinsic_vectorized_vrsqrt|f16f16,f32f32
347-156=Intrinsic_vectorized_vneg|s8s8,s16s16,s32s32,f16f16,f32f32347+155=Intrinsic_vectorized_vnot|bb,u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32
348-157=Intrinsic_vectorized_vln|f16f16,f32f32348+156=Intrinsic_vectorized_vneg|s8s8,s16s16,s32s32,f16f16,f32f32
349-158=Intrinsic_vectorized_vcls|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32349+157=Intrinsic_vectorized_vln|f16f16,f32f32
350-160=Intrinsic_vectorized_vintlv|uint8,int8,uint16,int16,uint32,int32,float16,float32350+158=Intrinsic_vectorized_vcls|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32
351-161=Intrinsic_vectorized_vdintlv|uint8,int8,uint16,int16,uint32,int32,float16,float32351+160=Intrinsic_vectorized_vintlv|uint8,int8,uint16,int16,uint32,int32,float16,float32
352-162=Intrinsic_vectorized_vselr|u8u8u8,s8s8u8,u16u16u16,s16s16u16,f16f16u16352+161=Intrinsic_vectorized_vdintlv|uint8,int8,uint16,int16,uint32,int32,float16,float32
353-163=Intrinsic_vectorized_vpack|bb,u16u8,s16u8,u32u16,s32u16353+162=Intrinsic_vectorized_vselr|u8u8u8,s8s8u8,u16u16u16,s16s16u16,f16f16u16
354-164=Intrinsic_vectorized_vunpack|bb,u8u16,s8s16,u16u32,s16s32354+163=Intrinsic_vectorized_vpack|bb,u16u8,s16u8,u32u16,s32u16
355-165=Intrinsic_vectorized_vsqz|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32355+164=Intrinsic_vectorized_vunpack|bb,u8u16,s8s16,u16u32,s16s32
356-166=Intrinsic_vectorized_vbr|uint8,int8,uint16,int16,uint32,int32,float16,float32356+165=Intrinsic_vectorized_vsqz|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32
357-167=Intrinsic_vectorized_vci|int8,int16,int32,float16,float32357+166=Intrinsic_vectorized_vbr|uint8,int8,uint16,int16,uint32,int32,float16,float32
358-168=Intrinsic_vectorized_vgatherb|int8,uint8,int16,uint16,int32,uint32,float16,float32358+167=Intrinsic_vectorized_vci|int8,int16,int32,float16,float32
359-169=Intrinsic_vectorized_vgather2|s16u16s8,u16u16u8,s16u16s16,u16u16u16,s32u32s32,u32u32u32,f16u16f16,f32u32f32359+168=Intrinsic_vectorized_vgatherb|int8,uint8,int16,uint16,int32,uint32,float16,float32
360-172=Intrinsic_vectorized_vmax|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32360+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,u16s48361+172=Intrinsic_vectorized_vmax|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32
362-174=Intrinsic_vectorized_vbcnt|u8s8,s8s8,u16s16,s16s16,u32s32,s32s32362+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,float32363+174=Intrinsic_vectorized_vbcnt|u8s8,s8s8,u16s16,s16s16,u32s32,s32s32
364-176=Intrinsic_vectorized_vaxpy|f16f16,f32f32364+175=Intrinsic_vectorized_pld|uint8,int8,uint16,int16,uint32,int32,float16,float32
365-177=Intrinsic_vectorized_vmin|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32365+176=Intrinsic_vectorized_vaxpy|f16f16,f32f32
366-178=Intrinsic_vectorized_vrec|f16f16,f32f32366+177=Intrinsic_vectorized_vmin|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32
367-179=Intrinsic_vectorized_vlog|float16,float32367+178=Intrinsic_vectorized_vrec|f16f16,f32f32
368-180=Intrinsic_vectorized_vabs|s8s8,s16s16,s32s32,f16f16,f32f32368+179=Intrinsic_vectorized_vlog|float16,float32
369-181=Intrinsic_vectorized_plt|uint8,int8,uint16,int16,float16,int32,float32,uint32369+180=Intrinsic_vectorized_vabs|s8s8,s16s16,s32s32,f16f16,f32f32
370-182=Intrinsic_data_move_gather|uint8,int8,uint16,int16,float16,int32,float32,uint32,uint64,int64370+181=Intrinsic_vectorized_plt|uint8,int8,uint16,int16,float16,int32,float32,uint32
371-183=Intrinsic_vector_filter1d|u8s16,s8s16,u16s16,s16s16371+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,f32f32372+183=Intrinsic_vector_filter1d|u8s16,s8s16,u16s16,s16s16
373-185=Intrinsic_vectorized_vshl|u8u8,u16u16,s16s16,u32u32,s32s32373+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,s48s32374+185=Intrinsic_vectorized_vshl|u8u8,u16u16,s16s16,u32u32,s32s32
375-188=Intrinsic_vectorized_vrelu|s32s32,f16f16,f32f32375+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,uint32376+188=Intrinsic_vectorized_vrelu|s32s32,f16f16,f32f32
377-190=Intrinsic_vectorized_pset|uint8,int8,uint16,int16,float16,int32,float32,uint32377+189=Intrinsic_vectorized_pge|uint8,int8,uint16,int16,float16,int32,float32,uint32
378-191=Intrinsic_vectorized_pslide|uint8,int8,uint16,int16,float16,int32,float32,uint32378+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,bfloat16379+191=Intrinsic_vectorized_pslide|uint8,int8,uint16,int16,float16,int32,float32,uint32
380-193=Intrinsic_vectorized_vsld|uint8,int8,uint16,int16,float16,int32,float32,uint32380+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,s32s16381+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,s48s32382+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,float32383+196=Intrinsic_vectorized_vshrs|u8u8,u16u16,s16s16,u32u32,s32s32,s24s8,s24u8,s48s16,s48u16,s64s32,s24s16,s24u16,s48s32
384-198=Intrinsic_vectorized_dhist|u8u32384+197=Intrinsic_vectorized_pst|uint8,int8,uint16,int16,uint32,int32,float16,float32
385-199=Intrinsic_vectorized_dhistv2|u8u16385+198=Intrinsic_vectorized_dhist|u8u32
386-200=Intrinsic_vectorized_chist|u8u32386+199=Intrinsic_vectorized_dhistv2|u8u16
387-201=Intrinsic_vectorized_chistv2|u8u16387+200=Intrinsic_vectorized_chist|u8u32
388-202=Intrinsic_vectorized_vfilter|s8s48,u8s48,s16s48,u16s48388+201=Intrinsic_vectorized_chistv2|u8u16
389-203=Intrinsic_vectorized_vslide|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32389+202=Intrinsic_vectorized_vfilter|s8s48,u8s48,s16s48,u16s48
390-204=Intrinsic_vectorized_fmax|u8u8390+203=Intrinsic_vectorized_vslide|u8u8,s8s8,u16u16,s16s16,u32u32,s32s32,f16f16,f32f32
391-205=Intrinsic_vectorized_fmin|u8u8391+204=Intrinsic_vectorized_fmax|u8u8
392-206=Intrinsic_vectorized_vusqz|bs8,bs16,bs32,bu8,bu16,bu32392+205=Intrinsic_vectorized_fmin|u8u8
393-207=Intrinsic_vectorized_vtrc|f16f16,f32f32393+206=Intrinsic_vectorized_vusqz|bs8,bs16,bs32,bu8,bu16,bu32
394-208=Intrinsic_fix_pipe_l0c2out|f32,s32,f16394+207=Intrinsic_vectorized_vtrc|f16f16,f32f32
395-209=Intrinsic_vcopy|int16,uint16,float16,float32,int32,uint32395+208=Intrinsic_fix_pipe_l0c2out|f32,s32,f16
396-210=Intrinsic_vbitsort32|float16,float32396+209=Intrinsic_vcopy|int16,uint16,float16,float32,int32,uint32
397-211=Intrinsic_vmrgsort4v2|float16,float32397+210=Intrinsic_vbitsort32|float16,float32
398-212=Intrinsic_vmadd|float16,float32398+211=Intrinsic_vmrgsort4v2|float16,float32
399-213=Intrinsic_vcmpvs_ne|float16,float32399+212=Intrinsic_vmadd|float16,float32
400-214=Intrinsic_vcmpvs_eq|int32,float16,float32400+213=Intrinsic_vcmpvs_ne|float16,float32
401-215=Intrinsic_vcmpvs_gt|float16,float32401+214=Intrinsic_vcmpvs_eq|int32,float16,float32
402-216=Intrinsic_vcmpvs_ge|float16,float32402+215=Intrinsic_vcmpvs_gt|float16,float32
403-217=Intrinsic_vcmpvs_lt|float16,float32403+216=Intrinsic_vcmpvs_ge|float16,float32
404-218=Intrinsic_vcmpvs_le|float16,float32404+217=Intrinsic_vcmpvs_lt|float16,float32
405-219=Intrinsic_vcbd|u82u16,u82u32,s82s16,s82s32,u162u8,u162u32,s162u8,s162u32,s162s32,u322u8,u322u16,u322s16,s322u8,s322u16,s322s16405+218=Intrinsic_vcmpvs_le|float16,float32
406-220=Intrinsic_vcgmax|float16,float32406+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,float32407+220=Intrinsic_vcgmax|float16,float32
408-222=Intrinsic_vcgmin|float16,float32408+221=Intrinsic_vmla|f16f16f16,f32f32f32,float16,float32
409-223=Intrinsic_vtranspose|uint16,int16,float16409+222=Intrinsic_vcgmin|float16,float32
410-224=Intrinsic_vscatter|int16,uint16,float16,float32,int32,uint32410+223=Intrinsic_vtranspose|uint16,int16,float16
411-225=Intrinsic_vci|float16,float32,int16,int32411+224=Intrinsic_vscatter|int16,uint16,float16,float32,int32,uint32
412-226=Intrinsic_vbrcb|u16u16,s16s16,f16f16,u32u32,s32s32,f32f32412+225=Intrinsic_vci|float16,float32,int16,int32
413-227=Intrinsic_vectorized_plds|uint8,int8,uint16,int16,uint32,int32,float16,float32413+226=Intrinsic_vbrcb|u16u16,s16s16,f16f16,u32u32,s32s32,f32f32
414+227=Intrinsic_vectorized_plds|uint8,int8,uint16,int16,uint32,int32,float16,float32
414228=Intrinsic_vbitsort|float16415228=Intrinsic_vbitsort|float16
@@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube
11CCEC_VECTOR_version=dav-c310-vec11CCEC_VECTOR_version=dav-c310-vec
12Compiler_aicpu_support_os=true12Compiler_aicpu_support_os=true
13NpuArch=351013NpuArch=3510
14+Chip_type=15
王璐瑶4月29日

chip_type=15 是按RTS的枚举?

likedislike
14 15 
15[SoCInfo]16[SoCInfo]
16ai_core_cnt=817ai_core_cnt=8
@@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube
11CCEC_VECTOR_version=dav-c310-vec11CCEC_VECTOR_version=dav-c310-vec
12Compiler_aicpu_support_os=true12Compiler_aicpu_support_os=true
13NpuArch=351013NpuArch=3510
14+Chip_type=15
14 15 
15[SoCInfo]16[SoCInfo]
16ai_core_cnt=817ai_core_cnt=8
@@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube
11CCEC_VECTOR_version=dav-c310-vec11CCEC_VECTOR_version=dav-c310-vec
12Compiler_aicpu_support_os=true12Compiler_aicpu_support_os=true
13NpuArch=351013NpuArch=3510
14+Chip_type=15
14 15
15[SoCInfo]16[SoCInfo]
16ai_core_cnt=2817ai_core_cnt=28
@@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube
11CCEC_VECTOR_version=dav-c310-vec11CCEC_VECTOR_version=dav-c310-vec
12Compiler_aicpu_support_os=true12Compiler_aicpu_support_os=true
13NpuArch=351013NpuArch=3510
14+Chip_type=15
14 15
15[SoCInfo]16[SoCInfo]
16ai_core_cnt=2817ai_core_cnt=28
@@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube
11CCEC_VECTOR_version=dav-c310-vec11CCEC_VECTOR_version=dav-c310-vec
12Compiler_aicpu_support_os=true12Compiler_aicpu_support_os=true
13NpuArch=351013NpuArch=3510
14+Chip_type=15
14 15 
15[SoCInfo]16[SoCInfo]
16ai_core_cnt=2817ai_core_cnt=28
@@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube
11CCEC_VECTOR_version=dav-c310-vec11CCEC_VECTOR_version=dav-c310-vec
12Compiler_aicpu_support_os=true12Compiler_aicpu_support_os=true
13NpuArch=351013NpuArch=3510
14+Chip_type=15
14 15 
15[SoCInfo]16[SoCInfo]
16ai_core_cnt=2817ai_core_cnt=28
@@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube
11CCEC_VECTOR_version=dav-c310-vec11CCEC_VECTOR_version=dav-c310-vec
12Compiler_aicpu_support_os=true12Compiler_aicpu_support_os=true
13NpuArch=351013NpuArch=3510
14+Chip_type=15
14 15
15[SoCInfo]16[SoCInfo]
16ai_core_cnt=2817ai_core_cnt=28
@@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube
11CCEC_VECTOR_version=dav-c310-vec11CCEC_VECTOR_version=dav-c310-vec
12Compiler_aicpu_support_os=true12Compiler_aicpu_support_os=true
13NpuArch=351013NpuArch=3510
14+Chip_type=15
14 15
15[SoCInfo]16[SoCInfo]
16ai_core_cnt=2817ai_core_cnt=28
@@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube
11CCEC_VECTOR_version=dav-c310-vec11CCEC_VECTOR_version=dav-c310-vec
12Compiler_aicpu_support_os=true12Compiler_aicpu_support_os=true
13NpuArch=351013NpuArch=3510
14+Chip_type=15
14 15 
15[SoCInfo]16[SoCInfo]
16ai_core_cnt=2817ai_core_cnt=28
@@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube
11CCEC_VECTOR_version=dav-c310-vec11CCEC_VECTOR_version=dav-c310-vec
12Compiler_aicpu_support_os=true12Compiler_aicpu_support_os=true
13NpuArch=351013NpuArch=3510
14+Chip_type=15
14 15 
15[SoCInfo]16[SoCInfo]
16ai_core_cnt=2817ai_core_cnt=28
@@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube
11CCEC_VECTOR_version=dav-c310-vec11CCEC_VECTOR_version=dav-c310-vec
12Compiler_aicpu_support_os=true12Compiler_aicpu_support_os=true
13NpuArch=351013NpuArch=3510
14+Chip_type=15
14 15 
15[SoCInfo]16[SoCInfo]
16ai_core_cnt=3217ai_core_cnt=32
@@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube
11CCEC_VECTOR_version=dav-c310-vec11CCEC_VECTOR_version=dav-c310-vec
12Compiler_aicpu_support_os=true12Compiler_aicpu_support_os=true
13NpuArch=351013NpuArch=3510
14+Chip_type=15
14 15 
15[SoCInfo]16[SoCInfo]
16ai_core_cnt=3217ai_core_cnt=32
@@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube
11CCEC_VECTOR_version=dav-c310-vec11CCEC_VECTOR_version=dav-c310-vec
12Compiler_aicpu_support_os=true12Compiler_aicpu_support_os=true
13NpuArch=351013NpuArch=3510
14+Chip_type=15
14 15 
15[SoCInfo]16[SoCInfo]
16ai_core_cnt=3217ai_core_cnt=32
@@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube
11CCEC_VECTOR_version=dav-c310-vec11CCEC_VECTOR_version=dav-c310-vec
12Compiler_aicpu_support_os=true12Compiler_aicpu_support_os=true
13NpuArch=351013NpuArch=3510
14+Chip_type=15
14 15 
15[SoCInfo]16[SoCInfo]
16ai_core_cnt=3217ai_core_cnt=32
@@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube
11CCEC_VECTOR_version=dav-c310-vec11CCEC_VECTOR_version=dav-c310-vec
12Compiler_aicpu_support_os=true12Compiler_aicpu_support_os=true
13NpuArch=351013NpuArch=3510
14+Chip_type=15
14 15 
15[SoCInfo]16[SoCInfo]
16ai_core_cnt=3217ai_core_cnt=32
@@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube
11CCEC_VECTOR_version=dav-c310-vec11CCEC_VECTOR_version=dav-c310-vec
12Compiler_aicpu_support_os=true12Compiler_aicpu_support_os=true
13NpuArch=351013NpuArch=3510
14+Chip_type=15
14 15 
15[SoCInfo]16[SoCInfo]
16ai_core_cnt=3217ai_core_cnt=32
@@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube
11CCEC_VECTOR_version=dav-c310-vec11CCEC_VECTOR_version=dav-c310-vec
12Compiler_aicpu_support_os=true12Compiler_aicpu_support_os=true
13NpuArch=351013NpuArch=3510
14+Chip_type=15
14 15 
15[SoCInfo]16[SoCInfo]
16ai_core_cnt=3217ai_core_cnt=32
@@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube
11CCEC_VECTOR_version=dav-c310-vec11CCEC_VECTOR_version=dav-c310-vec
12Compiler_aicpu_support_os=true12Compiler_aicpu_support_os=true
13NpuArch=351013NpuArch=3510
14+Chip_type=15
14 15 
15[SoCInfo]16[SoCInfo]
16ai_core_cnt=3217ai_core_cnt=32
@@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube
11CCEC_VECTOR_version=dav-c310-vec11CCEC_VECTOR_version=dav-c310-vec
12Compiler_aicpu_support_os=true12Compiler_aicpu_support_os=true
13NpuArch=351013NpuArch=3510
14+Chip_type=15
14 15 
15[SoCInfo]16[SoCInfo]
16ai_core_cnt=3617ai_core_cnt=36
@@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube
11CCEC_VECTOR_version=dav-c310-vec11CCEC_VECTOR_version=dav-c310-vec
12Compiler_aicpu_support_os=true12Compiler_aicpu_support_os=true
13NpuArch=351013NpuArch=3510
14+Chip_type=15
14 15 
15[SoCInfo]16[SoCInfo]
16ai_core_cnt=3617ai_core_cnt=36
@@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube
11CCEC_VECTOR_version=dav-c310-vec11CCEC_VECTOR_version=dav-c310-vec
12Compiler_aicpu_support_os=true12Compiler_aicpu_support_os=true
13NpuArch=351013NpuArch=3510
14+Chip_type=15
14 15 
15[SoCInfo]16[SoCInfo]
16ai_core_cnt=3617ai_core_cnt=36
@@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube
11CCEC_VECTOR_version=dav-c310-vec11CCEC_VECTOR_version=dav-c310-vec
12Compiler_aicpu_support_os=true12Compiler_aicpu_support_os=true
13NpuArch=351013NpuArch=3510
14+Chip_type=15
14 15 
15[SoCInfo]16[SoCInfo]
16ai_core_cnt=3617ai_core_cnt=36
@@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube
11CCEC_VECTOR_version=dav-c310-vec11CCEC_VECTOR_version=dav-c310-vec
12Compiler_aicpu_support_os=true12Compiler_aicpu_support_os=true
13NpuArch=351013NpuArch=3510
14+Chip_type=15
14 15 
15[SoCInfo]16[SoCInfo]
16ai_core_cnt=3617ai_core_cnt=36
@@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube
11CCEC_VECTOR_version=dav-c310-vec11CCEC_VECTOR_version=dav-c310-vec
12Compiler_aicpu_support_os=true12Compiler_aicpu_support_os=true
13NpuArch=351013NpuArch=3510
14+Chip_type=15
14 15 
15[SoCInfo]16[SoCInfo]
16ai_core_cnt=3617ai_core_cnt=36
@@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube
11CCEC_VECTOR_version=dav-c310-vec11CCEC_VECTOR_version=dav-c310-vec
12Compiler_aicpu_support_os=true12Compiler_aicpu_support_os=true
13NpuArch=351013NpuArch=3510
14+Chip_type=15
14 15 
15[SoCInfo]16[SoCInfo]
16ai_core_cnt=417ai_core_cnt=4
@@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube
11CCEC_VECTOR_version=dav-c310-vec11CCEC_VECTOR_version=dav-c310-vec
12Compiler_aicpu_support_os=true12Compiler_aicpu_support_os=true
13NpuArch=351013NpuArch=3510
14+Chip_type=15
14 15
15[SoCInfo]16[SoCInfo]
16ai_core_cnt=2817ai_core_cnt=28
@@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube
11CCEC_VECTOR_version=dav-c310-vec11CCEC_VECTOR_version=dav-c310-vec
12Compiler_aicpu_support_os=true12Compiler_aicpu_support_os=true
13NpuArch=351013NpuArch=3510
14+Chip_type=15
14 15 
15[SoCInfo]16[SoCInfo]
16ai_core_cnt=2817ai_core_cnt=28
@@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube
11CCEC_VECTOR_version=dav-c310-vec11CCEC_VECTOR_version=dav-c310-vec
12Compiler_aicpu_support_os=true12Compiler_aicpu_support_os=true
13NpuArch=351013NpuArch=3510
14+Chip_type=15
14 15 
15[SoCInfo]16[SoCInfo]
16ai_core_cnt=2817ai_core_cnt=28
@@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube
11CCEC_VECTOR_version=dav-c310-vec11CCEC_VECTOR_version=dav-c310-vec
12Compiler_aicpu_support_os=true12Compiler_aicpu_support_os=true
13NpuArch=351013NpuArch=3510
14+Chip_type=15
14 15 
15[SoCInfo]16[SoCInfo]
16ai_core_cnt=2817ai_core_cnt=28
@@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube
11CCEC_VECTOR_version=dav-c310-vec11CCEC_VECTOR_version=dav-c310-vec
12Compiler_aicpu_support_os=true12Compiler_aicpu_support_os=true
13NpuArch=351013NpuArch=3510
14+Chip_type=15
14 15 
15[SoCInfo]16[SoCInfo]
16ai_core_cnt=3217ai_core_cnt=32
@@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube
11CCEC_VECTOR_version=dav-c310-vec11CCEC_VECTOR_version=dav-c310-vec
12Compiler_aicpu_support_os=true12Compiler_aicpu_support_os=true
13NpuArch=351013NpuArch=3510
14+Chip_type=15
14 15 
15[SoCInfo]16[SoCInfo]
16ai_core_cnt=3217ai_core_cnt=32
@@ -11,6 +11,7 @@ CCEC_CUBE_version=dav-c310-cube
11CCEC_VECTOR_version=dav-c310-vec11CCEC_VECTOR_version=dav-c310-vec
12Compiler_aicpu_support_os=true12Compiler_aicpu_support_os=true
13NpuArch=351013NpuArch=3510
14+Chip_type=15
14 15 
15[SoCInfo]16[SoCInfo]
16ai_core_cnt=3617ai_core_cnt=36
@@ -10,6 +10,7 @@ CCEC_AIV_version=dav-t300
10Compiler_aicpu_support_os=true10Compiler_aicpu_support_os=true
11Arch_type=811Arch_type=8
12NpuArch=300412NpuArch=3004
13+Chip_type=8
13 14 
14[SoCInfo]15[SoCInfo]
15ai_core_cnt=116ai_core_cnt=1
@@ -9,6 +9,7 @@ CCEC_AIC_version=dav-n350
9Compiler_aicpu_support_os=true9Compiler_aicpu_support_os=true
10Arch_type=910Arch_type=9
11NpuArch=350511NpuArch=3505
12+Chip_type=9
12 13 
13[SoCInfo]14[SoCInfo]
14ai_core_cnt=115ai_core_cnt=1
@@ -9,6 +9,7 @@ CCEC_AIC_version=dav-n350
9Compiler_aicpu_support_os=true9Compiler_aicpu_support_os=true
10Arch_type=910Arch_type=9
11NpuArch=350511NpuArch=3505
12+Chip_type=9
12 13 
13[SoCInfo]14[SoCInfo]
14ai_core_cnt=115ai_core_cnt=1
@@ -9,6 +9,7 @@ CCEC_AIC_version=dav-n350
9Compiler_aicpu_support_os=true9Compiler_aicpu_support_os=true
10Arch_type=910Arch_type=9
11NpuArch=350511NpuArch=3505
12+Chip_type=9
12 13 
13[SoCInfo]14[SoCInfo]
14ai_core_cnt=115ai_core_cnt=1
@@ -10,6 +10,7 @@ CCEC_AIV_version=dav-m300
10Compiler_aicpu_support_os=true10Compiler_aicpu_support_os=true
11Arch_type=211Arch_type=2
12NpuArch=300212NpuArch=3002
13+Chip_type=7
13 14 
14[SoCInfo]15[SoCInfo]
15ai_core_cnt=116ai_core_cnt=1
@@ -10,6 +10,7 @@ CCEC_AIV_version=dav-m300
10Compiler_aicpu_support_os=true10Compiler_aicpu_support_os=true
11Arch_type=211Arch_type=2
12NpuArch=300212NpuArch=3002
13+Chip_type=7
13 14 
14[SoCInfo]15[SoCInfo]
15ai_core_cnt=116ai_core_cnt=1
@@ -10,6 +10,7 @@ CCEC_AIV_version=dav-m300
10Compiler_aicpu_support_os=true10Compiler_aicpu_support_os=true
11Arch_type=211Arch_type=2
12NpuArch=300212NpuArch=3002
13+Chip_type=7
13 14 
14[SoCInfo]15[SoCInfo]
15ai_core_cnt=116ai_core_cnt=1
@@ -10,6 +10,7 @@ CCEC_AIV_version=dav-m300
10Compiler_aicpu_support_os=true10Compiler_aicpu_support_os=true
11Arch_type=211Arch_type=2
12NpuArch=300212NpuArch=3002
13+Chip_type=7
13 14 
14[SoCInfo]15[SoCInfo]
15ai_core_cnt=116ai_core_cnt=1
@@ -10,6 +10,7 @@ CCEC_AIV_version=dav-m200-vec
10Compiler_aicpu_support_os=true10Compiler_aicpu_support_os=true
11Arch_type=111Arch_type=1
12NpuArch=200212NpuArch=2002
13+Chip_type=4
13 14 
14[SoCInfo]15[SoCInfo]
15ai_core_cnt=1016ai_core_cnt=10
@@ -10,6 +10,7 @@ CCEC_AIV_version=dav-m200-vec
10Compiler_aicpu_support_os=true10Compiler_aicpu_support_os=true
11Arch_type=111Arch_type=1
12NpuArch=200212NpuArch=2002
13+Chip_type=4
13 14 
14[SoCInfo]15[SoCInfo]
15ai_core_cnt=816ai_core_cnt=8
@@ -10,6 +10,7 @@ CCEC_AIV_version=dav-m200-vec
10Compiler_aicpu_support_os=true10Compiler_aicpu_support_os=true
11Arch_type=111Arch_type=1
12NpuArch=200212NpuArch=2002
13+Chip_type=4
13 14 
14[SoCInfo]15[SoCInfo]
15ai_core_cnt=816ai_core_cnt=8
@@ -10,6 +10,7 @@ CCEC_AIV_version=dav-m200-vec
10Compiler_aicpu_support_os=true10Compiler_aicpu_support_os=true
11Arch_type=111Arch_type=1
12NpuArch=200212NpuArch=2002
13+Chip_type=4
13 14 
14[SoCInfo]15[SoCInfo]
15ai_core_cnt=816ai_core_cnt=8
@@ -9,6 +9,7 @@ CCEC_AIC_version=dav-c100
9Compiler_aicpu_support_os=true9Compiler_aicpu_support_os=true
10Arch_type=310Arch_type=3
11NpuArch=100111NpuArch=1001
12+Chip_type=1
12 13 
13[SoCInfo]14[SoCInfo]
14ai_core_cnt=3215ai_core_cnt=32
@@ -9,6 +9,7 @@ CCEC_AIC_version=dav-c100
9Compiler_aicpu_support_os=true9Compiler_aicpu_support_os=true
10Arch_type=310Arch_type=3
11NpuArch=100111NpuArch=1001
12+Chip_type=1
12 13 
13[SoCInfo]14[SoCInfo]
14ai_core_cnt=3015ai_core_cnt=30
@@ -12,6 +12,7 @@ CCEC_VECTOR_version=dav-c220-vec
12Compiler_aicpu_support_os=true12Compiler_aicpu_support_os=true
13Arch_type=413Arch_type=4
14NpuArch=220114NpuArch=2201
15+Chip_type=5
15 16 
16[SoCInfo]17[SoCInfo]
17ai_core_cnt=2418ai_core_cnt=24
@@ -12,6 +12,7 @@ CCEC_VECTOR_version=dav-c220-vec
12Compiler_aicpu_support_os=true12Compiler_aicpu_support_os=true
13Arch_type=413Arch_type=4
14NpuArch=220114NpuArch=2201
15+Chip_type=5
15 16 
16[SoCInfo]17[SoCInfo]
17ai_core_cnt=2418ai_core_cnt=24
@@ -12,6 +12,7 @@ CCEC_VECTOR_version=dav-c220-vec
12Compiler_aicpu_support_os=true12Compiler_aicpu_support_os=true
13Arch_type=413Arch_type=4
14NpuArch=220114NpuArch=2201
15+Chip_type=5
15 16 
16[SoCInfo]17[SoCInfo]
17ai_core_cnt=2418ai_core_cnt=24
@@ -12,6 +12,7 @@ CCEC_VECTOR_version=dav-c220-vec
12Compiler_aicpu_support_os=true12Compiler_aicpu_support_os=true
13Arch_type=413Arch_type=4
14NpuArch=220114NpuArch=2201
15+Chip_type=5
15 16 
16[SoCInfo]17[SoCInfo]
17ai_core_cnt=2018ai_core_cnt=20
@@ -12,6 +12,7 @@ CCEC_VECTOR_version=dav-c220-vec
12Compiler_aicpu_support_os=true12Compiler_aicpu_support_os=true
13Arch_type=413Arch_type=4
14NpuArch=220114NpuArch=2201
15+Chip_type=5
15 16 
16[SoCInfo]17[SoCInfo]
17ai_core_cnt=2018ai_core_cnt=20
@@ -12,6 +12,7 @@ CCEC_VECTOR_version=dav-c220-vec
12Compiler_aicpu_support_os=true12Compiler_aicpu_support_os=true
13Arch_type=413Arch_type=4
14NpuArch=220114NpuArch=2201
15+Chip_type=5
15 16 
16[SoCInfo]17[SoCInfo]
17ai_core_cnt=2018ai_core_cnt=20
@@ -9,6 +9,7 @@ CCEC_AIC_version=dav-c100
9Compiler_aicpu_support_os=true9Compiler_aicpu_support_os=true
10Arch_type=310Arch_type=3
11NpuArch=100111NpuArch=1001
12+Chip_type=1
12 13 
13[SoCInfo]14[SoCInfo]
14ai_core_cnt=3215ai_core_cnt=32
@@ -9,6 +9,7 @@ CCEC_AIC_version=dav-c100
9Compiler_aicpu_support_os=true9Compiler_aicpu_support_os=true
10Arch_type=310Arch_type=3
11NpuArch=100111NpuArch=1001
12+Chip_type=1
12 13 
13[SoCInfo]14[SoCInfo]
14ai_core_cnt=3215ai_core_cnt=32
@@ -9,6 +9,7 @@ CCEC_AIC_version=dav-c100
9Compiler_aicpu_support_os=true9Compiler_aicpu_support_os=true
10Arch_type=310Arch_type=3
11NpuArch=100111NpuArch=1001
12+Chip_type=1
12 13 
13[SoCInfo]14[SoCInfo]
14ai_core_cnt=3015ai_core_cnt=30
@@ -12,6 +12,7 @@ CCEC_VECTOR_version=dav-c220-vec
12Compiler_aicpu_support_os=true12Compiler_aicpu_support_os=true
13Arch_type=413Arch_type=4
14NpuArch=220114NpuArch=2201
15+Chip_type=5
15 16 
16[SoCInfo]17[SoCInfo]
17ai_core_cnt=2018ai_core_cnt=20
@@ -12,6 +12,7 @@ CCEC_VECTOR_version=dav-c220-vec
12Compiler_aicpu_support_os=true12Compiler_aicpu_support_os=true
13Arch_type=413Arch_type=4
14NpuArch=220114NpuArch=2201
15+Chip_type=5
15 16 
16[SoCInfo]17[SoCInfo]
17ai_core_cnt=2018ai_core_cnt=20
@@ -12,6 +12,7 @@ CCEC_VECTOR_version=dav-c220-vec
12Compiler_aicpu_support_os=true12Compiler_aicpu_support_os=true
13Arch_type=413Arch_type=4
14NpuArch=220114NpuArch=2201
15+Chip_type=5
15 16 
16[SoCInfo]17[SoCInfo]
17ai_core_cnt=2418ai_core_cnt=24
@@ -12,6 +12,7 @@ CCEC_VECTOR_version=dav-c220-vec
12Compiler_aicpu_support_os=true12Compiler_aicpu_support_os=true
13Arch_type=413Arch_type=4
14NpuArch=220114NpuArch=2201
15+Chip_type=5
15 16 
16[SoCInfo]17[SoCInfo]
17ai_core_cnt=2418ai_core_cnt=24
@@ -12,6 +12,7 @@ CCEC_VECTOR_version=dav-c220-vec
12Compiler_aicpu_support_os=true12Compiler_aicpu_support_os=true
13Arch_type=413Arch_type=4
14NpuArch=220114NpuArch=2201
15+Chip_type=5
15 16 
16[SoCInfo]17[SoCInfo]
17ai_core_cnt=2418ai_core_cnt=24
@@ -12,6 +12,7 @@ CCEC_VECTOR_version=dav-c220-vec
12Compiler_aicpu_support_os=true12Compiler_aicpu_support_os=true
13Arch_type=413Arch_type=4
14NpuArch=220114NpuArch=2201
15+Chip_type=5
15 16 
16[SoCInfo]17[SoCInfo]
17ai_core_cnt=2418ai_core_cnt=24
@@ -8,6 +8,7 @@ AIC_version=AIC-L-311
8CCEC_AIC_version=dav-l3118CCEC_AIC_version=dav-l311
9Compiler_aicpu_support_os=false9Compiler_aicpu_support_os=false
10NpuArch=311310NpuArch=3113
11+Chip_type=201
11 12 
12[SoCInfo]13[SoCInfo]
13ai_core_cnt=114ai_core_cnt=1
@@ -8,6 +8,7 @@ AIC_version=AIC-L-300
8CCEC_AIC_version=dav-l3008CCEC_AIC_version=dav-l300
9Compiler_aicpu_support_os=false9Compiler_aicpu_support_os=false
10NpuArch=300310NpuArch=3003
11+Chip_type=200
11 12 
12[SoCInfo]13[SoCInfo]
13ai_core_cnt=114ai_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#include "thread_local_container.hpp"17#include "thread_local_container.hpp"
18#include "heterogenous.h"18#include "heterogenous.h"
19#include "soc_info.h"19#include "soc_info.h"
20-#include "dev_info_manage.h"
21 20 
22using namespace cce::runtime;21using namespace cce::runtime;
23 22 
@@ -83,29 +82,31 @@ VISIBILITY_DEFAULT
83rtError_t rtSetSocVersion(const char_t *ver)82rtError_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 
696target_compile_options(runtime_model PRIVATE696target_compile_options(runtime_model PRIVATE
697- -fno-common697+ -fno-common
698- -fno-strict-aliasing698+ -fno-strict-aliasing
699- -Wextra699+ -Werror=missing-field-initializers
700- -Wfloat-equal700+ -Wextra
701-)701+ -Wfloat-equal
702+ )
702 703 
703target_link_libraries(runtime_model PRIVATE704target_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 
746target_compile_options(runtime_model_v200 PRIVATE747target_compile_options(runtime_model_v200 PRIVATE
747- -fno-common748+ -fno-common
748- -fno-strict-aliasing749+ -fno-strict-aliasing
749- -Wextra750+ -Werror=missing-field-initializers
750- -Wfloat-equal751+ -Wextra
751-)752+ -Wfloat-equal
753+ )
752 754 
753target_link_libraries(runtime_model_v200 PRIVATE755target_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} PRIVATE787 target_compile_options(runtime_cmodel_${product_type} PRIVATE
786 -fno-common788 -fno-common
787 -fno-strict-aliasing789 -fno-strict-aliasing
790+ -Werror=missing-field-initializers
788 -Wextra791 -Wextra
789 -Wfloat-equal792 -Wfloat-equal
790 )793 )
@@ -832,6 +835,7 @@ foreach(product_type ${PRODUCT_TYPE_LIST})
832 target_compile_options(runtime_camodel_${product_type} PRIVATE835 target_compile_options(runtime_camodel_${product_type} PRIVATE
833 -fno-common836 -fno-common
834 -fno-strict-aliasing837 -fno-strict-aliasing
838+ -Werror=missing-field-initializers
835 -Wextra839 -Wextra
836 -Wfloat-equal840 -Wfloat-equal
837 )841 )
@@ -103,6 +103,7 @@ macro(runtime_platform_910B_obj target_name)
103 -fno-common103 -fno-common
104 -fno-strict-aliasing104 -fno-strict-aliasing
105 -Werror105 -Werror
106+ -Werror=missing-field-initializers
106 -Wextra107 -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-common136 -fno-common
136 -fno-strict-aliasing137 -fno-strict-aliasing
137 -Werror138 -Werror
139+ -Werror=missing-field-initializers
138 -Wextra140 -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-common182 -fno-common
181 -fno-strict-aliasing183 -fno-strict-aliasing
182 -Werror184 -Werror
185+ -Werror=missing-field-initializers
183 -Wextra186 -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-common214 -fno-common
212 -fno-strict-aliasing215 -fno-strict-aliasing
213 -Werror216 -Werror
217+ -Werror=missing-field-initializers
214 -Wextra218 -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-common445 -fno-common
446 -fno-strict-aliasing446 -fno-strict-aliasing
447 -Werror447 -Werror
448+ -Werror=missing-field-initializers
448 -Wextra449 -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-common536 -fno-common
536 -fno-strict-aliasing537 -fno-strict-aliasing
537 -Werror538 -Werror
539+ -Werror=missing-field-initializers
538 -Wextra540 -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-common630 -fno-common
629 -fno-strict-aliasing631 -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-common516 -fno-common
517 -fno-strict-aliasing517 -fno-strict-aliasing
518 -Werror518 -Werror
519+ -Werror=missing-field-initializers
519 -Wextra520 -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-common618 -fno-common
618 -fno-strict-aliasing619 -fno-strict-aliasing
619 -Werror620 -Werror
621+ -Werror=missing-field-initializers
620 -Wextra622 -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-common708 -fno-common
707 -fno-strict-aliasing709 -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 
811target_compile_options(static_runtime PRIVATE814target_compile_options(static_runtime PRIVATE
812- -O3815+ -O3
813- -fvisibility=hidden816+ -fvisibility=hidden
814- -fno-common817+ -fno-common
815- -fno-strict-aliasing818+ -fno-strict-aliasing
816- -ffunction-sections819+ -ffunction-sections
817- -fdata-sections820+ -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 
822target_include_directories(static_runtime PRIVATE826target_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-common578 -fno-common
579 -fno-strict-aliasing579 -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 
16namespace cce {16namespace cce {
17namespace runtime {17namespace 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- 
22REGISTER_PLATFORM_LIB_INFO(CHIP_610LITE, "libruntime_v100.so");18REGISTER_PLATFORM_LIB_INFO(CHIP_610LITE, "libruntime_v100.so");
23 19 
24const std::unordered_set<RtOptionalFeatureType> CHIP_610LITE_FEATURE{20const std::unordered_set<RtOptionalFeatureType> CHIP_610LITE_FEATURE{
@@ -17,12 +17,6 @@
17namespace cce {17namespace cce {
18namespace runtime {18namespace 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- 
26REGISTER_PLATFORM_LIB_INFO(CHIP_CLOUD_V5, "libruntime_v200.so");20REGISTER_PLATFORM_LIB_INFO(CHIP_CLOUD_V5, "libruntime_v200.so");
27 21 
28const std::unordered_set<RtOptionalFeatureType> CHIP_CLOUD_V5_FEATURE{22const std::unordered_set<RtOptionalFeatureType> CHIP_CLOUD_V5_FEATURE{
@@ -15,34 +15,6 @@
15 15 
16namespace cce {16namespace cce {
17namespace runtime {17namespace 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- 
46REGISTER_PLATFORM_LIB_INFO(CHIP_910_B_93, "libruntime_v100.so");18REGISTER_PLATFORM_LIB_INFO(CHIP_910_B_93, "libruntime_v100.so");
47 19 
48static const std::unordered_set<RtOptionalFeatureType> CHIP_CLOUD_V2_FEATURE{20static const std::unordered_set<RtOptionalFeatureType> CHIP_CLOUD_V2_FEATURE{
@@ -17,81 +17,6 @@
17namespace cce {17namespace cce {
18namespace runtime {18namespace 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));
95REGISTER_PLATFORM_LIB_INFO(CHIP_DAVID, "libruntime_v200.so");20REGISTER_PLATFORM_LIB_INFO(CHIP_DAVID, "libruntime_v200.so");
96 21 
97const std::unordered_set<RtOptionalFeatureType> CHIP_DAVID_FEATURE{22const std::unordered_set<RtOptionalFeatureType> CHIP_DAVID_FEATURE{
@@ -14,15 +14,6 @@
14#include "task_base.hpp"14#include "task_base.hpp"
15namespace cce {15namespace cce {
16namespace runtime {16namespace 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- 
26REGISTER_PLATFORM_LIB_INFO(CHIP_ADC, "libruntime_v100.so");17REGISTER_PLATFORM_LIB_INFO(CHIP_ADC, "libruntime_v100.so");
27 18 
28static const std::unordered_set<RtOptionalFeatureType> CHIP_ADC_FEATURE{19static const std::unordered_set<RtOptionalFeatureType> CHIP_ADC_FEATURE{
@@ -14,9 +14,6 @@
14namespace cce {14namespace cce {
15namespace runtime {15namespace 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- 
20REGISTER_PLATFORM_LIB_INFO(CHIP_AS31XM1, "libruntime_v100.so");17REGISTER_PLATFORM_LIB_INFO(CHIP_AS31XM1, "libruntime_v100.so");
21 18 
22static const std::unordered_set<RtOptionalFeatureType> CHIP_AS31XM1_FEATURE{19static const std::unordered_set<RtOptionalFeatureType> CHIP_AS31XM1_FEATURE{
@@ -15,16 +15,6 @@
15namespace cce {15namespace cce {
16namespace runtime {16namespace 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- 
28REGISTER_PLATFORM_LIB_INFO(CHIP_CLOUD, "libruntime_v100.so");18REGISTER_PLATFORM_LIB_INFO(CHIP_CLOUD, "libruntime_v100.so");
29 19 
30static const std::unordered_set<RtOptionalFeatureType> CHIP_CLOUD_FEATURE{20static const std::unordered_set<RtOptionalFeatureType> CHIP_CLOUD_FEATURE{
@@ -15,15 +15,6 @@
15namespace cce {15namespace cce {
16namespace runtime {16namespace 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- 
27REGISTER_PLATFORM_LIB_INFO(CHIP_DC, "libruntime_v100.so");18REGISTER_PLATFORM_LIB_INFO(CHIP_DC, "libruntime_v100.so");
28 19 
29static const std::unordered_set<RtOptionalFeatureType> CHIP_DC_FEATURE{20static const std::unordered_set<RtOptionalFeatureType> CHIP_DC_FEATURE{
@@ -16,18 +16,6 @@
16namespace cce {16namespace cce {
17namespace runtime {17namespace 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- 
31REGISTER_PLATFORM_LIB_INFO(CHIP_9030, "libruntime_v100.so");19REGISTER_PLATFORM_LIB_INFO(CHIP_9030, "libruntime_v100.so");
32 20 
33static const std::unordered_set<RtOptionalFeatureType> KIRIN9030_FEATURE{};21static const std::unordered_set<RtOptionalFeatureType> KIRIN9030_FEATURE{};
@@ -16,18 +16,6 @@
16namespace cce {16namespace cce {
17namespace runtime {17namespace 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- 
31REGISTER_PLATFORM_LIB_INFO(CHIP_X90, "libruntime_v100.so");19REGISTER_PLATFORM_LIB_INFO(CHIP_X90, "libruntime_v100.so");
32 20 
33static const std::unordered_set<RtOptionalFeatureType> KIRINX90_FEATURE{};21static const std::unordered_set<RtOptionalFeatureType> KIRINX90_FEATURE{};
@@ -17,12 +17,6 @@
17namespace cce {17namespace cce {
18namespace runtime {18namespace 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- 
26REGISTER_PLATFORM_LIB_INFO(CHIP_MC32DM11A, "libruntime_v201.so");20REGISTER_PLATFORM_LIB_INFO(CHIP_MC32DM11A, "libruntime_v201.so");
27 21 
28static const std::unordered_set<RtOptionalFeatureType> CHIP_MC32DM11A_FEATURE{22static const std::unordered_set<RtOptionalFeatureType> CHIP_MC32DM11A_FEATURE{
@@ -17,31 +17,6 @@
17namespace cce {17namespace cce {
18namespace runtime {18namespace 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- 
45REGISTER_PLATFORM_LIB_INFO(CHIP_MC62CM12A, "libruntime_v201.so");20REGISTER_PLATFORM_LIB_INFO(CHIP_MC62CM12A, "libruntime_v201.so");
46 21 
47static const std::unordered_set<RtOptionalFeatureType> CHIP_MC62CM12A_FEATURE{22static const std::unordered_set<RtOptionalFeatureType> CHIP_MC62CM12A_FEATURE{
@@ -15,12 +15,6 @@
15namespace cce {15namespace cce {
16namespace runtime {16namespace 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- 
24REGISTER_PLATFORM_LIB_INFO(CHIP_MINI, "libruntime_v100.so");18REGISTER_PLATFORM_LIB_INFO(CHIP_MINI, "libruntime_v100.so");
25 19 
26static const std::unordered_set<RtOptionalFeatureType> CHIP_MINI_FEATURE{20static const std::unordered_set<RtOptionalFeatureType> CHIP_MINI_FEATURE{
@@ -14,15 +14,6 @@
14#include "task_base.hpp"14#include "task_base.hpp"
15namespace cce {15namespace cce {
16namespace runtime {16namespace 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- 
26REGISTER_PLATFORM_LIB_INFO(CHIP_MINI_V3, "libruntime_v100.so");17REGISTER_PLATFORM_LIB_INFO(CHIP_MINI_V3, "libruntime_v100.so");
27 18 
28static const std::unordered_set<RtOptionalFeatureType> CHIP_MINI_V3_FEATURE{19static const std::unordered_set<RtOptionalFeatureType> CHIP_MINI_V3_FEATURE{
@@ -15,13 +15,6 @@
15namespace cce {15namespace cce {
16namespace runtime {16namespace 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));
25REGISTER_PLATFORM_LIB_INFO(CHIP_NANO, "libruntime_v100.so");18REGISTER_PLATFORM_LIB_INFO(CHIP_NANO, "libruntime_v100.so");
26 19 
27static const std::unordered_set<RtOptionalFeatureType> CHIP_NANO_FEATURE{20static const std::unordered_set<RtOptionalFeatureType> CHIP_NANO_FEATURE{
@@ -15,12 +15,6 @@
15namespace cce {15namespace cce {
16namespace runtime {16namespace 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- 
24REGISTER_PLATFORM_LIB_INFO(CHIP_ASCEND_031, "libruntime_v100.so");18REGISTER_PLATFORM_LIB_INFO(CHIP_ASCEND_031, "libruntime_v100.so");
25 19 
26static const std::unordered_set<RtOptionalFeatureType> CHIP_5612_FEATURE{20static 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_END41+ /* 扩展芯片类型段(值大于 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 
44typedef enum tagRtVersion {48typedef 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- 
95bool DevInfoManage::RegPlatformSoNameInfo(rtChipType_t chip, const std::string &soName)19bool 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 
120bool DevInfoManage::RegChipFeatureSet(rtChipType_t chip, const std::unordered_set<RtOptionalFeatureType> &f)44bool 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 
136rtError_t DevInfoManage::GetChipFeatureSet(rtChipType_t chip, std::array<bool, FEATURE_MAX_VALUE> &f)70rtError_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 
145bool DevInfoManage::IsSupportChipFeature(rtChipType_t chip, RtOptionalFeatureType f)90bool 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 runtime186} // namespace runtime
237-} // namespace cce187+} // namespace cce
@@ -41,8 +41,6 @@ class DevInfoManage {
41public:41public:
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 
88private:76private:
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#define ATTRIBUTE_USED103#define ATTRIBUTE_USED
117#endif104#endif
118 105 
119-#define REGISTER_DEV_INFO(conf) \
120- static bool g_Register_##conf ATTRIBUTE_USED = cce::runtime::DevInfoManage::Instance().RegisterDevInfo(conf)
121- 
122-#define BATCH_REGISTER_DEV_INFO(conf, size) \
123- static bool g_Batch_Register_##conf ATTRIBUTE_USED = \
124- cce::runtime::DevInfoManage::Instance().BatchRegDevInfo((conf), (size))
125- 
126-#define BATCH_REGISTER_SOC_INFO(conf, size) \
127- static bool g_Batch_RegisterSoc_##conf ATTRIBUTE_USED = \
128- cce::runtime::DevInfoManage::Instance().BatchRegSocInfo((conf), (size))
129- 
130-#define REGISTER_SOC_INFO(conf) \
131- static bool g_RegisterSoc_##conf ATTRIBUTE_USED = cce::runtime::DevInfoManage::Instance().RegisterSocInfo(conf)
132- 
133#define REGISTER_PLATFORM_LIB_INFO(chipType, soName) \106#define REGISTER_PLATFORM_LIB_INFO(chipType, soName) \
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+#ifndef CCE_RUNTIME_PLATFORM_CONFIG_KEYS_H
12+#define CCE_RUNTIME_PLATFORM_CONFIG_KEYS_H
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+#endif // CCE_RUNTIME_PLATFORM_CONFIG_KEYS_H
@@ -9,27 +9,61 @@
9 */9 */
10 10 
11#include "soc_info.h"11#include "soc_info.h"
12-#include "dev_info_manage.h"12+#include "platform_config_keys.h"
13-#include "platform/platform_info.h"
14#include "platform_manager_v2.h"13#include "platform_manager_v2.h"
14+ 
15+#include <cstddef>
16+#include <cstdint>
17+#include <string>
18+ 
15namespace cce {19namespace cce {
16namespace runtime {20namespace 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 
22rtError_t GetNpuArchByName(const char_t* const socName, int32_t* hardwareNpuArch)57rtError_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#ifndef CCE_RUNTIME_SOC_INFO_H11#ifndef CCE_RUNTIME_SOC_INFO_H
12#define CCE_RUNTIME_SOC_INFO_H12#define CCE_RUNTIME_SOC_INFO_H
13-#include <string>
14#include <cstdint>13#include <cstdint>
15#include "base.hpp"14#include "base.hpp"
16#include "driver/ascend_hal.h"15#include "driver/ascend_hal.h"
@@ -18,7 +17,7 @@
18 17 
19namespace cce {18namespace cce {
20namespace runtime {19namespace 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);
22rtError_t GetNpuArchByName(const char_t* const socName, int32_t* hardwareNpuArch);21rtError_t GetNpuArchByName(const char_t* const socName, int32_t* hardwareNpuArch);
23}22}
24}23}
@@ -9,6 +9,7 @@
9 */9 */
10 10 
11#include "ini_parse_utils.h"11#include "ini_parse_utils.h"
12+#include "platform_config_keys.h"
12 13 
13#include <cinttypes>14#include <cinttypes>
14#include <string>15#include <string>
@@ -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} // namespace38} // namespace
41 39 
42static int32_t ReadIniUint32(40static 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
112static void GetArchInfoFromIniFile(const std::string& socVersion, RtIniAttributes& iniAttrs)110static 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;
46static bool g_isRuntimeKeeperExiting = false;46static bool g_isRuntimeKeeperExiting = false;
47static RuntimeKeeper g_runtimeKeeper;47static 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+ */
49rtError_t GetDeviceType(int64_t *hwVersion)60rtError_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;
王璐瑶4月29日

这块提前返回了,确定下后面的所有调用,都没必要走了。

likedislike
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#include "platform/platform_info.h"11#include "platform/platform_info.h"
12#include "platform_manager_v2.h"12#include "platform_manager_v2.h"
13#include "base.hpp"13#include "base.hpp"
14+ 
15+#include <map>
16+ 
14bool g_init_platform_info_flag = true;17bool g_init_platform_info_flag = true;
15bool g_get_platform_info_flag = true;18bool 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 
173int32_t PlatformManagerV2::GetSocSpec(311int32_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#include "dev_info_manage.h"12#include "dev_info_manage.h"
13#include "soc_info.h"13#include "soc_info.h"
14#include "platform_manager_v2.h"14#include "platform_manager_v2.h"
15+#include "feature_type.h"
15 16 
16using namespace testing;17using namespace testing;
17using namespace cce::runtime;18using 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 
69TEST_F(DevInfoManageTest, DevInfoManagePlatform)60TEST_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 
113TEST_F(DevInfoManageTest, GetNpuArchByName)96TEST_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 name114+ 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 
216TEST_F(DevInfoManageTest, DevInfoManageSocInfoKirinX90)134TEST_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 
224TEST_F(DevInfoManageTest, DevInfoManageDevInfoKirinX90)142TEST_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)
247TEST_F(DevInfoManageTest, DevInfoManageSocInfoKirin9030)165TEST_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 
255TEST_F(DevInfoManageTest, DevInfoManageDevInfoKirin9030)173TEST_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#include "subscribe.hpp"42#include "subscribe.hpp"
43#include "rdma_task.h"43#include "rdma_task.h"
44#include <fstream>44#include <fstream>
45+#include <string>
45#include <stdio.h>46#include <stdio.h>
46#include <stdlib.h>47#include <stdlib.h>
47#include "thread_local_container.hpp"48#include "thread_local_container.hpp"
@@ -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 }
81private:98private:
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 
85TEST_F(CloudV2ApiAbnormalTest, rtsGetMemcpyDescSizeTest)108TEST_F(CloudV2ApiAbnormalTest, rtsGetMemcpyDescSizeTest)
@@ -184,10 +207,29 @@ TEST(RdmaPiValueModifyTaskTest, ConstructSqeRdmaPiValueModifyTaskSuccess)
184 207 
185TEST(RdmaPiValueModifyTaskTest, RdmaPiValueModifyTaskUnInitSuccess)208TEST(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 
238TEST(RdmaPiValueModifyTaskTest, PrintDfxInfoForRdmaPiValueModifyTaskSuccess)285TEST(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
16protected:16protected:
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+}
Mtests/ut/runtime/runtime/test/platform/910B/rt_utest_api.cc+14-2文件内容审核中,请稍后刷新重试
@@ -24,7 +24,7 @@ public:
24protected:24protected:
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 
1206TEST_F(CloudV2ApiImplTest, rtSetSocVersionFeGetPlatformInfoFailed)1205TEST_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 
1216TEST_F(CloudV2ApiImplTest, rtSetSocVersionFeGetPlatformInfoSuccess)1213TEST_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 
1229TEST_F(CloudV2ApiImplTest, rtSetSocVersionFeGetPlatInfoInvalidChip)1232TEST_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 
1243TEST_F(CloudV2ApiImplTest, rtSetSocVersionFeGetPlatInfoInvalidArch)1240TEST_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
40protected:40protected:
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
26protected:26protected:
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:
23protected:23protected:
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 type6633 // restore all type
6634 rtInstance->SetChipType(oriChipType);6634 rtInstance->SetChipType(oriChipType);
@@ -26,7 +26,7 @@ class RtOthersApiTest : public testing::Test
26protected:26protected:
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+}