已开启
docs: 归档arch5162 API支持关系分析 #4491
docs: 归档arch5162 API支持关系分析 #4491
已开启
zhangpengpeng8创建于 15 天前
4 个文件变更+3075-0
@@ -0,0 +1,652 @@
1+# arch5162 API 支持性基线清单
2+ 
3+## 1. 来源和使用说明
4+ 
5+本文以 [arch5162 API 支持性 README](https://gitcode.com/zhangpengpeng8/files_trans_yw/blob/ed5ef652eff961bf4bddc2d4f040a744790d5e04/README.md) 的两张表为初始来源,并已直接刷新为 2026-08-27 确认后的产品支持结论。
6+ 
7+- 来源提交:`ed5ef652eff961bf4bddc2d4f040a744790d5e04`
8+- 来源 README blob:`ebb901f882cbf2f00756005b019822508c77df79`
9+- 表内“arch5162 是否支持”是当前基线,不再保留刷新前状态;后续强桩与产品策略均以该列为准。
10+- baseline 未列出的 Runtime API 不混入本文;补充结论和实现差异见 [ACL-Runtime 支持关系矩阵](arch5162_acl_runtime_api_support_matrix.md) 与 [支持性一致性分析](arch5162_api_support_consistency_analysis.md)。
11+- 当前代码能执行成功不等同于产品支持,表内状态直接采用已确认的产品结论。
12+ 
13+## 2. 汇总
14+ 
15+| 接口层级 | 支持 | 不支持 | 待确认 | 合计 |
16+|---|---:|---:|---:|---:|
17+| ACL | 92 | 325 | 42 | 459 |
18+| Runtime | 16 | 149 | 0 | 165 |
19+ 
20+## 3. ACL API 支持情况
21+ 
22+| 功能分类 | API | arch5162 是否支持 |
23+|---|---|---|
24+| 初始化和去初始化 | `aclInit` | 支持 |
25+| 初始化和去初始化 | `aclFinalize` | 支持 |
26+| 初始化和去初始化 | `aclFinalizeReference` | 支持 |
27+| 初始化和去初始化 | `aclInitCallbackRegister` | 不支持 |
28+| 初始化和去初始化 | `aclInitCallbackUnRegister` | 不支持 |
29+| 初始化和去初始化 | `aclFinalizeCallbackRegister` | 不支持 |
30+| 初始化和去初始化 | `aclFinalizeCallbackUnRegister` | 不支持 |
31+| 运行时配置 | `aclrtSetSysParamOpt` | 不支持 |
32+| 运行时配置 | `aclrtGetSysParamOpt` | 不支持 |
33+| 运行时配置 | `aclrtGetDeviceResLimit` | 不支持 |
34+| 运行时配置 | `aclrtSetDeviceResLimit` | 不支持 |
35+| 运行时配置 | `aclrtResetDeviceResLimit` | 不支持 |
36+| 运行时配置 | `aclrtGetStreamResLimit` | 不支持 |
37+| 运行时配置 | `aclrtSetStreamResLimit` | 不支持 |
38+| 运行时配置 | `aclrtResetStreamResLimit` | 不支持 |
39+| 运行时配置 | `aclrtUseStreamResInCurrentThread` | 不支持 |
40+| 运行时配置 | `aclrtUnuseStreamResInCurrentThread` | 不支持 |
41+| 运行时配置 | `aclrtGetResInCurrentThread` | 不支持 |
42+| Device管理 | `aclrtSetDevice` | 支持 |
43+| Device管理 | `aclrtResetDevice` | 支持 |
44+| Device管理 | `aclrtResetDeviceForce` | 支持 |
45+| Device管理 | `aclrtGetDevice` | 支持 |
46+| Device管理 | `aclrtGetRunMode` | 不支持 |
47+| Device管理 | `aclrtSetTsDevice` | 不支持 |
48+| Device管理 | `aclrtGetDeviceCount` | 不支持 |
49+| Device管理 | `aclrtGetDeviceUtilizationRate` | 支持 |
50+| Device管理 | `aclrtQueryDeviceStatus` | 不支持 |
51+| Device管理 | `aclrtGetSocName` | 支持 |
52+| Device管理 | `aclrtSetDeviceSatMode` | 不支持 |
53+| Device管理 | `aclrtGetDeviceSatMode` | 不支持 |
54+| Device管理 | `aclrtDeviceCanAccessPeer` | 不支持 |
55+| Device管理 | `aclrtDeviceEnablePeerAccess` | 不支持 |
56+| Device管理 | `aclrtDeviceDisablePeerAccess` | 不支持 |
57+| Device管理 | `aclrtDevicePeerAccessStatus` | 不支持 |
58+| Device管理 | `aclrtGetOverflowStatus` | 不支持 |
59+| Device管理 | `aclrtResetOverflowStatus` | 不支持 |
60+| Device管理 | `aclrtSynchronizeDevice` | 不支持 |
61+| Device管理 | `aclrtSynchronizeDeviceWithTimeout` | 不支持 |
62+| Device管理 | `aclrtGetDeviceInfo` | 不支持 |
63+| Device管理 | `aclrtDeviceGetStreamPriorityRange` | 支持 |
64+| Device管理 | `aclrtGetDeviceCapability` | 不支持 |
65+| Device管理 | `aclrtGetDevicesTopo` | 不支持 |
66+| Device管理 | `aclrtRegDeviceStateCallback` | 不支持 |
67+| Device管理 | `aclrtDeviceGetUuid` | 不支持 |
68+| Device管理 | `aclrtGetLogicDevIdByUserDevId` | 不支持 |
69+| Device管理 | `aclrtGetUserDevIdByLogicDevId` | 不支持 |
70+| Device管理 | `aclrtGetLogicDevIdByPhyDevId` | 不支持 |
71+| Device管理 | `aclrtGetPhyDevIdByLogicDevId` | 不支持 |
72+| Device管理 | `aclrtGetUserDevIdByPhyDevId` | 不支持 |
73+| Device管理 | `aclrtGetPhyDevIdByUserDevId` | 不支持 |
74+| Device管理 | `aclrtDeviceGetHostAtomicCapabilities` | 不支持 |
75+| Device管理 | `aclrtDeviceGetP2PAtomicCapabilities` | 不支持 |
76+| Device管理 | `aclrtDeviceSetLimit` | 不支持 |
77+| Device管理 | `aclrtDeviceGetLimit` | 不支持 |
78+| Context管理 | `aclrtCreateContext` | 支持 |
79+| Context管理 | `aclrtDestroyContext` | 支持 |
80+| Context管理 | `aclrtSetCurrentContext` | 支持 |
81+| Context管理 | `aclrtGetCurrentContext` | 支持 |
82+| Context管理 | `aclrtCtxSetSysParamOpt` | 不支持 |
83+| Context管理 | `aclrtCtxGetSysParamOpt` | 不支持 |
84+| Context管理 | `aclrtCtxGetCurrentDefaultStream` | 支持 |
85+| Context管理 | `aclrtGetPrimaryCtxState` | 支持 |
86+| Context管理 | `aclrtCtxGetFloatOverflowAddr` | 不支持 |
87+| Stream管理 | `aclrtCreateStream` | 支持 |
88+| Stream管理 | `aclrtCreateStreamV2` | 不支持 |
89+| Stream管理 | `aclrtSetStreamConfigOpt` | 不支持 |
90+| Stream管理 | `aclrtCreateStreamWithConfig` | 支持 |
91+| Stream管理 | `aclrtDestroyStream` | 支持 |
92+| Stream管理 | `aclrtDestroyStreamForce` | 支持 |
93+| Stream管理 | `aclrtSetStreamOverflowSwitch` | 不支持 |
94+| Stream管理 | `aclrtGetStreamOverflowSwitch` | 不支持 |
95+| Stream管理 | `aclrtSetStreamFailureMode` | 不支持 |
96+| Stream管理 | `aclrtStreamQuery` | 不支持 |
97+| Stream管理 | `aclrtSynchronizeStream` | 支持 |
98+| Stream管理 | `aclrtSynchronizeStreamWithTimeout` | 支持 |
99+| Stream管理 | `aclrtStreamAbort` | 不支持 |
100+| Stream管理 | `aclrtStreamGetId` | 支持 |
101+| Stream管理 | `aclrtGetStreamAvailableNum` | 支持 |
102+| Stream管理 | `aclrtSetStreamAttribute` | 不支持 |
103+| Stream管理 | `aclrtGetStreamAttribute` | 不支持 |
104+| Stream管理 | `aclrtActiveStream` | 支持 |
105+| Stream管理 | `aclrtSwitchStream` | 支持 |
106+| Stream管理 | `aclrtRegStreamStateCallback` | 不支持 |
107+| Stream管理 | `aclrtStreamStop` | 不支持 |
108+| Stream管理 | `aclrtPersistentTaskClean` | 不支持 |
109+| Stream管理 | `aclrtStreamGetPriority` | 支持 |
110+| Stream管理 | `aclrtStreamGetFlags` | 不支持 |
111+| Event管理 | `aclrtCreateEvent` | 支持 |
112+| Event管理 | `aclrtCreateEventWithFlag` | 支持 |
113+| Event管理 | `aclrtCreateEventExWithFlag` | 支持 |
114+| Event管理 | `aclrtDestroyEvent` | 支持 |
115+| Event管理 | `aclrtRecordEvent` | 支持 |
116+| Event管理 | `aclrtResetEvent` | 支持 |
117+| Event管理 | `aclrtQueryEventStatus` | 不支持 |
118+| Event管理 | `aclrtQueryEventWaitStatus` | 不支持 |
119+| Event管理 | `aclrtSynchronizeEvent` | 支持 |
120+| Event管理 | `aclrtSynchronizeEventWithTimeout` | 支持 |
121+| Event管理 | `aclrtEventElapsedTime` | 支持 |
122+| Event管理 | `aclrtStreamWaitEvent` | 支持 |
123+| Event管理 | `aclrtStreamWaitEventWithTimeout` | 支持 |
124+| Event管理 | `aclrtSetOpWaitTimeout` | 不支持 |
125+| Event管理 | `aclrtEventGetTimestamp` | 支持 |
126+| Event管理 | `aclrtGetEventId` | 支持 |
127+| Event管理 | `aclrtGetEventAvailNum` | 支持 |
128+| Event管理 | `aclrtIpcGetEventHandle` | 不支持 |
129+| Event管理 | `aclrtIpcOpenEventHandle` | 不支持 |
130+| Event管理 | `aclrtStreamWaitEventWithFlag` | 不支持 |
131+| Event管理 | `aclrtRecordEventWithFlag` | 不支持 |
132+| Event管理 | `aclrtQueryEvent(废弃)` | 不支持 |
133+| Notify管理 | `aclrtCreateNotify` | 支持 |
134+| Notify管理 | `aclrtDestroyNotify` | 支持 |
135+| Notify管理 | `aclrtRecordNotify` | 支持 |
136+| Notify管理 | `aclrtWaitAndResetNotify` | 支持 |
137+| Notify管理 | `aclrtGetNotifyId` | 支持 |
138+| Notify管理 | `aclrtNotifyBatchReset` | 不支持 |
139+| Notify管理 | `aclrtNotifyGetExportKey` | 不支持 |
140+| Notify管理 | `aclrtNotifySetImportPid` | 不支持 |
141+| Notify管理 | `aclrtNotifySetImportPidInterServer` | 不支持 |
142+| Notify管理 | `aclrtNotifyImportByKey` | 不支持 |
143+| CntNotify管理 | `aclrtCntNotifyCreate` | 不支持 |
144+| CntNotify管理 | `aclrtCntNotifyRecord` | 不支持 |
145+| CntNotify管理 | `aclrtCntNotifyWaitWithTimeout` | 不支持 |
146+| CntNotify管理 | `aclrtCntNotifyReset` | 不支持 |
147+| CntNotify管理 | `aclrtCntNotifyGetId` | 不支持 |
148+| CntNotify管理 | `aclrtCntNotifyDestroy` | 不支持 |
149+| Label管理 | `aclrtCreateLabel` | 支持 |
150+| Label管理 | `aclrtSetLabel` | 支持 |
151+| Label管理 | `aclrtDestroyLabel` | 支持 |
152+| Label管理 | `aclrtCreateLabelList` | 支持 |
153+| Label管理 | `aclrtDestroyLabelList` | 支持 |
154+| Label管理 | `aclrtSwitchLabelByIndex` | 支持 |
155+| 内存管理 | `aclrtMalloc` | 支持 |
156+| 内存管理 | `aclrtMallocAlign32` | 不支持 |
157+| 内存管理 | `aclrtMallocCached` | 支持 |
158+| 内存管理 | `aclrtMemFlush` | 支持 |
159+| 内存管理 | `aclrtMemInvalidate` | 支持 |
160+| 内存管理 | `aclrtMallocWithCfg` | 不支持 |
161+| 内存管理 | `aclrtMallocForTaskScheduler` | 不支持 |
162+| 内存管理 | `aclrtFree` | 支持 |
163+| 内存管理 | `aclrtFreeWithDevSync` | 不支持 |
164+| 内存管理 | `aclrtMallocHost` | 不支持 |
165+| 内存管理 | `aclrtMallocHostWithCfg` | 不支持 |
166+| 内存管理 | `aclrtFreeHost` | 不支持 |
167+| 内存管理 | `aclrtFreeHostWithDevSync` | 不支持 |
168+| 内存管理 | `aclrtMemset` | 支持 |
169+| 内存管理 | `aclrtMemsetAsync` | 支持 |
170+| 内存管理 | `aclrtMemcpy` | 支持 |
171+| 内存管理 | `aclrtMemcpyAsync` | 支持 |
172+| 内存管理 | `aclrtMemcpyAsyncWithCondition` | 不支持 |
173+| 内存管理 | `aclrtMemcpyBatch` | 不支持 |
174+| 内存管理 | `aclrtMemcpyBatchAsync` | 不支持 |
175+| 内存管理 | `aclrtMemcpy2d` | 不支持 |
176+| 内存管理 | `aclrtMemcpy2dAsync` | 不支持 |
177+| 内存管理 | `aclrtGetMemcpyDescSize` | 不支持 |
178+| 内存管理 | `aclrtSetMemcpyDesc` | 不支持 |
179+| 内存管理 | `aclrtMemcpyAsyncWithDesc` | 不支持 |
180+| 内存管理 | `aclrtMemcpyAsyncWithOffset` | 不支持 |
181+| 内存管理 | `aclrtMallocPhysical` | 不支持 |
182+| 内存管理 | `aclrtFreePhysical` | 不支持 |
183+| 内存管理 | `aclrtReserveMemAddress` | 不支持 |
184+| 内存管理 | `aclrtReserveMemAddressNoUCMemory` | 不支持 |
185+| 内存管理 | `aclrtReleaseMemAddress` | 不支持 |
186+| 内存管理 | `aclrtMapMem` | 不支持 |
187+| 内存管理 | `aclrtUnmapMem` | 不支持 |
188+| 内存管理 | `aclrtMemExportToShareableHandle` | 不支持 |
189+| 内存管理 | `aclrtMemSetPidToShareableHandle` | 不支持 |
190+| 内存管理 | `aclrtMemImportFromShareableHandle` | 不支持 |
191+| 内存管理 | `aclrtMemExportToShareableHandleV2` | 不支持 |
192+| 内存管理 | `aclrtMemSetPidToShareableHandleV2` | 不支持 |
193+| 内存管理 | `aclrtMemImportFromShareableHandleV2` | 不支持 |
194+| 内存管理 | `aclrtDeviceGetBareTgid` | 不支持 |
195+| 内存管理 | `aclrtMemGetAllocationGranularity` | 不支持 |
196+| 内存管理 | `aclrtMemSetAccess` | 不支持 |
197+| 内存管理 | `aclrtMemGetAccess` | 不支持 |
198+| 内存管理 | `aclrtMemRetainAllocationHandle` | 不支持 |
199+| 内存管理 | `aclrtMemGetAllocationPropertiesFromHandle` | 不支持 |
200+| 内存管理 | `aclrtMemGetAddressRange` | 不支持 |
201+| 内存管理 | `aclrtCmoAsync` | 不支持 |
202+| 内存管理 | `aclrtCmoAsyncWithBarrier` | 不支持 |
203+| 内存管理 | `aclrtCmoWaitBarrier` | 不支持 |
204+| 内存管理 | `aclrtCmoGetDescSize` | 不支持 |
205+| 内存管理 | `aclrtCmoSetDesc` | 不支持 |
206+| 内存管理 | `aclrtCmoAsyncWithDesc` | 不支持 |
207+| 内存管理 | `aclrtPointerGetAttributes` | 支持 |
208+| 内存管理 | `aclrtHostRegister` | 不支持 |
209+| 内存管理 | `aclrtHostRegisterV2` | 不支持 |
210+| 内存管理 | `aclrtHostGetDevicePointer` | 不支持 |
211+| 内存管理 | `aclrtHostUnregister` | 不支持 |
212+| 内存管理 | `aclrtHostMemMapCapabilities` | 不支持 |
213+| 内存管理 | `aclrtValueWrite` | 支持 |
214+| 内存管理 | `aclrtValueWait` | 不支持 |
215+| 内存管理 | `aclrtIpcMemGetExportKey` | 不支持 |
216+| 内存管理 | `aclrtIpcMemSetImportPid` | 不支持 |
217+| 内存管理 | `aclrtIpcMemImportPidInterServer` | 不支持 |
218+| 内存管理 | `aclrtIpcMemImportByKey` | 不支持 |
219+| 内存管理 | `aclrtIpcMemSetAttr` | 不支持 |
220+| 内存管理 | `aclrtIpcMemClose` | 不支持 |
221+| 内存管理 | `aclrtGetMemInfo` | 不支持 |
222+| 内存管理 | `aclrtCheckMemType` | 不支持 |
223+| 内存管理 | `aclrtGetMemUsageInfo` | 不支持 |
224+| 内存管理 | `aclrtAllocatorRegister` | 不支持 |
225+| 内存管理 | `aclrtAllocatorGetByStream` | 不支持 |
226+| 内存管理 | `aclrtAllocatorUnregister` | 不支持 |
227+| 内存管理 | `aclrtMemPoolCreate` | 不支持 |
228+| 内存管理 | `aclrtMemPoolDestroy` | 不支持 |
229+| 内存管理 | `aclrtMemPoolGetAttr` | 不支持 |
230+| 内存管理 | `aclrtMemPoolSetAttr` | 不支持 |
231+| 内存管理 | `aclrtMemPoolMallocAsync` | 不支持 |
232+| 内存管理 | `aclrtMemPoolFreeAsync` | 不支持 |
233+| 内存管理 | `aclrtMemPoolTrimTo` | 不支持 |
234+| 内存管理 | `aclrtGetSymbolAddress` | 不支持 |
235+| 内存管理 | `aclrtGetSymbolSize` | 不支持 |
236+| 内存管理 | `aclrtMemcpyFromSymbol` | 不支持 |
237+| 内存管理 | `aclrtMemcpyFromSymbolAsync` | 不支持 |
238+| 内存管理 | `aclrtMemcpyToSymbol` | 不支持 |
239+| 内存管理 | `aclrtMemcpyToSymbolAsync` | 不支持 |
240+| 内存管理 | `aclrtMemsetD32` | 不支持 |
241+| 内存管理 | `aclrtMemsetD32Async` | 不支持 |
242+| 内存管理 | `aclrtMemcpyBatchV2` | 不支持 |
243+| 内存管理 | `aclrtMemcpyBatchAsyncV2` | 不支持 |
244+| 内存管理 | `aclrtMemMapSelectedLink` | 不支持 |
245+| 内存管理 | `aclrtMemAllocManaged` | 不支持 |
246+| 内存管理 | `aclrtMemManagedAdvise` | 不支持 |
247+| 内存管理 | `aclrtMemManagedGetAttr` | 不支持 |
248+| 内存管理 | `aclrtMemManagedGetAttrs` | 不支持 |
249+| 内存管理 | `aclrtMemManagedPrefetchAsync` | 不支持 |
250+| 内存管理 | `aclrtMemManagedPrefetchBatchAsync` | 不支持 |
251+| 内存管理 | `aclrtMemP2PMap` | 不支持 |
252+| 执行控制 | `aclrtLaunchCallback` | 不支持 |
253+| 执行控制 | `aclrtSubscribeReport` | 不支持 |
254+| 执行控制 | `aclrtProcessReport` | 不支持 |
255+| 执行控制 | `aclrtUnSubscribeReport` | 不支持 |
256+| 执行控制 | `aclrtSubscribeHostFunc` | 不支持 |
257+| 执行控制 | `aclrtProcessHostFunc` | 不支持 |
258+| 执行控制 | `aclrtUnSubscribeHostFunc` | 不支持 |
259+| 执行控制 | `aclrtGetOpTimeoutInterval` | 支持 |
260+| 执行控制 | `aclrtSetOpExecuteTimeOut` | 不支持 |
261+| 执行控制 | `aclrtSetOpExecuteTimeOutV2` | 支持 |
262+| 执行控制 | `aclrtSetOpExecuteTimeOutWithMs` | 不支持 |
263+| 执行控制 | `aclrtGetOpExecuteTimeOut` | 支持 |
264+| 执行控制 | `aclrtGetThreadLastTaskId` | 支持 |
265+| 执行控制 | `aclrtReduceAsync` | 不支持 |
266+| 执行控制 | `aclrtLaunchHostFunc` | 支持 |
267+| 执行控制 | `aclrtRandomNumAsync` | 不支持 |
268+| 执行控制 | `aclrtTaskUpdateAsync` | 不支持 |
269+| 异常处理 | `aclGetRecentErrMsg` | 支持 |
270+| 异常处理 | `aclrtSetExceptionInfoCallback` | 不支持 |
271+| 异常处理 | `aclrtGetTaskIdFromExceptionInfo` | 不支持 |
272+| 异常处理 | `aclrtGetStreamIdFromExceptionInfo` | 不支持 |
273+| 异常处理 | `aclrtGetThreadIdFromExceptionInfo` | 不支持 |
274+| 异常处理 | `aclrtGetDeviceIdFromExceptionInfo` | 不支持 |
275+| 异常处理 | `aclrtGetErrorCodeFromExceptionInfo` | 不支持 |
276+| 异常处理 | `aclrtPeekAtLastError` | 支持 |
277+| 异常处理 | `aclrtGetLastError` | 支持 |
278+| 异常处理 | `aclrtGetMemUceInfo` | 不支持 |
279+| 异常处理 | `aclrtMemUceRepair` | 不支持 |
280+| 异常处理 | `aclrtDeviceTaskAbort` | 不支持 |
281+| 异常处理 | `aclRecoverAllHcclTasks` | 不支持 |
282+| 异常处理 | `aclrtGetErrorVerbose` | 不支持 |
283+| 异常处理 | `aclrtRepairError` | 不支持 |
284+| 异常处理 | `aclrtSetDeviceTaskAbortCallback` | 不支持 |
285+| Kernel加载与执行 | `aclrtBinaryLoadFromFile` | 支持 |
286+| Kernel加载与执行 | `aclrtBinaryLoadFromData` | 支持 |
287+| Kernel加载与执行 | `aclrtBinaryGetFunction` | 支持 |
288+| Kernel加载与执行 | `aclrtBinaryGetFunctionByEntry` | 支持 |
289+| Kernel加载与执行 | `aclrtBinaryGetDevAddress` | 不支持 |
290+| Kernel加载与执行 | `aclrtGetFunctionAddr` | 不支持 |
291+| Kernel加载与执行 | `aclrtGetFunctionName` | 不支持 |
292+| Kernel加载与执行 | `aclrtGetFunctionAttribute` | 不支持 |
293+| Kernel加载与执行 | `aclrtGetHardwareSyncAddr` | 不支持 |
294+| Kernel加载与执行 | `aclrtRegisterCpuFunc` | 支持 |
295+| Kernel加载与执行 | `aclrtKernelArgsInit` | 不支持 |
296+| Kernel加载与执行 | `aclrtKernelArgsInitByUserMem` | 不支持 |
297+| Kernel加载与执行 | `aclrtKernelArgsGetMemSize` | 不支持 |
298+| Kernel加载与执行 | `aclrtKernelArgsGetHandleMemSize` | 不支持 |
299+| Kernel加载与执行 | `aclrtKernelArgsAppend` | 不支持 |
300+| Kernel加载与执行 | `aclrtKernelArgsAppendPlaceHolder` | 不支持 |
301+| Kernel加载与执行 | `aclrtKernelArgsGetPlaceHolderBuffer` | 不支持 |
302+| Kernel加载与执行 | `aclrtKernelArgsParaUpdate` | 不支持 |
303+| Kernel加载与执行 | `aclrtKernelArgsFinalize` | 不支持 |
304+| Kernel加载与执行 | `aclrtLaunchKernel` | 不支持 |
305+| Kernel加载与执行 | `aclrtLaunchKernelV2` | 支持 |
306+| Kernel加载与执行 | `aclrtLaunchKernelWithConfig` | 不支持 |
307+| Kernel加载与执行 | `aclrtLaunchKernelWithHostArgs` | 不支持 |
308+| Kernel加载与执行 | `aclrtCreateBinary` | 不支持 |
309+| Kernel加载与执行 | `aclrtDestroyBinary` | 不支持 |
310+| Kernel加载与执行 | `aclrtBinaryLoad` | 不支持 |
311+| Kernel加载与执行 | `aclrtBinaryUnLoad` | 支持 |
312+| Kernel加载与执行 | `aclrtLaunchKernelWithArgsArray` | 不支持 |
313+| Kernel加载与执行 | `aclrtGetFunctionSize` | 不支持 |
314+| Kernel加载与执行 | `aclrtFunctionGetBinary` | 不支持 |
315+| Kernel加载与执行 | `aclrtFunctionGetParamCount` | 不支持 |
316+| Kernel加载与执行 | `aclrtFunctionGetParamInfo` | 不支持 |
317+| Kernel加载与执行 | `aclrtFunctionGetAvailDynUbufPerBlock` | 不支持 |
318+| Kernel加载与执行 | `aclrtGetFuncBySymbol` | 不支持 |
319+| Kernel加载与执行 | `aclrtLaunchSIMTKernelWithHostArgs` | 不支持 |
320+| Kernel加载与执行 | `aclrtLaunchSIMTKernelWithArgsArray` | 不支持 |
321+| Kernel加载与执行 | `aclrtBinaryGetGlobal` | 不支持 |
322+| 模型运行实例管理 | `aclmdlRICaptureBegin` | 不支持 |
323+| 模型运行实例管理 | `aclmdlRICaptureGetInfo` | 不支持 |
324+| 模型运行实例管理 | `aclmdlRICaptureThreadExchangeMode` | 不支持 |
325+| 模型运行实例管理 | `aclmdlRICaptureEnd` | 不支持 |
326+| 模型运行实例管理 | `aclmdlRICaptureTaskGrpBegin` | 不支持 |
327+| 模型运行实例管理 | `aclmdlRICaptureTaskGrpEnd` | 不支持 |
328+| 模型运行实例管理 | `aclmdlRICaptureTaskUpdateBegin` | 不支持 |
329+| 模型运行实例管理 | `aclmdlRICaptureTaskUpdateEnd` | 不支持 |
330+| 模型运行实例管理 | `aclmdlRIDebugJsonPrint` | 不支持 |
331+| 模型运行实例管理 | `aclmdlRIDebugPrint` | 不支持 |
332+| 模型运行实例管理 | `aclmdlRIBuildBegin` | 支持 |
333+| 模型运行实例管理 | `aclmdlRIBindStream` | 支持 |
334+| 模型运行实例管理 | `aclmdlRIEndTask` | 支持 |
335+| 模型运行实例管理 | `aclmdlRIBuildEnd` | 支持 |
336+| 模型运行实例管理 | `aclmdlRIUnbindStream` | 支持 |
337+| 模型运行实例管理 | `aclmdlRIExecute` | 支持 |
338+| 模型运行实例管理 | `aclmdlRIExecuteAsync` | 支持 |
339+| 模型运行实例管理 | `aclmdlRIDestroy` | 支持 |
340+| 模型运行实例管理 | `aclmdlRISetName` | 支持 |
341+| 模型运行实例管理 | `aclmdlRIGetName` | 支持 |
342+| 模型运行实例管理 | `aclrtCheckArchCompatibility` | 不支持 |
343+| 模型运行实例管理 | `aclmdlRIAbort` | 不支持 |
344+| 模型运行实例管理 | `aclmdlRIGetStreams` | 不支持 |
345+| 模型运行实例管理 | `aclmdlRIGetTasksByStream` | 不支持 |
346+| 模型运行实例管理 | `aclmdlRITaskGetType` | 不支持 |
347+| 模型运行实例管理 | `aclmdlRITaskGetSeqId` | 不支持 |
348+| 模型运行实例管理 | `aclmdlRITaskGetParams` | 不支持 |
349+| 模型运行实例管理 | `aclmdlRITaskSetParams` | 不支持 |
350+| 模型运行实例管理 | `aclmdlRIKernelTaskGetAttribute` | 不支持 |
351+| 模型运行实例管理 | `aclmdlRITaskDisable` | 不支持 |
352+| 模型运行实例管理 | `aclmdlRIUpdate` | 不支持 |
353+| 模型运行实例管理 | `aclmdlRIDestroyRegisterCallback` | 不支持 |
354+| 模型运行实例管理 | `aclmdlRIDestroyUnregisterCallback` | 不支持 |
355+| 模型运行实例管理 | `aclmdlRIGetId` | 不支持 |
356+| 模型运行实例管理 | `aclmdlRIAddCondTask` | 不支持 |
357+| 模型运行实例管理 | `aclmdlRICondHandleCreate` | 不支持 |
358+| 模型运行实例管理 | `aclmdlRICondHandleGetCondPtr` | 不支持 |
359+| 模型运行实例管理 | `aclmdlRICaptureToModelRIBegin` | 不支持 |
360+| 算力Group查询与设置 | `aclrtSetGroup` | 不支持 |
361+| 算力Group查询与设置 | `aclrtGetGroupCount` | 不支持 |
362+| 算力Group查询与设置 | `aclrtGetAllGroupInfo` | 不支持 |
363+| 算力Group查询与设置 | `aclrtGetGroupInfoDetail` | 不支持 |
364+| 算力Group查询与设置 | `aclrtCreateGroupInfo` | 不支持 |
365+| 算力Group查询与设置 | `aclrtDestroyGroupInfo` | 不支持 |
366+| 共享Buffer管理 | `aclrtAllocBuf` | 不支持 |
367+| 共享Buffer管理 | `aclrtFreeBuf` | 不支持 |
368+| 共享Buffer管理 | `aclrtGetBufData` | 不支持 |
369+| 共享Buffer管理 | `aclrtSetBufUserData` | 不支持 |
370+| 共享Buffer管理 | `aclrtGetBufUserData` | 不支持 |
371+| 共享Buffer管理 | `aclrtGetBufDataLen` | 不支持 |
372+| 共享Buffer管理 | `aclrtSetBufDataLen` | 不支持 |
373+| 共享Buffer管理 | `aclrtCopyBufRef` | 不支持 |
374+| 共享Buffer管理 | `aclrtAppendBufChain` | 不支持 |
375+| 共享Buffer管理 | `aclrtGetBufFromChain` | 不支持 |
376+| 共享Buffer管理 | `aclrtGetBufChainNum` | 不支持 |
377+| 快照管理 | `aclrtSnapShotProcessLock` | 不支持 |
378+| 快照管理 | `aclrtSnapShotProcessBackup` | 不支持 |
379+| 快照管理 | `aclrtSnapShotProcessRestore` | 不支持 |
380+| 快照管理 | `aclrtSnapShotProcessUnlock` | 不支持 |
381+| 快照管理 | `aclrtSnapShotCallbackRegister` | 不支持 |
382+| 快照管理 | `aclrtSnapShotCallbackUnregister` | 不支持 |
383+| 其他接口 | `aclAppLog` | 支持 |
384+| 其他接口 | `aclDataTypeSize` | 不支持 |
385+| 其他接口 | `aclFloat16ToFloat` | 不支持 |
386+| 其他接口 | `aclFloatToFloat16` | 不支持 |
387+| 其他接口 | `aclrtGetVersion` | 支持 |
388+| 其他接口 | `aclsysGetCANNVersion(废弃)` | 不支持 |
389+| 其他接口 | `aclGetCannAttributeList` | 不支持 |
390+| 其他接口 | `aclGetCannAttribute` | 不支持 |
391+| 其他接口 | `aclGetDeviceCapability` | 不支持 |
392+| 其他接口 | `aclrtCacheLastTaskOpInfo` | 不支持 |
393+| 其他接口 | `aclrtProfTrace` | 不支持 |
394+| 其他接口 | `aclsysGetVersionStr` | 支持 |
395+| 其他接口 | `aclsysGetVersionNum` | 支持 |
396+| 其他接口 | `aclrtCacheLastTaskExtendInfo` | 不支持 |
397+| 其他接口 | `aclplatformGetDeviceInfo` | 不支持 |
398+| 其他接口 | `aclplatformGetInstructionInfo` | 不支持 |
399+| 新增接口临时存放 | `aclrtResetFloatOverflowStatus` | 不支持 |
400+| 新增接口临时存放 | `aclrtNpuGetFloatOverFlowStatus` | 不支持 |
401+| 新增接口临时存放 | `aclrtNpuClearFloatOverFlowStatus` | 不支持 |
402+| 新增接口临时存放 | `aclrtBinarySetExceptionCallback` | 不支持 |
403+| 新增接口临时存放 | `aclrtGetArgsFromExceptionInfo` | 不支持 |
404+| 新增接口临时存放 | `aclrtGetFuncHandleFromExceptionInfo` | 不支持 |
405+| Dump配置 | `aclmdlInitDump` | 待确认 |
406+| Dump配置 | `aclmdlSetDump` | 待确认 |
407+| Dump配置 | `acldumpRegCallback` | 待确认 |
408+| Dump配置 | `acldumpUnregCallback` | 待确认 |
409+| Dump配置 | `acldumpGetPath` | 待确认 |
410+| Dump配置 | `aclmdlFinalizeDump` | 待确认 |
411+| Dump配置 | `aclopStartDumpArgs` | 待确认 |
412+| Dump配置 | `aclopStopDumpArgs` | 待确认 |
413+| Profiling数据采集 | `aclprofInit` | 待确认 |
414+| Profiling数据采集 | `aclprofSetConfig` | 待确认 |
415+| Profiling数据采集 | `aclprofStart` | 待确认 |
416+| Profiling数据采集 | `aclprofStop` | 待确认 |
417+| Profiling数据采集 | `aclprofFinalize` | 待确认 |
418+| Profiling数据采集 | `aclprofPop` | 待确认 |
419+| Profiling数据采集 | `aclprofRangeStart` | 待确认 |
420+| Profiling数据采集 | `aclprofRangeStop` | 待确认 |
421+| Profiling数据采集 | `aclprofDestroyStamp` | 待确认 |
422+| Profiling数据采集 | `aclprofStr2Id` | 待确认 |
423+| Profiling数据采集 | `aclprofRangePushEx` | 待确认 |
424+| Profiling数据采集 | `aclprofRangePop` | 待确认 |
425+| Profiling数据采集 | `aclprofCreateStamp` | 待确认 |
426+| Profiling数据采集 | `aclprofSetStampCategory(删除)` | 不支持 |
427+| Profiling数据采集 | `aclprofSetCategoryName(删除)` | 不支持 |
428+| Profiling数据采集 | `aclprofSetStampPayload(删除)` | 不支持 |
429+| Profiling数据采集 | `aclprofSetStampTraceMessage` | 待确认 |
430+| Profiling数据采集 | `aclprofMark` | 待确认 |
431+| Profiling数据采集 | `aclprofMarkEx` | 待确认 |
432+| Profiling数据采集 | `aclprofPush` | 待确认 |
433+| Profiling数据采集 | `aclprofGetOpStart` | 待确认 |
434+| Profiling数据采集 | `aclprofGetOpEnd` | 待确认 |
435+| Profiling数据采集 | `aclprofGetOpDuration` | 待确认 |
436+| Profiling数据采集 | `aclprofGetOpFlag` | 待确认 |
437+| Profiling数据采集 | `aclprofGetOpAttriValue` | 待确认 |
438+| Profiling数据采集 | `aclprofGetModelId` | 待确认 |
439+| Profiling数据采集 | `aclprofGetOpCubeOps` | 待确认 |
440+| Profiling数据采集 | `aclprofGetOpVectorOps` | 待确认 |
441+| Profiling数据采集 | `aclprofModelSubscribe` | 待确认 |
442+| Profiling数据采集 | `aclprofModelUnSubscribe` | 待确认 |
443+| Profiling数据采集 | `aclprofGetOpDescSize` | 待确认 |
444+| Profiling数据采集 | `aclprofGetOpNum` | 待确认 |
445+| Profiling数据采集 | `aclprofGetOpTypeLen` | 待确认 |
446+| Profiling数据采集 | `aclprofGetOpType` | 待确认 |
447+| Profiling数据采集 | `aclprofGetOpNameLen` | 待确认 |
448+| Profiling数据采集 | `aclprofGetOpName` | 待确认 |
449+| Profiling数据采集 | `aclprofGetStepTimestamp` | 待确认 |
450+| 日志接口 | `acllogRegisterCallback` | 不支持 |
451+| 日志接口 | `acllogUnregisterCallback` | 不支持 |
452+| 数据传输 | `acltdtCreateChannel` | 不支持 |
453+| 数据传输 | `acltdtCreateChannelWithCapacity` | 不支持 |
454+| 数据传输 | `acltdtSendTensor` | 不支持 |
455+| 数据传输 | `acltdtReceiveTensor` | 不支持 |
456+| 数据传输 | `acltdtStopChannel` | 不支持 |
457+| 数据传输 | `acltdtDestroyChannel` | 不支持 |
458+| 数据传输 | `acltdtQueryChannelSize` | 不支持 |
459+| 数据传输 | `acltdtGetSliceInfoFromItem` | 不支持 |
460+| 数据传输 | `acltdtCleanChannel` | 不支持 |
461+| 数据传输 | `acltdtQueryQueueRoutes` | 不支持 |
462+| 数据传输 | `acltdtGrantQueue` | 不支持 |
463+| 数据传输 | `acltdtAttachQueue` | 不支持 |
464+| 数据传输 | `acltdtCreateQueue` | 不支持 |
465+| 数据传输 | `acltdtDestroyQueue` | 不支持 |
466+| 数据传输 | `acltdtEnqueueData` | 不支持 |
467+| 数据传输 | `acltdtDequeueData` | 不支持 |
468+| 数据传输 | `acltdtEnqueue` | 不支持 |
469+| 数据传输 | `acltdtDequeue` | 不支持 |
470+| 数据传输 | `acltdtBindQueueRoutes` | 不支持 |
471+| 数据传输 | `acltdtUnbindQueueRoutes` | 不支持 |
472+| 数据传输 | `acltdtAppendBufChain` | 不支持 |
473+| 数据传输 | `acltdtGetBufChainNum` | 不支持 |
474+| 数据传输 | `acltdtGetBufFromChain` | 不支持 |
475+| 数据传输 | `acltdtAllocBuf` | 不支持 |
476+| 数据传输 | `acltdtFreeBuf` | 不支持 |
477+| 数据传输 | `acltdtGetBufData` | 不支持 |
478+| 数据传输 | `acltdtSetBufUserData` | 不支持 |
479+| 数据传输 | `acltdtGetBufUserData` | 不支持 |
480+| 数据传输 | `acltdtSetBufDataLen` | 不支持 |
481+| 数据传输 | `acltdtGetBufDataLen` | 不支持 |
482+| 数据传输 | `acltdtCopyBufRef` | 不支持 |
483+ 
484+## 4. Runtime API 支持情况
485+ 
486+| 功能分类 | API | arch5162 是否支持 |
487+|---|---|---|
488+| rt_external_stream.h | `rtStreamGetSqid` | 支持 |
489+| rt_external_stream.h | `rtStreamGetCqid` | 支持 |
490+| rt_external_stream.h | `rtDebugRegisterForStream` | 不支持 |
491+| rt_external_stream.h | `rtStreamCreateWithFlags` | 支持 |
492+| rt_external_stream.h | `rtStreamGetWorkspace` | 不支持 |
493+| rt_external_stream.h | `rtGetMaxStreamAndTask` | 支持 |
494+| rt_external_device.h | `rtSetSocVersion` | 支持 |
495+| rt_external_device.h | `rtDebugSetDumpMode` | 不支持 |
496+| rt_external_device.h | `rtDebugGetStalledCore` | 不支持 |
497+| rt_external_device.h | `rtInit` | 不支持 |
498+| rt_external_device.h | `rtDeinit` | 不支持 |
499+| rt_external_device.h | `rtGetDevResAddress` | 不支持 |
500+| rt_external_device.h | `rtReleaseDevResAddress` | 不支持 |
501+| rt_external_device.h | `rtUbDevQueryInfo` | 不支持 |
502+| rt_external_device.h | `rtOpenNetService` | 不支持 |
503+| rt_external_device.h | `rtCloseNetService` | 不支持 |
504+| rt_external_device.h | `rtSetDeviceWithoutTsd` | 支持 |
505+| rt_external_device.h | `rtGetDevMsg` | 不支持 |
506+| rt_external_device.h | `rtGetDeviceInfo` | 支持 |
507+| rt_external_device.h | `rtsDeviceGetCapability` | 不支持 |
508+| rt_external_device.h | `rtSetDeviceWithFlags` | 支持 |
509+| rt_external_device.h | `rtEnableP2P` | 不支持 |
510+| rt_external_device.h | `rtDisableP2P` | 不支持 |
511+| rt_external_device.h | `rtGetP2PStatus` | 不支持 |
512+| rt_external_device.h | `rtGetPairPhyDevicesInfo` | 不支持 |
513+| rt_external_device.h | `rtGetPhyDeviceInfo` | 不支持 |
514+| rt_external_device.h | `rtGetPairDevicesInfo` | 不支持 |
515+| rt_external_device.h | `rtGetServerIDBySDID` | 不支持 |
516+| rt_external_device.h | `rtXpuSetTaskFailCallback` | 不支持 |
517+| rt_external_device.h | `rtGetRtCapability` | 不支持 |
518+| rt_external_device.h | `rtGetTSDevice` | 不支持 |
519+| rt_external_device.h | `rtGetDeviceCapability` | 不支持 |
520+| rt_external_device.h | `rtGetTsMemType` | 支持 |
521+| rt_external_ffts.h | `rtFftsPlusTaskLaunch` | 不支持 |
522+| rt_external_ffts.h | `rtFftsPlusTaskLaunchWithFlag` | 不支持 |
523+| rt_external_kernel.h | `rtGetNotifyAddress` | 不支持 |
524+| rt_external_kernel.h | `rtSetExceptionExtInfo` | 不支持 |
525+| rt_external_kernel.h | `rtKernelFusionStart` | 不支持 |
526+| rt_external_kernel.h | `rtKernelFusionEnd` | 不支持 |
527+| rt_external_kernel.h | `rtMetadataRegister` | 不支持 |
528+| rt_external_kernel.h | `rtAicpuKernelLaunchExWithArgs` | 不支持 |
529+| rt_external_kernel.h | `rtGetDevArgsAddr` | 不支持 |
530+| rt_external_kernel.h | `rtDumpAddrSet` | 不支持 |
531+| rt_external_kernel.h | `rtDatadumpInfoLoad` | 支持 |
532+| rt_external_kernel.h | `rtAicpuInfoLoad` | 不支持 |
533+| rt_external_kernel.h | `rtCCULaunch` | 不支持 |
534+| rt_external_kernel.h | `rtCpuKernelLaunchWithFlag` | 不支持 |
535+| rt_external_kernel.h | `rtBinarySetExceptionCallback` | 不支持 |
536+| rt_external_kernel.h | `rtGetFuncHandleFromExceptionInfo` | 不支持 |
537+| rt_external_kernel.h | `rtBinaryGetMetaNum` | 不支持 |
538+| rt_external_kernel.h | `rtBinaryGetMetaInfo` | 不支持 |
539+| rt_external_kernel.h | `rtFunctionGetMetaInfo` | 不支持 |
540+| rt_external_kernel.h | `rtFunctionGetMetaInfoSize` | 不支持 |
541+| rt_external_kernel.h | `rtGetL2CacheOffset` | 不支持 |
542+| rt_external_kernel.h | `rtFusionLaunch` | 不支持 |
543+| rt_external_kernel.h | `rtRegisterAllKernel` | 不支持 |
544+| rt_external_kernel.h | `rtNopTask` | 不支持 |
545+| rt_external_kernel.h | `rtRegisterVariable` | 不支持 |
546+| rt_external_kernel.h | `rtRegisterFuncSymbol` | 不支持 |
547+| rt_external_base.h | `rtProfSetProSwitch` | 支持 |
548+| rt_external_base.h | `rtProfRegisterCtrlCallback` | 支持 |
549+| rt_external_base.h | `rtGetTaskIdAndStreamID` | 支持 |
550+| rt_external_base.h | `rtBindHostPid` | 不支持 |
551+| rt_external_base.h | `rtUnbindHostPid` | 不支持 |
552+| rt_external_base.h | `rtQueryProcessHostPid` | 不支持 |
553+| rt_external_base.h | `rtRegTaskFailCallbackByModule` | 不支持 |
554+| rt_external_base.h | `rtGetSocSpec` | 支持 |
555+| rt_external_model.h | `rtSetStreamSqLock` | 不支持 |
556+| rt_external_model.h | `rtSetStreamSqUnlock` | 不支持 |
557+| rt_external_model.h | `rtNanoModelDestroy` | 不支持 |
558+| rt_external_model.h | `rtModelBindQueue` | 不支持 |
559+| rt_external_model.h | `rtNanoModelLoad` | 不支持 |
560+| rt_external_model.h | `rtNanoModelExecute` | 不支持 |
561+| rt_external_model.h | `rtMsgSend` | 不支持 |
562+| rt_external_model.h | `rtSetTaskDescDumpFlag` | 不支持 |
563+| rt_external_model.h | `rtDumpInit` | 不支持 |
564+| rt_external_model.h | `rtDumpDeInit` | 不支持 |
565+| rt_external_model.h | `rtStreamAddToModel` | 不支持 |
566+| rt_external_model.h | `rtDebugRegister` | 不支持 |
567+| rt_external_model.h | `rtDebugUnRegister` | 不支持 |
568+| rt_external_model.h | `rtDebugUnRegisterForStream` | 不支持 |
569+| rt_external_model.h | `rtModelGetId` | 不支持 |
570+| rt_external_mem.h | `rtMemQueueInitFlowGw` | 不支持 |
571+| rt_external_mem.h | `rtMemQueueInit` | 不支持 |
572+| rt_external_mem.h | `rtBuffGetInfo` | 不支持 |
573+| rt_external_mem.h | `rtMbufAlloc` | 不支持 |
574+| rt_external_mem.h | `rtMbufAllocEx` | 不支持 |
575+| rt_external_mem.h | `rtMbufFree` | 不支持 |
576+| rt_external_mem.h | `rtMbufSetDataLen` | 不支持 |
577+| rt_external_mem.h | `rtMbufGetDataLen` | 不支持 |
578+| rt_external_mem.h | `rtMbufGetBuffAddr` | 不支持 |
579+| rt_external_mem.h | `rtMbufGetBuffSize` | 不支持 |
580+| rt_external_mem.h | `rtMbufGetPrivInfo` | 不支持 |
581+| rt_external_mem.h | `rtMbufCopyBufRef` | 不支持 |
582+| rt_external_mem.h | `rtBuffGet` | 不支持 |
583+| rt_external_mem.h | `rtBuffFree` | 不支持 |
584+| rt_external_mem.h | `rtMbufBuild` | 不支持 |
585+| rt_external_mem.h | `rtMbufUnBuild` | 不支持 |
586+| rt_external_mem.h | `rtBuffPut` | 不支持 |
587+| rt_external_mem.h | `rtMbufInit` | 不支持 |
588+| rt_external_mem.h | `rtBuffAlloc` | 不支持 |
589+| rt_external_mem.h | `rtBuffConfirm` | 不支持 |
590+| rt_external_mem.h | `rtQueryDevPid` | 不支持 |
591+| rt_external_mem.h | `rtEschedSubmitEventSync` | 不支持 |
592+| rt_external_mem.h | `rtMemGrpCreate` | 不支持 |
593+| rt_external_mem.h | `rtMemGrpCacheAlloc` | 不支持 |
594+| rt_external_mem.h | `rtMemGrpAddProc` | 不支持 |
595+| rt_external_mem.h | `rtMemGrpAttach` | 不支持 |
596+| rt_external_mem.h | `rtMemGrpQuery` | 不支持 |
597+| rt_external_mem.h | `rtMemQueueGetQidByName` | 不支持 |
598+| rt_external_mem.h | `rtEschedAttachDevice` | 不支持 |
599+| rt_external_mem.h | `rtEschedDettachDevice` | 不支持 |
600+| rt_external_mem.h | `rtEschedWaitEvent` | 不支持 |
601+| rt_external_mem.h | `rtQueueSubscribe` | 不支持 |
602+| rt_external_mem.h | `rtEschedAckEvent` | 不支持 |
603+| rt_external_mem.h | `rtQueueSubF2NFEvent` | 不支持 |
604+| rt_external_mem.h | `rtEschedCreateGrp` | 不支持 |
605+| rt_external_mem.h | `rtEschedSubmitEvent` | 不支持 |
606+| rt_external_mem.h | `rtEschedSubscribeEvent` | 不支持 |
607+| rt_external_mem.h | `rtEschedQueryInfo` | 不支持 |
608+| rt_external_mem.h | `rtDebugReadAICore` | 不支持 |
609+| rt_external_mem.h | `rtRDMASend` | 不支持 |
610+| rt_external_mem.h | `rtRDMADBSend` | 不支持 |
611+| rt_external_mem.h | `rtUbDbSend` | 不支持 |
612+| rt_external_mem.h | `rtUbDirectSend` | 不支持 |
613+| rt_external_mem.h | `rtMemAlloc` | 不支持 |
614+| rt_external_mem.h | `rtMemQueueCreate` | 不支持 |
615+| rt_external_mem.h | `rtMemQueueSet` | 不支持 |
616+| rt_external_mem.h | `rtMemQueueDestroy` | 不支持 |
617+| rt_external_mem.h | `rtMemQueueReset` | 不支持 |
618+| rt_external_mem.h | `rtMemQueueEnQueue` | 不支持 |
619+| rt_external_mem.h | `rtMemQueueDeQueue` | 不支持 |
620+| rt_external_mem.h | `rtMemQueuePeek` | 不支持 |
621+| rt_external_mem.h | `rtBufEventTrigger` | 不支持 |
622+| rt_external_mem.h | `rtMemQueueEnQueueBuff` | 不支持 |
623+| rt_external_mem.h | `rtMemQueueDeQueueBuff` | 不支持 |
624+| rt_external_mem.h | `rtMemQueueQueryInfo` | 不支持 |
625+| rt_external_mem.h | `rtMemQueueQuery` | 不支持 |
626+| rt_external_mem.h | `rtMemQueueGrant` | 不支持 |
627+| rt_external_mem.h | `rtMemQueueAttach` | 不支持 |
628+| rt_external_mem.h | `rtDvppMallocWithFlag` | 不支持 |
629+| rt_external_mem.h | `rtMemcpyAsyncPtr` | 不支持 |
630+| rt_external_mem.h | `rtMemcpyEx` | 不支持 |
631+| rt_external_mem.h | `rtMemcpy` | 支持 |
632+| rt_external_mem.h | `rtLaunchSqeUpdateTask` | 不支持 |
633+| rt_external_mem.h | `rtMallocPhysical` | 不支持 |
634+| rt_external_event.h | `rtNotifyGetAddrOffset` | 不支持 |
635+| rt_external_event.h | `rtNotifyGetPhyInfo` | 不支持 |
636+| rt_external_event.h | `rtNotifyGetPhyInfoExt` | 不支持 |
637+| rt_external_event.h | `rtSetTaskTag` | 不支持 |
638+| rt_external_event.h | `rtEventWorkModeSet` | 不支持 |
639+| rt_external_event.h | `rtEventWorkModeGet` | 不支持 |
640+| rt_external_event.h | `rtNotifyResetAll` | 不支持 |
641+| rt_external_dqs.h | `rtLaunchDqsTask` | 不支持 |
642+| rt_external_preload.h | `rtGetTaskBufferLen` | 不支持 |
643+| rt_external_preload.h | `rtTaskBuild` | 不支持 |
644+| rt_external_stars.h | `rtNeedDevVA2PA` | 支持 |
645+| rt_external_stars.h | `rtDevVA2PA` | 不支持 |
646+| rt_external_stars.h | `rtStreamCreateByGrp` | 不支持 |
647+| rt_external_stars.h | `rtDvppGroupCreate` | 不支持 |
648+| rt_external_stars.h | `rtDvppGroupDestory` | 不支持 |
649+| rt_external_stars.h | `rtDvppWaitGroupReport` | 不支持 |
650+| rt_external_stars.h | `rtMultipleTaskInfoLaunch` | 不支持 |
651+| rt_external_stars.h | `rtLaunchDvppTask` | 不支持 |
652+| rt_external_stars.h | `rtGeneralCtrl` | 不支持 |
@@ -0,0 +1,329 @@
1+# arch5162 API 支持性一致性分析
2+ 
3+## 1. 背景和范围
4+ 
5+本文分析 arch5162 的 ACL 与 Runtime API 支持性,目标是识别以下问题:
6+ 
7+1. 同一功能在 ACL 表和 Runtime 表中的支持状态相互矛盾。
8+2. 不支持 ACL API 与支持 ACL API 共享同一个 Runtime API,无法直接通过 Runtime 打桩完成隔离。
9+3. 当前 arch5162 Runtime 桩会影响 baseline 中标记为支持的 ACL API。
10+4. baseline 标记为不支持,但现有实现仍可能成功返回或只发生能力降级。
11+5. baseline 中的待确认和特殊返回类型接口。
12+ 
13+来源基线:
14+ 
15+- 仓库:<https://gitcode.com/zhangpengpeng8/files_trans_yw>
16+- 提交:`ed5ef652eff961bf4bddc2d4f040a744790d5e04`
17+- README blob:`ebb901f882cbf2f00756005b019822508c77df79`
18+- 刷新后的支持结论:[arch5162 API 支持性基线清单](arch5162_api_support_baseline.md)
19+- 分析代码基线:Runtime `origin/master@f03655875e9615f46bd73d87f920d6769447d8bb`
20+ 
21+本文中的“当前产品清单”指 680 项 `arch5162_unsupported_runtime_api.def` 快照,“当前实现”指分析基线提交中的 Runtime 代码。本 PR 只归档分析结论和接口矩阵,不修改 Runtime 实现或产品强桩清单。
22+ 
23+`acltdt*` 接口不在本次 ACL-Runtime 支持性分析范围内;支持性 baseline 仍保留对应记录,但不参与关系矩阵统计。
24+ 
25+baseline 共包含 459 条 ACL 记录和 165 条 Runtime 记录。刷新 2026-08-27 确认结论后,统计如下:
26+ 
27+| 接口层级 | 支持 | 不支持 | 待确认 | 合计 |
28+|---|---:|---:|---:|---:|
29+| ACL | 92 | 325 | 42 | 459 |
30+| Runtime | 16 | 149 | 0 | 165 |
31+ 
32+静态调用链分析覆盖 `src/acl` 中的 C/C++ 实现,并递归跟踪可解析的 ACL 内部辅助函数。宏展开、动态加载、跨动态库调用及同名重载可能需要人工复核,因此本文只把人工确认过的调用路径作为最终结论。
33+ 
34+## 2. 判定原则
35+ 
36+baseline 已直接刷新为当前产品结论。当前代码能否执行成功只用于判断实现差异和打桩方式,不能反向推导产品支持状态;后续实现和 UT 均以刷新后的 baseline 为准。
37+ 
38+本文区分以下三种“支持性”语义:
39+ 
40+- **完整支持**:有效参数下执行原有功能并返回成功。
41+- **部分支持或降级**:主 API 可能返回成功,但某些 flag、配置项、诊断信息或附加状态不可用。
42+- **不支持**:有效参数调用也应稳定返回不支持,或者无返回码接口采用已确认的兼容行为。
43+ 
44+README 明确为“不支持”的 ACL API,应在有效参数下稳定返回不支持。若它与支持 API 共享 Runtime API,或属于纯 Host/外部组件实现,则不通过本 PR 错误地打桩共享 Runtime API,而是记录为后续 ACL 路由或产品构建边界整改项。
45+ 
46+对于 baseline未列的 Runtime API,按已确认 ACL 和 Runtime 调用关系补充以下判定:
47+ 
48+1. 被“支持”ACL API 或 Runtime API 调用的 Runtime API,推导为需要支持;支持状态沿 Runtime -> Runtime 调用关系传递,当前保留真实实现即为匹配。
49+2. 同一个 Runtime API 同时被支持和不支持调用方使用时,Runtime 按需要支持处理;不支持 ACL API 必须在 ACL、组件或产品边界隔离。
50+3. 只有完成支持 ACL/Runtime 调用方分析且未发现支持调用方后,baseline未列 Runtime API 才按“默认不支持”处理。
51+4. baseline 明确“不支持”的 Runtime API 和已确认的特殊策略优先于调用关系推导;这种依赖记录为支持能力降级,不自动改为支持。
52+5. baseline 中的 `aclrtGetOpTimeoutInterval` 与实际公开接口 `aclrtGetOpTimeOutInterval``aclrtGetOpExecuteTimeOut` 与实际公开接口 `aclrtGetOpExecuteTimeout` 分别按同一接口归一,状态均为支持。
53+ 
54+按该口径,618 个 baseline 未列 Runtime API 中有 108 个由支持 ACL/Runtime 调用链或单独确认结论判定为需要支持,508 个在未发现支持调用方后按默认不支持处理;`rtDeviceSetLimit``rtRegKernelLaunchFillFunc` 单独确认为不支持,并接受 `aclInit` 对应扩展配置能力降级。`rtGetDevice` 采用 arch5162 固定设备语义:成功桩返回 `RT_ERROR_NONE` 并写入设备号 0。`rtGetRunMode` 曾因名称级调用图把无关的 `GetInstance()` 错连到另一个 `QueueManager::GetRunningEnv` 路径而被误判为支持 ACL 依赖,现已排除该伪依赖。
55+ 
56+## 4. 已确认:原 ACL 与 Runtime 支持状态矛盾
57+ 
58+本节原有 X01-X06 已完成产品确认。复选框均已勾选,下面列出刷新后的状态和目标实现策略。
59+ 
60+| 确认 | 编号 | ACL API | ACL 当前确认状态 | Runtime API | Runtime 当前确认状态 | 结论与目标策略 |
61+|---|---|---|---|---|---|---|
62+| - [x] | X01 | `aclInit` | 支持 | `rtEventWorkModeSet` | 不支持 | 接受 `event_mode` 扩展配置能力降级,保留 Runtime 强桩 |
63+| - [x] | X02 | `aclrtSetDevice``aclrtCreateContext` | 支持 | `rtGetDeviceInfo` | 支持 | `rtGetDeviceInfo` 由不支持改为支持,保留真实实现 |
64+| - [x] | X03 | `aclGetRecentErrMsg` | 支持 | `rtGetDevMsg` | 不支持 | 接受仅保留 Host 错误信息的诊断降级,保留 Runtime 强桩 |
65+| - [x] | X04 | `aclrtMallocAlign32``aclGetCannAttributeList``aclGetCannAttribute` | 不支持 | `rtGetSocSpec` | 支持 | `rtGetSocSpec` 保持库上已有真实实现且不加入 arch5162 强桩清单;ACL 接口按资料保持不支持,当前代码可执行成功的差异在资料中说明,不能打桩共享的 `rtMalloc` 或据此反推 ACL 支持 |
66+| - [x] | X05 | `aclrtSetExceptionInfoCallback` | 不支持 | `rtRegTaskFailCallbackByModule` | 不支持 | Runtime 改为不支持,待实现侧补回强桩;baseline 未列的新 ACL callback 接口也按默认不支持处理 |
67+| - [x] | X06 | `aclmdlRIGetId` | 不支持 | `rtModelGetId` | 不支持 | Runtime 改为不支持,待实现侧补回强桩 |
68+ 
69+### 4.1 X04 实现差异说明
70+ 
71+X04 的产品结论是三个 ACL API 均不支持,但当前共享路径不能通过一个 Runtime 强桩完整落实:
72+ 
73+1. `aclrtMalloc``aclrtMallocCached``aclrtMallocAlign32` 共享 `GetAlignedAndPaddingSize``rtMalloc*``rtGetSocSpec` 查询路径;前两个 ACL API 保持支持,因此 `rtGetSocSpec` 和共享内存入口均需保留真实实现。
74+2. `GetPaddingSize` 会吞掉 `rtGetSocSpec` 的失败并继续使用默认 padding,`aclrtMallocAlign32` 当前仍可能分配成功。
75+3. `aclGetCannAttributeList``aclGetCannAttribute``rtGetSocSpec` 查询失败采用能力降级处理,初始化仍可能成功。
76+4. 因此本次只固定“不支持”的资料结论并记录当前代码可运行的差异;若后续要求有效参数稳定返回不支持,需要在 arch5162 ACL 产品入口或打包边界单独隔离,不能破坏支持 API 共享的 Runtime 能力。
77+ 
78+## 5. 已确认的支持性调整与能力降级
79+ 
80+### 5.1 由支持改为不支持
81+ 
82+| 确认 | 编号 | ACL API | 当前确认状态 | Runtime 依赖 | 目标策略 | 实现侧状态 |
83+|---|---|---|---|---|---|---|
84+| - [x] | C03 | `aclrtTaskUpdateAsync` | 不支持 | `rtsLaunchUpdateTask` | 加入 arch5162 强桩清单,与 tiny 一致 | 当前产品清单未包含该接口,目标清单需要补充 |
85+| - [x] | C04 | `aclrtBinaryLoad` | 不支持 | `rtBinaryLoadWithoutTilingKey` | 加入 arch5162 强桩清单,与 tiny 一致 | 当前产品清单未包含该接口,目标清单需要补充 |
86+ 
87+### 5.2 主 API 支持但能力降级
88+ 
89+| 确认 | 编号 | ACL API | Runtime 策略 | 当前行为 | 确认结论 |
90+|---|---|---|---|---|---|
91+| - [x] | C05 | `aclInit` | `rtEventWorkModeSet` 不支持 | 不配置 `event_mode` 时不受影响;配置后可能返回不支持 | `aclInit` 保持支持,资料说明扩展配置不支持 |
92+| - [x] | C06 | `aclInit` | `rtDeviceSetLimit` 不支持 | stack/fifo limit 返回不支持时被兼容为成功 | 保留强桩,接受 stack/fifo limit 配置能力降级 |
93+| - [x] | C08 | `aclFinalize``aclFinalizeReference` | `rtUnRegKernelLaunchFillFunc` 不支持 | 不支持错误被忽略,Finalize 继续成功 | 主接口保持支持,资料说明扩展回调注销能力降级 |
94+| - [x] | C09 | `aclGetRecentErrMsg` | `rtGetDevMsg` 不支持;`rtGetDevice` 目标为成功桩设备 0 | 保留 Host 错误信息,设备错误消息缺失 | 主接口保持支持,接受诊断能力降级;实现侧需刷新 `rtGetDevice` 桩策略 |
95+ 
96+`rtRegKernelLaunchFillFunc``aclInit` 中同样采用兼容处理,不支持时只跳过自动 UC memory 的扩展注册,基础初始化仍可成功。
97+ 
98+## 6. 不支持接口的隔离风险与特殊桩策略
99+ 
100+具备独占 Runtime 入口、且未被支持 API 共享的接口,目标是加入 arch5162 产品强桩清单。本节保留无法通过独占 Runtime 入口直接隔离的风险和特殊策略;“当前实现”与新确认结论不一致时,不视为已经完成。
101+ 
102+勾选最左侧复选框表示该行风险、支持性判断及处理结论已经确认。
103+ 
104+### 6.1 共享 Runtime 能力与状态调整
105+ 
106+| 确认 | 编号 | ACL API | 共享 Runtime API | 其他调用方 | 结论或争议 |
107+|---|---|---|---|---|---|
108+| - [x] | C17 | `aclrtRecordEventWithFlag` | `rtEventRecord` | `aclrtRecordEvent` | 确认保持不支持并以资料说明为准;保留共享的 `rtEventRecord`,由独占的 `rtEventRecordWithFlag` 强桩阻断 |
109+| - [x] | C18 | `aclrtGetDevice` | `rtGetDevice` | `aclGetRecentErrMsg` 的可选诊断路径 | ACL 改为支持;`rtGetDevice` 目标为成功桩,返回 `RT_ERROR_NONE` 并写入设备号 0 |
110+| - [x] | C19 | `aclrtGetSocName` | `rtGetSocVersion` | `aclInit``aclrtSetDevice``aclrtCreateContext` 的平台初始化 | `aclrtGetSocName``rtGetSocVersion` 均支持,保留真实实现,无需隔离 |
111+| - [x] | C20 | `aclrtMallocAlign32` | `rtMalloc``rtGetSocSpec` | `aclrtMalloc``aclrtMallocCached` | 确认保持不支持,但当前代码可以跑通;不打桩共享 Runtime 能力,在资料中说明实现差异 |
112+| - [x] | C21 | `aclGetCannAttributeList``aclGetCannAttribute` | `rtGetSocSpec` | Runtime 表要求支持 `rtGetSocSpec` | 确认保持不支持,但当前代码可以跑通;在资料中说明实现差异 |
113+| - [x] | C22 | `aclrtMemcpyFromSymbol*``aclrtMemcpyToSymbol*` | `rtMemcpy``rtMemcpyAsync` | `aclrtMemcpy``aclrtMemcpyAsync` | 确认保持不支持并以资料说明为准;由独占的 `rtSymbolLookup` 桩阻断,不打桩支持 ACL 共享的 `rtMemcpy``rtMemcpyAsync` |
114+| - [x] | C23 | `aclrtMemsetD32``aclrtMemsetD32Async` | `rtsPointerGetAttributes` | `aclrtPointerGetAttributes` | 确认保持不支持并与 tiny 一致;由 `rtMemsetD32*` 强桩控制,现有 ACL 实现吞错差异见下一节 |
115+ 
116+### 6.2 底层不支持但 ACL 返回成功
117+ 
118+| 确认 | 编号 | ACL API | 当前实现 | 风险 | 建议 |
119+|---|---|---|---|---|---|
120+| - [x] | C24 | `aclrtMemsetD32` | `rtMemsetD32` 返回 `ACL_ERROR_RT_FEATURE_NOT_SUPPORT` 时只记录告警,最终返回 `ACL_SUCCESS` | 调用方看到成功,但内存没有被设置 | 确认不支持并与 tiny 一致;资料说明当前成功空操作差异 |
121+| - [x] | C25 | `aclrtMemsetD32Async` | 与同步接口相同 | 调用方看到成功,但没有提交内存设置任务 | 同 C24 |
122+ 
123+### 6.3 纯 ACL/Host 实现与“不支持”状态冲突
124+ 
125+以下接口不依赖可打桩的 Runtime API,且部分实现会在有效输入下直接成功。README 已明确它们不支持,但该结论不能通过 Runtime 生成桩落实,需要后续在 ACL 实现、独立组件或产品打包边界处理。
126+ 
127+| 确认 | 编号 | 接口组 | 接口 | 当前行为和建议 |
128+|---|---|---|---|---|
129+| - [x] | C26 | Host 数据工具 | `aclDataTypeSize``aclFloat16ToFloat``aclFloatToFloat16` | 确认保持不支持;纯 Host 代码当前可成功,资料说明实现差异 |
130+| - [x] | C27 | 异常信息访问器 | `aclrtGetTaskIdFromExceptionInfo``aclrtGetStreamIdFromExceptionInfo``aclrtGetThreadIdFromExceptionInfo``aclrtGetDeviceIdFromExceptionInfo``aclrtGetErrorCodeFromExceptionInfo``aclrtGetArgsFromExceptionInfo` | 确认保持不支持;当前直接读取结构体字段,资料说明实现差异 |
131+| - [x] | C28 | 外部 Allocator 注册 | `aclrtAllocatorRegister``aclrtAllocatorGetByStream``aclrtAllocatorUnregister` | 确认保持不支持;当前只操作 ACL 进程内映射,资料说明实现差异 |
132+| - [x] | C29 | Stream 配置句柄 | `aclrtSetStreamConfigOpt` | 确认保持不支持;当前只修改 Host 配置结构,资料说明实现差异 |
133+| - [x] | C30 | 版本查询 | `aclsysGetCANNVersion` | 确认保持不支持;当前读取安装路径和版本文件,资料说明实现差异 |
134+| - [x] | C31 | Group 资源释放 | `aclrtDestroyGroupInfo` | 确认保持不支持;当前可释放有效对象并返回成功,资料说明实现差异 |
135+| - [x] | C32 | 已删除/外部组件接口 | `aclRecoverAllHcclTasks``aclplatformGetDeviceInfo``aclplatformGetInstructionInfo``acllogRegisterCallback``acllogUnregisterCallback`、3 个已删除 profiling API | 确认保持不支持;不通过普通 Runtime API 生成器处理,在资料中说明实现或交付边界 |
136+| - [x] | C33 | Binary 描述对象 | `aclrtCreateBinary``aclrtDestroyBinary` | 确认不支持;当前仅在 Host 侧创建或释放 `rtDevBinary_t`,有效参数下可成功,无 Runtime 强桩阻断点 |
137+ 
138+### 6.4 特殊返回类型的已确认策略
139+ 
140+| 确认 | Runtime API | 返回类型 | 已确认处理 | 原因 |
141+|---|---|---|---|---|
142+| - [x] | `rtGetTsMemType` | `uint32_t` | 保持库上已有真实实现,不加入 arch5162 强桩清单 | 当前实现已经调用 `Runtime::GetTsMemType` 执行真实查询,无需切换实现 |
143+ 
144+### 6.5 仅 C/compact 实现的接口
145+ 
146+以下接口在 README 中明确为不支持,且 Runtime 入口只有 `src/runtime_compact/feature/src/*.c` 下的 C 实现;
147+其中 4 个接口的 ACL 包装也仅位于 `src/acl/aclrt_c/runtime/*.c`。普通 arch5162 `libruntime.so` 不编译这些
148+compact C 实现,因此不增加普通 C++ ACL/Runtime 桩 UT。4 个 compact 专用 Runtime API 不进入公共桩目录;
149+`rtDeinit` 虽已进入公共 catalog 和当前 680 项产品清单快照,目标实现仍应从产品清单移除且不补普通 provider。
150+ 
151+| ACL API | Runtime API | 确认状态 | C 实现位置 | 目标处理 |
152+|---|---|---|---|---|
153+| - | `rtDeinit` | 不支持 | `src/runtime_compact/feature/src/api.c` | arch5162 不编译该 compact C 文件;从产品清单移除,不生成普通 Runtime 强桩,也不保留普通 Runtime 真实实现 |
154+| `aclrtCreateStreamV2` | `rtStreamCreateWithConfig` | 不支持 | `src/acl/aclrt_c/runtime/stream.c``src/runtime_compact/feature/src/stream.c` | 资料说明;不生成普通 Runtime 强桩 |
155+| `aclrtSubscribeHostFunc` | `rtSubscribeHostFunc` | 不支持 | `src/acl/aclrt_c/runtime/host_func.c``src/runtime_compact/feature/src/host_func.c` | 资料说明;不生成普通 Runtime 强桩 |
156+| `aclrtProcessHostFunc` | `rtProcessHostFunc` | 不支持 | `src/acl/aclrt_c/runtime/host_func.c``src/runtime_compact/feature/src/host_func.c` | 资料说明;不生成普通 Runtime 强桩 |
157+| `aclrtUnSubscribeHostFunc` | `rtUnSubscribeHostFunc` | 不支持 | `src/acl/aclrt_c/runtime/host_func.c``src/runtime_compact/feature/src/host_func.c` | 资料说明;不生成普通 Runtime 强桩 |
158+ 
159+## 7. baseline 中的 42 个待确认接口
160+ 
161+除第 4 节已确认项外,本节 42 个接口仍需要产品侧确认,因为 baseline 将其标记为“待确认”。当前 PR 不根据代码现状替它们作出支持性结论,也不因此增加新的 Runtime 强桩。
162+ 
163+### 7.1 单独待确认:Dump 配置
164+ 
165+| 编号 | API | 分组 | 分析结论 |
166+|---|---|---|---|
167+| P01 | `aclmdlInitDump` | ACL Dump 生命周期 | arch5162 编译 Impl,但不编译 `acl_rt.cpp` 中注册 Adump 回调的构造逻辑;当前会因回调未注册失败,建议确认为不支持 |
168+| P02 | `aclmdlSetDump` | ACL Dump 生命周期 | 同 P01 |
169+| P03 | `aclmdlFinalizeDump` | ACL Dump 生命周期 | 同 P01 |
170+| P04 | `acldumpRegCallback` | Adump callback/path | 实现在 Adump 独立组件,不属于 Runtime 桩生成范围;需 Adump 产品构建确认 |
171+| P05 | `acldumpUnregCallback` | Adump callback/path | 同 P04 |
172+| P06 | `acldumpGetPath` | Adump callback/path | 同 P04 |
173+| P07 | `aclopStartDumpArgs` | Dump args | 实现在 Adump 独立组件;需确认 arch5162 是否交付对应库 |
174+| P08 | `aclopStopDumpArgs` | Dump args | 同 P07 |
175+ 
176+### 7.2 单独待确认:Profiling 数据采集
177+ 
178+34 个待确认 profiling API 均不应仅根据 `libruntime.so` 的 Runtime 桩清单判定:它们主要实现在 `src/dfx/msprof`,arch5162 Runtime 只链接 `profapi_share`,是否交付完整 profiling 组件需要单独确认。
179+ 
180+| 编号 | 分组 | API | 建议确认点 |
181+|---|---|---|---|
182+| P09 | 生命周期和配置 | `aclprofInit` | arch5162 是否交付采集组件及设备侧数据通路 |
183+| P10 | 生命周期和配置 | `aclprofSetConfig` | 同 P09 |
184+| P11 | 生命周期和配置 | `aclprofStart` | 同 P09 |
185+| P12 | 生命周期和配置 | `aclprofStop` | 同 P09 |
186+| P13 | 生命周期和配置 | `aclprofFinalize` | 同 P09 |
187+| P14 | Host 标记和 Range | `aclprofPop` | 即使设备采集不支持,纯 Host 标记能力是否仍要求支持 |
188+| P15 | Host 标记和 Range | `aclprofRangeStart` | 同 P14 |
189+| P16 | Host 标记和 Range | `aclprofRangeStop` | 同 P14 |
190+| P17 | Host 标记和 Range | `aclprofDestroyStamp` | 同 P14 |
191+| P18 | Host 标记和 Range | `aclprofStr2Id` | 同 P14 |
192+| P19 | Host 标记和 Range | `aclprofRangePushEx` | 同 P14 |
193+| P20 | Host 标记和 Range | `aclprofRangePop` | 同 P14 |
194+| P21 | Host 标记和 Range | `aclprofCreateStamp` | 同 P14 |
195+| P22 | Host 标记和 Range | `aclprofSetStampTraceMessage` | 同 P14 |
196+| P23 | Host 标记和 Range | `aclprofMark` | 同 P14 |
197+| P24 | Host 标记和 Range | `aclprofMarkEx` | 同 P14 |
198+| P25 | Host 标记和 Range | `aclprofPush` | 同 P14 |
199+| P26 | Host 标记和 Range | `aclprofGetStepTimestamp` | 同 P14 |
200+| P27 | 模型订阅 | `aclprofModelSubscribe` | 需要 Model 与 profiling 联合能力确认 |
201+| P28 | 模型订阅 | `aclprofModelUnSubscribe` | 同 P27 |
202+| P29 | Op 数据解析 | `aclprofGetOpStart` | 多数是 Host 数据解析接口,建议与设备采集能力分开判定 |
203+| P30 | Op 数据解析 | `aclprofGetOpEnd` | 同 P29 |
204+| P31 | Op 数据解析 | `aclprofGetOpDuration` | 同 P29 |
205+| P32 | Op 数据解析 | `aclprofGetOpFlag` | 同 P29 |
206+| P33 | Op 数据解析 | `aclprofGetOpAttriValue` | 同 P29 |
207+| P34 | Op 数据解析 | `aclprofGetModelId` | 同 P29 |
208+| P35 | Op 数据解析 | `aclprofGetOpCubeOps` | 同 P29 |
209+| P36 | Op 数据解析 | `aclprofGetOpVectorOps` | 同 P29 |
210+| P37 | Op 数据解析 | `aclprofGetOpDescSize` | 同 P29 |
211+| P38 | Op 数据解析 | `aclprofGetOpNum` | 同 P29 |
212+| P39 | Op 数据解析 | `aclprofGetOpTypeLen` | 同 P29 |
213+| P40 | Op 数据解析 | `aclprofGetOpType` | 同 P29 |
214+| P41 | Op 数据解析 | `aclprofGetOpNameLen` | 同 P29 |
215+| P42 | Op 数据解析 | `aclprofGetOpName` | 同 P29 |
216+ 
217+## 8. 目标打桩与适配清单
218+ 
219+当前 `arch5162_unsupported_runtime_api.def` 产品清单快照包含 680 项,公共桩目录包含 783 个 Runtime `rt/rts` API;其中 `rtDeinit` 仅有 compact C 实现,不进入普通 arch5162 provider,因此目标 provider 覆盖其余 782 项。本节按 baseline 状态及支持 ACL/Runtime 反向调用链给出目标集合;完整的逐接口状态见 [arch5162 ACL-Runtime API 支持关系矩阵](arch5162_acl_runtime_api_support_matrix.md),实现侧增删与特殊适配见 [arch5162 Runtime API 强桩与真实实现调整清单](arch5162_runtime_api_stub_adjustment_plan.md)。
220+ 
221+### 8.1 目标 Runtime 策略组成
222+ 
223+| 目标策略 | 数量 | 组成与实现方式 |
224+|---|---:|---|
225+| `FEATURE_NOT_SUPPORT` 生成强桩 | 654 | 目标产品清单中 catalog 策略为 `FEATURE_NOT_SUPPORT` 的接口,返回 `ACL_ERROR_RT_FEATURE_NOT_SUPPORT` |
226+| `SUCCESS_NOOP` 生成强桩 | 3 | `rtBarrierTaskLaunch``rtMemAdvise``rtSetStreamTag` 按 catalog 策略返回 `ACL_RT_SUCCESS` |
227+| `VOID_NOOP` 生成强桩 | 1 | `rtRegisterVariable` 按 catalog 策略保持无返回值空操作 |
228+| `rtGetDevice` 产品专用成功适配 | 1 | 从通用不支持清单移除,在 arch5162 专用实现中返回 `RT_ERROR_NONE` 并写入设备号 0;不能把公共 catalog 策略改为 `SUCCESS_NOOP`,因为还必须写出参 |
229+| 保留真实实现 | 123 | 包含保持库上真实实现的 `rtGetTsMemType`;不包含仅 compact C 实现的 `rtDeinit` |
230+ 
231+因此目标 `arch5162_unsupported_runtime_api.def` 为 658 项,具体返回行为由 catalog 策略决定;`rtGetDevice` 由产品专用实现提供额外的强符号,`rtDeinit` 不进入普通 arch5162 provider。相对当前 680 项产品清单快照,应保留 654 项、新增 4 项、移除 26 项。
232+ 
233+### 8.2 需要新增的不支持强桩
234+ 
235+| Runtime API | 不支持调用方 | baseline 支持 ACL 影响 | baseline 支持 Runtime 影响 | 结论 |
236+|---|---|---|---|---|
237+| `rtsLaunchUpdateTask` | `aclrtTaskUpdateAsync` | 无 | 无 | 增加强桩,与 tiny 一致 |
238+| `rtBinaryLoadWithoutTilingKey` | `aclrtBinaryLoad` | 无 | 无 | 增加强桩,与 tiny 一致 |
239+| `rtRegTaskFailCallbackByModule` | `aclrtSetExceptionInfoCallback`,以及 baseline未列的 callback 注册/注销接口 | 无 | 无 | 增加强桩 |
240+| `rtModelGetId` | `aclmdlRIGetId`;baseline未列的 `rtsModelGetId` 也不支持 | 无 | 无 | 增加强桩 |
241+ 
242+这 4 个接口均未被 baseline 支持 ACL 直接调用,也未被支持 Runtime 调用链依赖,新增强桩不会截断已支持能力。
243+ 
244+### 8.3 不支持强桩对 baseline 支持接口的影响
245+ 
246+658 个生成桩中,653 个没有 baseline 支持 ACL/Runtime 调用方。以下 5 个接口会被 baseline 支持 ACL 的可选或降级路径调用;这是已确认的功能降级,不应扩展到其他共享 Runtime API:
247+ 
248+| 不支持强桩 | 受影响的支持 ACL | 实际影响 | 当前结论 |
249+|---|---|---|---|
250+| `rtDeviceSetLimit` | `aclInit` | stack/fifo limit 返回不支持时被兼容为成功 | 保留强桩,接受 limit 配置能力降级 |
251+| `rtEventWorkModeSet` | `aclInit` | 只有配置 `event_mode` 时可能返回不支持 | 保留强桩,资料说明扩展配置不支持 |
252+| `rtGetDevMsg` | `aclGetRecentErrMsg` | 仅保留 Host 错误信息,缺少设备侧故障消息 | 保留强桩,接受诊断能力降级 |
253+| `rtRegKernelLaunchFillFunc` | `aclInit` | 跳过自动 UC memory 扩展注册,基础初始化仍可成功 | 保留强桩,接受扩展注册能力降级 |
254+| `rtUnRegKernelLaunchFillFunc` | `aclFinalize``aclFinalizeReference` | 不支持错误被忽略,基础去初始化仍继续 | 保留强桩,接受扩展回调注销能力降级 |
255+ 
256+当前静态调用图未发现 658 个生成桩被 baseline 支持 Runtime API 调用。该结论覆盖直接调用和 Runtime -> Runtime 传递调用,不覆盖动态加载、函数指针或仓外组件内部调用;实现侧仍需用正向 UT 固化支持 API 行为。
257+ 
258+`rtEventRecordWithFlag``rtSymbolLookup``rtMemsetD32``rtMemsetD32Async` 保留独占强桩。它们分别阻断不支持的 WithFlag Event、Symbol memcpy 和 D32 memset 入口,不打桩这些路径与支持的 `aclrtRecordEvent``aclrtMemcpy``aclrtMemcpyAsync``aclrtPointerGetAttributes` 共享的 `rtEventRecord``rtMemcpy``rtMemcpyAsync``rtsPointerGetAttributes`
259+ 
260+### 8.4 需要保持真实实现或特殊适配的 Runtime API
261+ 
262+以下 24 个接口在库上已有真实实现,必须保持现状且不得加入 arch5162 不支持清单,否则会截断 baseline 支持 ACL/Runtime 调用链或违背已确认的真实查询策略:
263+ 
264+| Runtime API | 支持调用链或依据 |
265+|---|---|
266+| `rtGetSocSpec` | baseline 明确支持;`aclrtMalloc``aclrtMallocCached` 调用 |
267+| `rtCtxGetCurrentDefaultStream` | `aclrtCtxGetCurrentDefaultStream -> rtsCtxGetCurrentDefaultStream -> rtCtxGetCurrentDefaultStream` |
268+| `rtDatadumpInfoLoadWithFlag` | baseline 支持的 `rtDatadumpInfoLoad` 直接调用 |
269+| `rtDeviceGetStreamPriorityRange` | `aclrtDeviceGetStreamPriorityRange -> rtsDeviceGetStreamPriorityRange -> rtDeviceGetStreamPriorityRange` |
270+| `rtGetAvailEventNum` | `aclrtGetEventAvailNum -> rtsEventGetAvailNum -> rtGetAvailEventNum` |
271+| `rtGetEventID` | `aclrtGetEventId -> rtsEventGetId -> rtGetEventID` |
272+| `rtGetNotifyID` | `aclrtGetNotifyId -> rtsNotifyGetId -> rtGetNotifyID` |
273+| `rtGetStreamId` | `aclrtStreamGetId -> rtsStreamGetId -> rtGetStreamId` |
274+| `rtGetTsMemType` | baseline 明确支持;库上已经调用 `Runtime::GetTsMemType` 执行真实查询,保持现有实现且不加入产品强桩清单 |
275+| `rtLabelDestroy` | `aclrtDestroyLabel -> rtsLabelDestroy -> rtLabelDestroy` |
276+| `rtLabelSet` | `aclrtSetLabel -> rtsLabelSet -> rtLabelSet` |
277+| `rtLabelSwitchByIndex` | `aclrtSwitchLabelByIndex -> rtsLabelSwitchByIndex -> rtLabelSwitchByIndex` |
278+| `rtModelCreate` | `aclmdlRIBuildBegin -> rtsModelCreate -> rtModelCreate` |
279+| `rtModelLoadComplete` | `aclmdlRIBuildEnd -> rtsModelLoadComplete -> rtModelLoadComplete` |
280+| `rtModelUnbindStream` | `aclmdlRIUnbindStream -> rtsModelUnbindStream -> rtModelUnbindStream` |
281+| `rtNotifyDestroy` | `aclrtDestroyNotify -> rtsNotifyDestroy -> rtNotifyDestroy` |
282+| `rtNotifyRecord` | `aclrtRecordNotify -> rtsNotifyRecord -> rtNotifyRecord` |
283+| `rtNotifyWait``rtNotifyWaitWithTimeOut` | `aclrtWaitAndResetNotify -> rtsNotifyWaitAndReset` 按超时值调用二者之一;`rtNotifyWaitWithTimeOut` 还会调用 `rtNotifyWait` |
284+| `rtSetModelName` | `aclmdlRISetName -> rtsModelSetName -> rtSetModelName` |
285+| `rtStreamActive` | `aclrtActiveStream -> rtsActiveStream -> rtStreamActive` |
286+| `rtStreamSwitchEx` | `aclrtSwitchStream -> rtsSwitchStream -> rtStreamSwitchEx` |
287+| `rtStreamWaitEventWithTimeout` | `aclrtStreamWaitEventWithTimeout -> rtsEventWait -> rtStreamWaitEventWithTimeout` |
288+| `rtsFree` | `aclrtDestroyLabelList -> rtsLabelSwitchListDestroy -> rtsFree` |
289+ 
290+`rtGetDevice` 需要单独处理:从产品清单移除后增加 arch5162 专用成功适配,除 `aclrtGetDevice``aclGetRecentErrMsg` 外还要保障 `aclrtCreateNotify -> rtsNotifyCreate -> rtGetDevice` 支持链。`rtDeinit` 按第 6.5 节处理,从产品清单移除后不补普通 Runtime provider。
291+ 
292+### 8.5 需要 ACL 或产品边界适配的接口
293+ 
294+以下接口不能依赖共享 Runtime 强桩实现“不支持”语义,需要后续在 arch5162 ACL 路由、产品编译边界或错误返回处理中适配。代码适配候选共 37 个 ACL API:
295+ 
296+| 类别 | ACL API | 不能直接打桩共享 Runtime 的原因 | 建议适配方式 |
297+|---|---|---|---|
298+| 与支持 ACL 共享 Runtime | `aclrtMallocAlign32``aclGetCannAttributeList``aclGetCannAttribute` | 共享 `rtMalloc*``rtGetSocSpec`,这些 Runtime 能力必须为支持调用方保留 | 在 arch5162 ACL 产品入口增加能力判断并返回不支持,不修改共享 Runtime API |
299+| Runtime 已返回不支持但 ACL 吞错 | `aclrtMemsetD32``aclrtMemsetD32Async` | `rtMemsetD32*` 强桩有效,但 ACL 当前记录告警后返回成功 | arch5162 路径直接返回或向上传递 `ACL_ERROR_RT_FEATURE_NOT_SUPPORT` |
300+| baseline 已列的纯 ACL/Host 实现 | `aclDataTypeSize``aclFloat16ToFloat``aclFloatToFloat16``aclrtGetTaskIdFromExceptionInfo``aclrtGetStreamIdFromExceptionInfo``aclrtGetThreadIdFromExceptionInfo``aclrtGetDeviceIdFromExceptionInfo``aclrtGetErrorCodeFromExceptionInfo``aclrtGetArgsFromExceptionInfo``aclrtAllocatorRegister``aclrtAllocatorGetByStream``aclrtAllocatorUnregister``aclrtSetStreamConfigOpt``aclsysGetCANNVersion``aclrtDestroyGroupInfo``aclrtCreateBinary``aclrtDestroyBinary` | 没有可用于阻断的 Runtime 调用,有效参数下部分接口会直接成功 | 增加 arch5162 ACL 产品门禁,或从 arch5162 ACL 交付物中隔离对应实现/导出 |
301+| baseline未列的纯 ACL/Host 实现 | `aclCreateDataBuffer``aclDestroyDataBuffer``aclGetDataBufferAddr``aclGetDataBufferSize``aclGetDataBufferSizeV2``aclUpdateDataBuffer``aclrtAllocatorCreateDesc``aclrtAllocatorDestroyDesc``aclrtAllocatorSetAllocAdviseFuncToDesc``aclrtAllocatorSetAllocFuncToDesc``aclrtAllocatorSetFreeFuncToDesc``aclrtAllocatorSetGetAddrFromBlockFuncToDesc``aclrtAllocatorSetObjToDesc``aclrtApiInjectionGetFunc``aclrtApiInjectionSetFunc` | baseline未列 ACL 默认不支持,但 15 个接口没有 Runtime 阻断点 | 与上一类采用同一产品门禁或编译/导出隔离方案 |
302+ 
303+`aclRecoverAllHcclTasks``aclplatformGetDeviceInfo``aclplatformGetInstructionInfo``acllogRegisterCallback``acllogUnregisterCallback``aclprofSetStampCategory``aclprofSetCategoryName``aclprofSetStampPayload` 属于外部组件、无仓内实现或已删除接口,只需在资料和交付边界保持不支持,不纳入普通 Runtime 桩或本仓 ACL 适配。`aclrtCreateStreamV2``aclrtSubscribeHostFunc``aclrtProcessHostFunc``aclrtUnSubscribeHostFunc` 及对应的 4 个 Runtime API 仅有 C/compact 实现,同样不进入普通 `libruntime.so` 桩清单;若 arch5162 交付 compact 路径,应在对应产品构建边界单独校验。
304+ 
305+新增 `rtRegTaskFailCallbackByModule` 强桩后,baseline未列的 `aclrtExceptionInfoCallbackRegister``aclrtExceptionInfoCallbackUnregister` 可被同一独占 Runtime 入口阻断;其余已有独占强桩的不支持 ACL 也不需要额外修改 ACL 路由。
306+ 
307+### 8.6 实现与验证约束
308+ 
309+1. 先按集合运算刷新产品清单:当前 680 项保留 654 项,增加第 8.2 节 4 项,移除第 8.4 节 26 项,得到 658 项;避免人工重建整份清单。
310+2. `rtGetDevice` 使用 arch5162 专用强实现并校验空指针与设备号 0 出参;不要修改公共 catalog 的 `FEATURE_NOT_SUPPORT` 策略影响其他产品。
311+3. 生成桩 UT 覆盖目标 658 项的返回策略,并为第 8.4 节 24 个保持真实实现的接口增加支持链路正向 UT,防止强桩截断。
312+4. 对第 8.3 节 5 条已接受降级路径分别验证主 ACL 返回行为和降级边界;不能只验证 Runtime 桩返回值。
313+5. ACL 层 37 个适配候选应单独拆分实现,逐组验证有效参数返回不支持,避免与 Runtime 产品清单调整在同一变更中扩大回归面。
314+ 
315+当前确认状态下,618 个 baseline 未列 Runtime API 中有 108 个由支持 ACL/Runtime 调用链或单独确认结论判定为需要支持,508 个在未发现支持调用方后按默认不支持处理;`rtDeviceSetLimit``rtRegKernelLaunchFillFunc` 单独确认为不支持,并接受 `aclInit` 功能降级。
316+ 
317+## 9. 实现约束与后续工作边界
318+ 
319+实现侧后续刷新应遵循以下约束:
320+ 
321+1. ACL 与 Runtime 表结论一致时,baseline 标记支持的 Runtime API 不进入 arch5162 不支持强桩清单。
322+2. ACL 与 Runtime 表结论一致时,baseline 标记支持的 ACL API,其必经 Runtime 依赖不打不支持强桩。
323+3. baseline 标记不支持的 ACL API,优先对未共享的 Runtime 入口增加产品强桩。
324+4. 共享 Runtime 入口、纯 Host API 和外部组件接口不通过错误的共享强桩处理,记录资料差异或在产品边界整改。
325+5. baseline 标记“待确认”的 42 个 ACL API,在产品结论明确前不新增 Runtime 强桩。
326+6. `rtDeinit` 仅保留 compact C 接口状态记录,不生成普通 Runtime 强桩,也不补普通 Runtime 真实实现。
327+7. UT 固化支持 API 保留、未被支持 API 共享的入口打桩及特殊返回策略,防止后续刷新清单时回退。
328+8. 仅在 ACL C 和 Runtime compact C 路径实现的接口只记录支持状态,不纳入普通 `libruntime.so` 的桩目录和 UT。
329+9. baseline未列 Runtime API 必须先完成支持 ACL/Runtime 反向调用分析;只有未发现支持调用方时,才可按默认不支持加入强桩。