显示Synchronize stream failed. error code is 507035,查看plog显示aic error code=0x8000000000000000,并且在命中断点时使用ascend info cores命令可以看到当前核的PC值与预期不符。
参考Host侧Tiling实现将WorkspaceSize从0设置成预留内存大小。API在计算过程需要一些worksapce内存作为缓存,因此算子Tiling函数需要为API预留workspace内存,预留内存大小通过GetLibApiWorkSpaceSize接口获取。参考如下代码:
1 2 3 4 5 | #include "tiling/platform/platform_ascendc.h" auto ascendcPlatform = platform_ascendc::PlatformAscendC(context->GetPlatformInfo()); size_t systemWorkspaceSize = ascendcPlatform.GetLibApiWorkSpaceSize(); size_t*currentWorkspace = context->GetWorkspaceSizes(1); //只使用1块workspace currentWorkspace[0]= systemWorkspaceSize; |