×
分享到微信

打开微信,使用扫一扫进入页面后,点击右上角菜单,

点击“发送给朋友”或“分享到朋友圈”完成分享

MLU100-Caffe v8.2.1SDK 开发MLU算子融合模式报错 解决中 Sunshine2022-08-18 11:18:42 回复 3 查看 技术答疑
MLU100-Caffe v8.2.1SDK 开发MLU算子融合模式报错
分享到:

您好:


我目前在MLU100-x86 机器上 caffe环境下实现一个目标检测算法的算子,并且集成在caffe框架后编译成功;


MLU逐层模式单核运行:caffe.set_mode_mlu() caffe.set_batch_size(1)  caffe.set_simple_flag(1)  caffe.set_core_number(1)   caffe.set_rt_core("MLU100")  运行不报错, 推理结果也是正确的;


MLU逐层模式多核运行:caffe.set_mode_mlu() caffe.set_batch_size(1)  caffe.set_simple_flag(1)  caffe.set_core_number(32)   caffe.set_rt_core("MLU100")  运行不报错, 推理结果也是正确的;


MLU融合模式单核运行: caffe.set_mode_mfus()  caffe.set_batch_size(1)  caffe.set_simple_flag(1) caffe.set_core_number(1)    caffe.set_rt_core("MLU100")  运行不报错, 推理结果也是正确的;


MLU融合模式多核运行: caffe.set_mode_mfus()  caffe.set_batch_size(1)  caffe.set_simple_flag(1) caffe.set_core_number(32)   caffe.set_rt_core("MLU100")  运行报错,报错信息如下;

 [cnrtError] [29632] [Card : 0] MLU unfinished. cnrtStream fail.

 [cnrtError] [29632] [Card : 0] barrier sync time out.

 [cnrtError] [29632] [Card : 0] for more information, please use core dump analysis tools.

[/home/Cambricon-Test/caffe/src/caffe/src/caffe/mlu/fusion.cpp:300] CNRT error, code: 632025


运行多核离线模型时也是同样的错误,运行离线模型的部分代码如下:

....
cnrtDev_t dev;
cnrtGetDeviceHandle(&dev, 0);
cnrtSetCurrentDevice(dev);
cnrtStream_t stream;
cnrtCreateStream(&stream);
....
cnrtInitFuncParam_t init_func_param;
bool muta = false;
u32_t affinity = 0x01;
init_func_param.muta = &muta;
init_func_param.data_parallelism = &data_parallelism;
init_func_param.affinity = &affinity;
init_func_param.end = CNRT_PARAM_END;
cnrtInitFunctionMemory_V2(function, &init_func_param);
....
cnrtDim3_t dim = {1, 1, 1};
cnrtInvokeFuncParam_t invoke_func_param;
invoke_func_param.affinity = &affinity;
invoke_func_param.data_parallelism = &data_parallelism;
invoke_func_param.end = CNRT_PARAM_END;
cnrtFunctionType_t func_type = (cnrtFunctionType_t)0;
....
cnrtInvokeFunction(function, dim, param, func_type, stream, (void *)&invoke_func_param);
cnrtSyncStream(stream);

程序执行cnrtSyncStream(stream)语句是报上述错误。


报错信息显示MLU和CPU同步超时造成的,这个错误我该如何修改呢?




版权所有 © 2022 寒武纪 Cambricon.com 备案/许可证号:京ICP备17003415号-1
关闭