msDebug工具断点设置在核函数内,命中断点后执行continue命令,算子运行失败
现象描述
显示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; |
父主题: FAQ