已合并
sigmoid/max_pool_v3等算子新增ascend350平台支持 #9765
dongfei创建于 28 天前
sigmoid/max_pool_v3等算子新增ascend350平台支持 #9765
已合并
dongfei创建于 28 天前
共 9 个文件变更+717-14
@@ -45,8 +45,17 @@ static bool CheckNotNull(const aclTensor* self, const aclTensor* out)
45 45 
46static bool CheckSocVersionIsSupportBf16(void)46static bool CheckSocVersionIsSupportBf16(void)
47{47{
48- return GetCurrentPlatformInfo().GetSocVersion() >= SocVersion::ASCEND910B &&48+ auto curArch = GetCurrentPlatformInfo().GetCurNpuArch();
49- GetCurrentPlatformInfo().GetSocVersion() <= SocVersion::ASCEND910E;49+ OP_LOGI("ReluAclnn", "curArch is %u", static_cast<uint32_t>(curArch));
50+ switch (curArch) {
51+ case NpuArch::DAV_2201:
52+ case NpuArch::DAV_3510: {
53+ return true;
54+ }
55+ default: {
56+ return false;
57+ }
58+ }
50}59}
51 60 
52static bool CheckDtypeValid(const aclTensor* self, const aclTensor* out)61static bool CheckDtypeValid(const aclTensor* self, const aclTensor* out)
@@ -10,7 +10,7 @@
10 10 
11 11 
12# 设置算子定义时支持的芯片类型12# 设置算子定义时支持的芯片类型
13-set(SUPPORT_COMPUTE_UNIT "ascend950" "mc62")13+set(SUPPORT_COMPUTE_UNIT "ascend950" "mc62" "ascend350")
14# 设置每种芯片类型对应的tiling文件目录,即采用op_host目录下哪个文件夹下的tiling文件编译14# 设置每种芯片类型对应的tiling文件目录,即采用op_host目录下哪个文件夹下的tiling文件编译
15-set(SUPPORT_TILING_DIR "arch35" "arch35")15+set(SUPPORT_TILING_DIR "arch35" "arch35" "arch35")
16add_modules_sources(HOSTNAME ${OPHOST_NAME} MODE PRIVATE DIR ${CMAKE_CURRENT_SOURCE_DIR} OPTYPE sigmoid ACLNNTYPE aclnn_exclude COMPUTE_UNIT ${SUPPORT_COMPUTE_UNIT} TILING_DIR ${SUPPORT_TILING_DIR} DISABLE_IN_OPP TRUE)16add_modules_sources(HOSTNAME ${OPHOST_NAME} MODE PRIVATE DIR ${CMAKE_CURRENT_SOURCE_DIR} OPTYPE sigmoid ACLNNTYPE aclnn_exclude COMPUTE_UNIT ${SUPPORT_COMPUTE_UNIT} TILING_DIR ${SUPPORT_TILING_DIR} DISABLE_IN_OPP TRUE)
@@ -0,0 +1,92 @@
1+{
2+ "op_type": "Sigmoid",
3+ "op_list": [
4+ {
5+ "bin_filename": "Sigmoid_1c4543fdfe7149b6b0717bd88f061562",
6+ "inputs": [
7+ {
8+ "name": "x",
9+ "index": 0,
10+ "dtype": "bfloat16",
11+ "format": "ND",
12+ "paramType": "required",
13+ "shape": [
14+ -2
15+ ],
16+ "format_match_mode": "FormatAgnostic"
17+ }
18+ ],
19+ "outputs": [
20+ {
21+ "name": "y",
22+ "index": 0,
23+ "dtype": "bfloat16",
24+ "format": "ND",
25+ "paramType": "required",
26+ "shape": [
27+ -2
28+ ],
29+ "format_match_mode": "FormatAgnostic"
30+ }
31+ ]
32+ },
33+ {
34+ "bin_filename": "Sigmoid_d2db1a80c523e7e59a032c95969880af",
35+ "inputs": [
36+ {
37+ "name": "x",
38+ "index": 0,
39+ "dtype": "float16",
40+ "format": "ND",
41+ "paramType": "required",
42+ "shape": [
43+ -2
44+ ],
45+ "format_match_mode": "FormatAgnostic"
46+ }
47+ ],
48+ "outputs": [
49+ {
50+ "name": "y",
51+ "index": 0,
52+ "dtype": "float16",
53+ "format": "ND",
54+ "paramType": "required",
55+ "shape": [
56+ -2
57+ ],
58+ "format_match_mode": "FormatAgnostic"
59+ }
60+ ]
61+ },
62+ {
63+ "bin_filename": "Sigmoid_5c5e58e043224cccf51a06108010ae13",
64+ "inputs": [
65+ {
66+ "name": "x",
67+ "index": 0,
68+ "dtype": "float32",
69+ "format": "ND",
70+ "paramType": "required",
71+ "shape": [
72+ -2
73+ ],
74+ "format_match_mode": "FormatAgnostic"
75+ }
76+ ],
77+ "outputs": [
78+ {
79+ "name": "y",
80+ "index": 0,
81+ "dtype": "float32",
82+ "format": "ND",
83+ "paramType": "required",
84+ "shape": [
85+ -2
86+ ],
87+ "format_match_mode": "FormatAgnostic"
88+ }
89+ ]
90+ }
91+ ]
92+}
@@ -38,6 +38,7 @@ public:
38 .PrecisionReduceFlag(true)38 .PrecisionReduceFlag(true)
39 .ExtendCfgInfo("opFile.value", "sigmoid_apt");39 .ExtendCfgInfo("opFile.value", "sigmoid_apt");
40 this->AICore().AddConfig("ascend950", aicoreConfig);40 this->AICore().AddConfig("ascend950", aicoreConfig);
41+ this->AICore().AddConfig("ascend350", aicoreConfig);
41 }42 }
42};43};
43 44 
@@ -49,8 +49,9 @@ static const int64_t AXIS_LIMIT = 8; // 底层算子不支持超过8维
49 49 
50static inline const std::initializer_list<DataType>& GetDtypeSupportList(void)50static inline const std::initializer_list<DataType>& GetDtypeSupportList(void)
51{51{
52- if (GetCurrentPlatformInfo().GetSocVersion() >= SocVersion::ASCEND910B &&52+ auto curArch = GetCurrentPlatformInfo().GetCurNpuArch();
53- GetCurrentPlatformInfo().GetSocVersion() <= SocVersion::ASCEND910E) {53+ OP_LOGI("SoftmaxV2Aclnn", "curArch is %u", static_cast<uint32_t>(curArch));
54+ if (curArch == NpuArch::DAV_2201 || Ops::NN::AclnnUtil::IsRegbase(curArch)) {
54 return ASCEND910B_DTYPE_SUPPORT_LIST;55 return ASCEND910B_DTYPE_SUPPORT_LIST;
55 } else {56 } else {
56 return ASCEND910_DTYPE_SUPPORT_LIST;57 return ASCEND910_DTYPE_SUPPORT_LIST;
@@ -8,7 +8,7 @@
8# See LICENSE in the root of the software repository for the full text of the License.8# See LICENSE in the root of the software repository for the full text of the License.
9# ----------------------------------------------------------------------------9# ----------------------------------------------------------------------------
10# 设置算子定义时支持的芯片类型10# 设置算子定义时支持的芯片类型
11-set(SUPPORT_COMPUTE_UNIT "ascend950" "mc62")11+set(SUPPORT_COMPUTE_UNIT "ascend950" "mc62" "ascend350")
12# 设置每种芯片类型对应的tiling文件目录,即采用op_host目录下哪个文件夹下的tiling文件编译12# 设置每种芯片类型对应的tiling文件目录,即采用op_host目录下哪个文件夹下的tiling文件编译
13-set(SUPPORT_TILING_DIR "arch35" "arch35")13+set(SUPPORT_TILING_DIR "arch35" "arch35" "arch35")
14add_modules_sources(HOSTNAME ${OPHOST_NAME} MODE PRIVATE DIR ${CMAKE_CURRENT_SOURCE_DIR} COMPUTE_UNIT ${SUPPORT_COMPUTE_UNIT} TILING_DIR ${SUPPORT_TILING_DIR} OPTYPE max_pool_v3 ACLNNTYPE aclnn_exclude DISABLE_IN_OPP TRUE DEPENDENCIES max_pool3d_with_argmax_v2 pool_utils)14add_modules_sources(HOSTNAME ${OPHOST_NAME} MODE PRIVATE DIR ${CMAKE_CURRENT_SOURCE_DIR} COMPUTE_UNIT ${SUPPORT_COMPUTE_UNIT} TILING_DIR ${SUPPORT_TILING_DIR} OPTYPE max_pool_v3 ACLNNTYPE aclnn_exclude DISABLE_IN_OPP TRUE DEPENDENCIES max_pool3d_with_argmax_v2 pool_utils)
@@ -0,0 +1,599 @@
1+{
2+ "op_type": "MaxPoolV3",
3+ "op_list": [
4+ {
5+ "bin_filename": "MaxPoolV3_80d249ee50b6a3f7d0cd60d3e53e77e2",
6+ "inputs": [
7+ {
8+ "name": "x",
9+ "index": 0,
10+ "dtype": "float16",
11+ "format": "ND",
12+ "paramType": "required",
13+ "shape": [
14+ -2
15+ ],
16+ "format_match_mode": "FormatAgnostic"
17+ }
18+ ],
19+ "outputs": [
20+ {
21+ "name": "y",
22+ "index": 0,
23+ "dtype": "float16",
24+ "format": "ND",
25+ "paramType": "required",
26+ "shape": [
27+ -2
28+ ],
29+ "format_match_mode": "FormatAgnostic"
30+ }
31+ ],
32+ "attrs": [
33+ {
34+ "name": "ksize",
35+ "dtype": "list_int",
36+ "value": null
37+ },
38+ {
39+ "name": "strides",
40+ "dtype": "list_int",
41+ "value": null
42+ },
43+ {
44+ "name": "padding_mode",
45+ "dtype": "string",
46+ "value": null
47+ },
48+ {
49+ "name": "pads",
50+ "dtype": "list_int",
51+ "value": null
52+ },
53+ {
54+ "name": "data_format",
55+ "dtype": "string",
56+ "value": null
57+ },
58+ {
59+ "name": "global_pooling",
60+ "dtype": "bool",
61+ "value": null
62+ },
63+ {
64+ "name": "ceil_mode",
65+ "dtype": "bool",
66+ "value": null
67+ }
68+ ]
69+ },
70+ {
71+ "bin_filename": "MaxPoolV3_dc91bfb98582d812930118c27e67c388",
72+ "inputs": [
73+ {
74+ "name": "x",
75+ "index": 0,
76+ "dtype": "bfloat16",
77+ "format": "ND",
78+ "paramType": "required",
79+ "shape": [
80+ -2
81+ ],
82+ "format_match_mode": "FormatAgnostic"
83+ }
84+ ],
85+ "outputs": [
86+ {
87+ "name": "y",
88+ "index": 0,
89+ "dtype": "bfloat16",
90+ "format": "ND",
91+ "paramType": "required",
92+ "shape": [
93+ -2
94+ ],
95+ "format_match_mode": "FormatAgnostic"
96+ }
97+ ],
98+ "attrs": [
99+ {
100+ "name": "ksize",
101+ "dtype": "list_int",
102+ "value": null
103+ },
104+ {
105+ "name": "strides",
106+ "dtype": "list_int",
107+ "value": null
108+ },
109+ {
110+ "name": "padding_mode",
111+ "dtype": "string",
112+ "value": null
113+ },
114+ {
115+ "name": "pads",
116+ "dtype": "list_int",
117+ "value": null
118+ },
119+ {
120+ "name": "data_format",
121+ "dtype": "string",
122+ "value": null
123+ },
124+ {
125+ "name": "global_pooling",
126+ "dtype": "bool",
127+ "value": null
128+ },
129+ {
130+ "name": "ceil_mode",
131+ "dtype": "bool",
132+ "value": null
133+ }
134+ ]
135+ },
136+ {
137+ "bin_filename": "MaxPoolV3_394873737765c48be68046105c0f1482",
138+ "inputs": [
139+ {
140+ "name": "x",
141+ "index": 0,
142+ "dtype": "float32",
143+ "format": "ND",
144+ "paramType": "required",
145+ "shape": [
146+ -2
147+ ],
148+ "format_match_mode": "FormatAgnostic"
149+ }
150+ ],
151+ "outputs": [
152+ {
153+ "name": "y",
154+ "index": 0,
155+ "dtype": "float32",
156+ "format": "ND",
157+ "paramType": "required",
158+ "shape": [
159+ -2
160+ ],
161+ "format_match_mode": "FormatAgnostic"
162+ }
163+ ],
164+ "attrs": [
165+ {
166+ "name": "ksize",
167+ "dtype": "list_int",
168+ "value": null
169+ },
170+ {
171+ "name": "strides",
172+ "dtype": "list_int",
173+ "value": null
174+ },
175+ {
176+ "name": "padding_mode",
177+ "dtype": "string",
178+ "value": null
179+ },
180+ {
181+ "name": "pads",
182+ "dtype": "list_int",
183+ "value": null
184+ },
185+ {
186+ "name": "data_format",
187+ "dtype": "string",
188+ "value": null
189+ },
190+ {
191+ "name": "global_pooling",
192+ "dtype": "bool",
193+ "value": null
194+ },
195+ {
196+ "name": "ceil_mode",
197+ "dtype": "bool",
198+ "value": null
199+ }
200+ ]
201+ },
202+ {
203+ "bin_filename": "MaxPoolV3_926430cfa83848a5da92859b63880f45",
204+ "inputs": [
205+ {
206+ "name": "x",
207+ "index": 0,
208+ "dtype": "int8",
209+ "format": "ND",
210+ "paramType": "required",
211+ "shape": [
212+ -2
213+ ],
214+ "format_match_mode": "FormatAgnostic"
215+ }
216+ ],
217+ "outputs": [
218+ {
219+ "name": "y",
220+ "index": 0,
221+ "dtype": "int8",
222+ "format": "ND",
223+ "paramType": "required",
224+ "shape": [
225+ -2
226+ ],
227+ "format_match_mode": "FormatAgnostic"
228+ }
229+ ],
230+ "attrs": [
231+ {
232+ "name": "ksize",
233+ "dtype": "list_int",
234+ "value": null
235+ },
236+ {
237+ "name": "strides",
238+ "dtype": "list_int",
239+ "value": null
240+ },
241+ {
242+ "name": "padding_mode",
243+ "dtype": "string",
244+ "value": null
245+ },
246+ {
247+ "name": "pads",
248+ "dtype": "list_int",
249+ "value": null
250+ },
251+ {
252+ "name": "data_format",
253+ "dtype": "string",
254+ "value": null
255+ },
256+ {
257+ "name": "global_pooling",
258+ "dtype": "bool",
259+ "value": null
260+ },
261+ {
262+ "name": "ceil_mode",
263+ "dtype": "bool",
264+ "value": null
265+ }
266+ ]
267+ },
268+ {
269+ "bin_filename": "MaxPoolV3_4356922ce6cf7d8ca1bf71a393c7eddf",
270+ "inputs": [
271+ {
272+ "name": "x",
273+ "index": 0,
274+ "dtype": "int16",
275+ "format": "ND",
276+ "paramType": "required",
277+ "shape": [
278+ -2
279+ ],
280+ "format_match_mode": "FormatAgnostic"
281+ }
282+ ],
283+ "outputs": [
284+ {
285+ "name": "y",
286+ "index": 0,
287+ "dtype": "int16",
288+ "format": "ND",
289+ "paramType": "required",
290+ "shape": [
291+ -2
292+ ],
293+ "format_match_mode": "FormatAgnostic"
294+ }
295+ ],
296+ "attrs": [
297+ {
298+ "name": "ksize",
299+ "dtype": "list_int",
300+ "value": null
301+ },
302+ {
303+ "name": "strides",
304+ "dtype": "list_int",
305+ "value": null
306+ },
307+ {
308+ "name": "padding_mode",
309+ "dtype": "string",
310+ "value": null
311+ },
312+ {
313+ "name": "pads",
314+ "dtype": "list_int",
315+ "value": null
316+ },
317+ {
318+ "name": "data_format",
319+ "dtype": "string",
320+ "value": null
321+ },
322+ {
323+ "name": "global_pooling",
324+ "dtype": "bool",
325+ "value": null
326+ },
327+ {
328+ "name": "ceil_mode",
329+ "dtype": "bool",
330+ "value": null
331+ }
332+ ]
333+ },
334+ {
335+ "bin_filename": "MaxPoolV3_2469f278e1c216f936adec93f61f4b60",
336+ "inputs": [
337+ {
338+ "name": "x",
339+ "index": 0,
340+ "dtype": "int32",
341+ "format": "ND",
342+ "paramType": "required",
343+ "shape": [
344+ -2
345+ ],
346+ "format_match_mode": "FormatAgnostic"
347+ }
348+ ],
349+ "outputs": [
350+ {
351+ "name": "y",
352+ "index": 0,
353+ "dtype": "int32",
354+ "format": "ND",
355+ "paramType": "required",
356+ "shape": [
357+ -2
358+ ],
359+ "format_match_mode": "FormatAgnostic"
360+ }
361+ ],
362+ "attrs": [
363+ {
364+ "name": "ksize",
365+ "dtype": "list_int",
366+ "value": null
367+ },
368+ {
369+ "name": "strides",
370+ "dtype": "list_int",
371+ "value": null
372+ },
373+ {
374+ "name": "padding_mode",
375+ "dtype": "string",
376+ "value": null
377+ },
378+ {
379+ "name": "pads",
380+ "dtype": "list_int",
381+ "value": null
382+ },
383+ {
384+ "name": "data_format",
385+ "dtype": "string",
386+ "value": null
387+ },
388+ {
389+ "name": "global_pooling",
390+ "dtype": "bool",
391+ "value": null
392+ },
393+ {
394+ "name": "ceil_mode",
395+ "dtype": "bool",
396+ "value": null
397+ }
398+ ]
399+ },
400+ {
401+ "bin_filename": "MaxPoolV3_6857b711f22541ba6544febb141aaad5",
402+ "inputs": [
403+ {
404+ "name": "x",
405+ "index": 0,
406+ "dtype": "int64",
407+ "format": "ND",
408+ "paramType": "required",
409+ "shape": [
410+ -2
411+ ],
412+ "format_match_mode": "FormatAgnostic"
413+ }
414+ ],
415+ "outputs": [
416+ {
417+ "name": "y",
418+ "index": 0,
419+ "dtype": "int64",
420+ "format": "ND",
421+ "paramType": "required",
422+ "shape": [
423+ -2
424+ ],
425+ "format_match_mode": "FormatAgnostic"
426+ }
427+ ],
428+ "attrs": [
429+ {
430+ "name": "ksize",
431+ "dtype": "list_int",
432+ "value": null
433+ },
434+ {
435+ "name": "strides",
436+ "dtype": "list_int",
437+ "value": null
438+ },
439+ {
440+ "name": "padding_mode",
441+ "dtype": "string",
442+ "value": null
443+ },
444+ {
445+ "name": "pads",
446+ "dtype": "list_int",
447+ "value": null
448+ },
449+ {
450+ "name": "data_format",
451+ "dtype": "string",
452+ "value": null
453+ },
454+ {
455+ "name": "global_pooling",
456+ "dtype": "bool",
457+ "value": null
458+ },
459+ {
460+ "name": "ceil_mode",
461+ "dtype": "bool",
462+ "value": null
463+ }
464+ ]
465+ },
466+ {
467+ "bin_filename": "MaxPoolV3_458d1e4329e13eeace46b812b4b94e38",
468+ "inputs": [
469+ {
470+ "name": "x",
471+ "index": 0,
472+ "dtype": "uint8",
473+ "format": "ND",
474+ "paramType": "required",
475+ "shape": [
476+ -2
477+ ],
478+ "format_match_mode": "FormatAgnostic"
479+ }
480+ ],
481+ "outputs": [
482+ {
483+ "name": "y",
484+ "index": 0,
485+ "dtype": "uint8",
486+ "format": "ND",
487+ "paramType": "required",
488+ "shape": [
489+ -2
490+ ],
491+ "format_match_mode": "FormatAgnostic"
492+ }
493+ ],
494+ "attrs": [
495+ {
496+ "name": "ksize",
497+ "dtype": "list_int",
498+ "value": null
499+ },
500+ {
501+ "name": "strides",
502+ "dtype": "list_int",
503+ "value": null
504+ },
505+ {
506+ "name": "padding_mode",
507+ "dtype": "string",
508+ "value": null
509+ },
510+ {
511+ "name": "pads",
512+ "dtype": "list_int",
513+ "value": null
514+ },
515+ {
516+ "name": "data_format",
517+ "dtype": "string",
518+ "value": null
519+ },
520+ {
521+ "name": "global_pooling",
522+ "dtype": "bool",
523+ "value": null
524+ },
525+ {
526+ "name": "ceil_mode",
527+ "dtype": "bool",
528+ "value": null
529+ }
530+ ]
531+ },
532+ {
533+ "bin_filename": "MaxPoolV3_75dd902725882952c27b649987bc62db",
534+ "inputs": [
535+ {
536+ "name": "x",
537+ "index": 0,
538+ "dtype": "uint16",
539+ "format": "ND",
540+ "paramType": "required",
541+ "shape": [
542+ -2
543+ ],
544+ "format_match_mode": "FormatAgnostic"
545+ }
546+ ],
547+ "outputs": [
548+ {
549+ "name": "y",
550+ "index": 0,
551+ "dtype": "uint16",
552+ "format": "ND",
553+ "paramType": "required",
554+ "shape": [
555+ -2
556+ ],
557+ "format_match_mode": "FormatAgnostic"
558+ }
559+ ],
560+ "attrs": [
561+ {
562+ "name": "ksize",
563+ "dtype": "list_int",
564+ "value": null
565+ },
566+ {
567+ "name": "strides",
568+ "dtype": "list_int",
569+ "value": null
570+ },
571+ {
572+ "name": "padding_mode",
573+ "dtype": "string",
574+ "value": null
575+ },
576+ {
577+ "name": "pads",
578+ "dtype": "list_int",
579+ "value": null
580+ },
581+ {
582+ "name": "data_format",
583+ "dtype": "string",
584+ "value": null
585+ },
586+ {
587+ "name": "global_pooling",
588+ "dtype": "bool",
589+ "value": null
590+ },
591+ {
592+ "name": "ceil_mode",
593+ "dtype": "bool",
594+ "value": null
595+ }
596+ ]
597+ }
598+ ]
599+ }
@@ -53,8 +53,9 @@ public:
53 .PrecisionReduceFlag(true)53 .PrecisionReduceFlag(true)
54 .ExtendCfgInfo("opFile.value", "max_pool_v3_apt");54 .ExtendCfgInfo("opFile.value", "max_pool_v3_apt");
55 this->AICore().AddConfig("ascend950", aiCoreConfig);55 this->AICore().AddConfig("ascend950", aiCoreConfig);
56+ this->AICore().AddConfig("ascend350", aiCoreConfig);
56 }57 }
57};58};
58 59 
59OP_ADD(MaxPoolV3);60OP_ADD(MaxPoolV3);
60-} // namespace ops61+} // namespace ops
@@ -29,14 +29,14 @@
29 {"name":"SigmoidCrossEntropyWithLogits", "compute_units": ["ascend950"], "auto_sync" : false, "compile_options": {"ascend950":["--cce-simd-vf-fusion=true", "-mllvm -cce-aicore-dcci-before-kernel-end=true"]}},29 {"name":"SigmoidCrossEntropyWithLogits", "compute_units": ["ascend950"], "auto_sync" : false, "compile_options": {"ascend950":["--cce-simd-vf-fusion=true", "-mllvm -cce-aicore-dcci-before-kernel-end=true"]}},
30 {"name":"Invert", "compute_units": ["ascend950"], "auto_sync" : false, "compile_options": {"ascend950":["--cce-simd-vf-fusion=true", "--cce-simd-at-voss=true"]}, "impl_mode" : ""},30 {"name":"Invert", "compute_units": ["ascend950"], "auto_sync" : false, "compile_options": {"ascend950":["--cce-simd-vf-fusion=true", "--cce-simd-at-voss=true"]}, "impl_mode" : ""},
31 {"name":"LogicalNot", "compute_units": ["ascend950", "mc62"], "auto_sync" : false, "compile_options": {"ascend950":["--cce-simd-vf-fusion=true", "--cce-simd-at-voss=true"], "mc62": ["--cce-no-dcache-flush"]}, "impl_mode" : ""},31 {"name":"LogicalNot", "compute_units": ["ascend950", "mc62"], "auto_sync" : false, "compile_options": {"ascend950":["--cce-simd-vf-fusion=true", "--cce-simd-at-voss=true"], "mc62": ["--cce-no-dcache-flush"]}, "impl_mode" : ""},
32- {"name":"Relu", "compute_units": ["ascend950", "mc62"], "auto_sync" : false, "compile_options": {"ascend950":["--cce-simd-vf-fusion=true", "--cce-no-dcache-flush"], "mc62": ["--cce-no-dcache-flush"]}, "impl_mode": ""},32+ {"name":"Relu", "compute_units": ["ascend950", "ascend350", "mc62"], "auto_sync" : false, "compile_options": {"ascend950":["--cce-simd-vf-fusion=true", "--cce-no-dcache-flush"], "ascend350":["--cce-simd-vf-fusion=true", "--cce-no-dcache-flush"], "mc62": ["--cce-no-dcache-flush"]}, "impl_mode": ""},
33 {"name":"AssignSub", "compute_units": ["ascend950"], "auto_sync" : false, "compile_options": {"ascend950":["--cce-simd-vf-fusion=true", "--cce-simd-at-voss=true"]}, "impl_mode" : ""},33 {"name":"AssignSub", "compute_units": ["ascend950"], "auto_sync" : false, "compile_options": {"ascend950":["--cce-simd-vf-fusion=true", "--cce-simd-at-voss=true"]}, "impl_mode" : ""},
34 {"name":"MaskedScale", "compute_units": ["ascend950"], "auto_sync" : false, "compile_options": {"ascend950":["--cce-simd-vf-fusion=true", "--cce-simd-at-voss=true"]}, "impl_mode" : ""},34 {"name":"MaskedScale", "compute_units": ["ascend950"], "auto_sync" : false, "compile_options": {"ascend950":["--cce-simd-vf-fusion=true", "--cce-simd-at-voss=true"]}, "impl_mode" : ""},
35 {"name":"EluGrad", "compute_units": ["ascend950"], "auto_sync": false, "compile_options": {"ascend950": ["--cce-simd-vf-fusion=true", "--cce-no-dcache-flush"]}, "impl_mode": ""},35 {"name":"EluGrad", "compute_units": ["ascend950"], "auto_sync": false, "compile_options": {"ascend950": ["--cce-simd-vf-fusion=true", "--cce-no-dcache-flush"]}, "impl_mode": ""},
36 {"name":"EluGradV2", "compute_units": ["ascend950"], "auto_sync": false, "compile_options": {"ascend950": ["--cce-simd-vf-fusion=true", "--cce-no-dcache-flush"]}, "impl_mode": ""},36 {"name":"EluGradV2", "compute_units": ["ascend950"], "auto_sync": false, "compile_options": {"ascend950": ["--cce-simd-vf-fusion=true", "--cce-no-dcache-flush"]}, "impl_mode": ""},
37 {"name":"LeakyRelu", "compute_units": ["ascend950", "mc62"], "auto_sync" : false, "compile_options": {"ascend950":["--cce-simd-vf-fusion=true", "--cce-simd-at-voss=true"], "mc62": ["--cce-no-dcache-flush"]}, "impl_mode" : ""},37 {"name":"LeakyRelu", "compute_units": ["ascend950", "mc62"], "auto_sync" : false, "compile_options": {"ascend950":["--cce-simd-vf-fusion=true", "--cce-simd-at-voss=true"], "mc62": ["--cce-no-dcache-flush"]}, "impl_mode" : ""},
38 {"name":"MishGrad", "compute_units": ["ascend950"], "auto_sync" : false, "compile_options": {"ascend950":["--cce-no-dcache-flush"]}, "impl_mode" : ""},38 {"name":"MishGrad", "compute_units": ["ascend950"], "auto_sync" : false, "compile_options": {"ascend950":["--cce-no-dcache-flush"]}, "impl_mode" : ""},
39- {"name":"Softplus", "compute_units": ["ascend950", "mc62"], "auto_sync" : false, "compile_options": {"ascend950":["--cce-simd-vf-fusion=true", "--cce-simd-at-voss=true"], "mc62": ["--cce-no-dcache-flush"]}, "impl_mode" : ""},39+ {"name":"Softplus", "compute_units": ["ascend950", "ascend350", "mc62"], "auto_sync" : false, "compile_options": {"ascend950":["--cce-simd-vf-fusion=true", "--cce-simd-at-voss=true"], "ascend350":["--cce-simd-vf-fusion=true", "--cce-simd-at-voss=true"], "mc62": ["--cce-no-dcache-flush"]}, "impl_mode" : ""},
40 {"name":"SoftplusV2", "compute_units": ["ascend950"], "auto_sync" : false, "compile_options": {"ascend950":["--cce-simd-vf-fusion=true", "--cce-no-dcache-flush"]}, "impl_mode" : ""},40 {"name":"SoftplusV2", "compute_units": ["ascend950"], "auto_sync" : false, "compile_options": {"ascend950":["--cce-simd-vf-fusion=true", "--cce-no-dcache-flush"]}, "impl_mode" : ""},
41 {"name":"Mish", "compute_units": ["ascend950"], "auto_sync": false, "impl_mode": "", "compile_options": {"ascend950": ["--cce-no-dcache-flush"]}},41 {"name":"Mish", "compute_units": ["ascend950"], "auto_sync": false, "impl_mode": "", "compile_options": {"ascend950": ["--cce-no-dcache-flush"]}},
42 {"name":"Elu", "compute_units": ["ascend950", "mc62"], "auto_sync": false, "impl_mode": "", "compile_options": {"ascend950": ["--cce-no-dcache-flush"], "mc62": ["--cce-no-dcache-flush"]}},42 {"name":"Elu", "compute_units": ["ascend950", "mc62"], "auto_sync": false, "impl_mode": "", "compile_options": {"ascend950": ["--cce-no-dcache-flush"], "mc62": ["--cce-no-dcache-flush"]}},
@@ -58,7 +58,7 @@
58 {"name":"Reciprocal", "compute_units": ["ascend950"], "auto_sync": false, "impl_mode" : ""},58 {"name":"Reciprocal", "compute_units": ["ascend950"], "auto_sync": false, "impl_mode" : ""},
59 {"name":"ReluV2", "compute_units": ["ascend950", "ascend910b"], "auto_sync" : false, "compile_options": {"ascend950": ["--cce-simd-vf-fusion=true", "--cce-no-dcache-flush"]}, "impl_mode": ""},59 {"name":"ReluV2", "compute_units": ["ascend950", "ascend910b"], "auto_sync" : false, "compile_options": {"ascend950": ["--cce-simd-vf-fusion=true", "--cce-no-dcache-flush"]}, "impl_mode": ""},
60 {"name":"ReluGradV2", "compute_units": ["ascend950"], "auto_sync" : false, "compile_options": {"ascend950":["--cce-simd-vf-fusion=true", "--cce-no-dcache-flush"]}, "impl_mode": ""},60 {"name":"ReluGradV2", "compute_units": ["ascend950"], "auto_sync" : false, "compile_options": {"ascend950":["--cce-simd-vf-fusion=true", "--cce-no-dcache-flush"]}, "impl_mode": ""},
61- {"name":"Sigmoid", "compute_units": ["ascend950", "mc62"], "auto_sync" : false, "impl_mode" : "", "compile_options": {"ascend950": ["--cce-no-dcache-flush"], "mc62": ["--cce-no-dcache-flush"]}},61+ {"name":"Sigmoid", "compute_units": ["ascend950", "ascend350", "mc62"], "auto_sync" : false, "impl_mode" : "", "compile_options": {"ascend950": ["--cce-no-dcache-flush"], "ascend350": ["--cce-no-dcache-flush"], "mc62": ["--cce-no-dcache-flush"]}},
62 {"name":"SigmoidGrad", "compute_units": ["ascend950"], "auto_sync": false, "impl_mode": "", "compile_options": {"ascend950": ["--cce-no-dcache-flush"]}},62 {"name":"SigmoidGrad", "compute_units": ["ascend950"], "auto_sync": false, "impl_mode": "", "compile_options": {"ascend950": ["--cce-no-dcache-flush"]}},
63 {"name":"Sqrt", "compute_units": ["ascend950", "mc62"], "auto_sync": false, "compile_options": {"ascend950":["--cce-simd-vf-fusion=true", "--cce-simd-at-voss=true"], "mc62": ["--cce-no-dcache-flush"]}, "impl_mode" : ""},63 {"name":"Sqrt", "compute_units": ["ascend950", "mc62"], "auto_sync": false, "compile_options": {"ascend950":["--cce-simd-vf-fusion=true", "--cce-simd-at-voss=true"], "mc62": ["--cce-no-dcache-flush"]}, "impl_mode" : ""},
64 {"name":"SqrtGrad", "compute_units": ["ascend950"], "auto_sync" : false, "compile_options": {"ascend950":["--cce-simd-vf-fusion=true", "--cce-simd-at-voss=true"]}, "impl_mode" : ""},64 {"name":"SqrtGrad", "compute_units": ["ascend950"], "auto_sync" : false, "compile_options": {"ascend950":["--cce-simd-vf-fusion=true", "--cce-simd-at-voss=true"]}, "impl_mode" : ""},
@@ -350,7 +350,7 @@
350 {"name":"SwiGluQuant", "compute_units": ["ascend910_93", "ascend910b", "ascend950", "kirinx90", "kirin9030"], "auto_sync": true},350 {"name":"SwiGluQuant", "compute_units": ["ascend910_93", "ascend910b", "ascend950", "kirinx90", "kirin9030"], "auto_sync": true},
351 {"name":"DeepNorm", "compute_units": ["ascend910_93", "ascend910b", "ascend310p", "ascend950", "kirinx90", "kirin9030"], "auto_sync" : false},351 {"name":"DeepNorm", "compute_units": ["ascend910_93", "ascend910b", "ascend310p", "ascend950", "kirinx90", "kirin9030"], "auto_sync" : false},
352 {"name":"DeepNormGrad", "compute_units": ["ascend910b", "ascend910_93", "ascend310p"], "auto_sync" : false},352 {"name":"DeepNormGrad", "compute_units": ["ascend910b", "ascend910_93", "ascend310p"], "auto_sync" : false},
353- {"name": "SoftmaxV2", "compute_units": ["ascend950", "mc62", "ascend910b"], "auto_sync": false, "impl_mode": "", "compile_options": {"ascend950": ["--cce-no-dcache-flush"], "mc62": ["--cce-no-dcache-flush"]}},353+ {"name": "SoftmaxV2", "compute_units": ["ascend950", "ascend350", "mc62", "ascend910b"], "auto_sync": false, "impl_mode": "", "compile_options": {"ascend950": ["--cce-no-dcache-flush"], "ascend350": ["--cce-no-dcache-flush"], "mc62": ["--cce-no-dcache-flush"]}},
354 {"name": "LogSoftmaxV2", "compute_units": ["ascend950", "mc62"], "auto_sync": false, "impl_mode": "", "compile_options": {"ascend950": ["--cce-no-dcache-flush"], "mc62": ["--cce-no-dcache-flush"]}},354 {"name": "LogSoftmaxV2", "compute_units": ["ascend950", "mc62"], "auto_sync": false, "impl_mode": "", "compile_options": {"ascend950": ["--cce-no-dcache-flush"], "mc62": ["--cce-no-dcache-flush"]}},
355 {"name": "ConfusionSoftmaxGrad", "compute_units": ["ascend950"], "auto_sync": false, "impl_mode": "", "compile_options": {"ascend950": ["--cce-no-dcache-flush"]}},355 {"name": "ConfusionSoftmaxGrad", "compute_units": ["ascend950"], "auto_sync": false, "impl_mode": "", "compile_options": {"ascend950": ["--cce-no-dcache-flush"]}},
356 {"name": "SoftmaxGrad", "compute_units": ["ascend950"], "auto_sync": false, "impl_mode": "", "compile_options": {"ascend950": ["--cce-no-dcache-flush"]}},356 {"name": "SoftmaxGrad", "compute_units": ["ascend950"], "auto_sync": false, "impl_mode": "", "compile_options": {"ascend950": ["--cce-no-dcache-flush"]}},
@@ -452,7 +452,7 @@
452 {"name": "AvgPool", "compute_units": ["ascend950", "mc62"], "auto_sync": false, "impl_mode": "", "compile_options": {"ascend950": ["--cce-no-dcache-flush"]}},452 {"name": "AvgPool", "compute_units": ["ascend950", "mc62"], "auto_sync": false, "impl_mode": "", "compile_options": {"ascend950": ["--cce-no-dcache-flush"]}},
453 {"name": "AvgPoolV2", "compute_units": ["ascend950", "mc62"], "auto_sync": false, "impl_mode": "", "compile_options": {"ascend950": ["--cce-no-dcache-flush"], "mc62": ["--cce-no-dcache-flush"]}},453 {"name": "AvgPoolV2", "compute_units": ["ascend950", "mc62"], "auto_sync": false, "impl_mode": "", "compile_options": {"ascend950": ["--cce-no-dcache-flush"], "mc62": ["--cce-no-dcache-flush"]}},
454 {"name":"MaxPoolV2", "compute_units": ["ascend950"], "auto_sync" : false, "impl_mode" : ""},454 {"name":"MaxPoolV2", "compute_units": ["ascend950"], "auto_sync" : false, "impl_mode" : ""},
455- {"name":"MaxPoolV3", "compute_units": ["ascend950", "mc62"], "auto_sync" : false, "impl_mode" : "", "compile_options": {"ascend950": ["--cce-no-dcache-flush"], "mc62": ["--cce-no-dcache-flush"]}},455+ {"name":"MaxPoolV3", "compute_units": ["ascend950", "ascend350", "mc62"], "auto_sync" : false, "impl_mode" : "", "compile_options": {"ascend950": ["--cce-no-dcache-flush"], "ascend350": ["--cce-no-dcache-flush"], "mc62": ["--cce-no-dcache-flush"]}},
456 {"name":"MaxPoolV3Grad", "compute_units": ["ascend950"], "auto_sync": false, "impl_mode": "", "compile_options": {"ascend950": ["--cce-no-dcache-flush"]}},456 {"name":"MaxPoolV3Grad", "compute_units": ["ascend950"], "auto_sync": false, "impl_mode": "", "compile_options": {"ascend950": ["--cce-no-dcache-flush"]}},
457 {"name":"MaxPool3D", "compute_units": ["ascend950", "mc62"], "auto_sync" : false, "impl_mode" : "", "compile_options": {"ascend950": ["--cce-no-dcache-flush"], "mc62": ["--cce-no-dcache-flush"]}},457 {"name":"MaxPool3D", "compute_units": ["ascend950", "mc62"], "auto_sync" : false, "impl_mode" : "", "compile_options": {"ascend950": ["--cce-no-dcache-flush"], "mc62": ["--cce-no-dcache-flush"]}},
458 {"name":"ScatterList", "compute_units": ["ascend910_93", "ascend910b", "ascend910", "ascend950", "ascend310p", "kirinx90", "kirin9030"], "auto_sync" : true, "compile_options": {"ascend910":["-mllvm -cce-aicore-jump-expand=true"]}},458 {"name":"ScatterList", "compute_units": ["ascend910_93", "ascend910b", "ascend910", "ascend950", "ascend310p", "kirinx90", "kirin9030"], "auto_sync" : true, "compile_options": {"ascend910":["-mllvm -cce-aicore-jump-expand=true"]}},