打开微信,使用扫一扫进入页面后,点击右上角菜单,
点击“发送给朋友”或“分享到朋友圈”完成分享
【寒武纪硬件产品型号】必填*:
例如:MLU270
【使用操作系统】必填*:
例如:ubuntu
代码:
__sramset(sdata,4*MAX_IMAGE_W*68,0);
__memcpy(in1, srcimg1 + start*pw, num*pw*sizeof(float), GDRAM2SRAM);
__memcpy(in2, srcimg2 + start*pw, num*pw*sizeof(float), GDRAM2SRAM);
__sync_copy_dram_to_sram();
__memcpy(data1, in1, num*pw*sizeof(float), SRAM2NRAM);
__memcpy(data2, in2, num*pw*sizeof(float), SRAM2NRAM);
__sync_copy_sram_to_nram();
__bang_sub(data1, data1, data2, num*pw);
__sync_compute();
__memcpy(out, data1, num*pw*sizeof(float), NRAM2SRAM);
__sync_copy_nram_to_sram();
__memcpy(dstimg + start*pw, out, num*pw*sizeof(float), SRAM2GDRAM);
__sync_copy_sram_to_dram();
出现结果:每一次计算结果都不同 且计算错误
把GDRAM2SRAM方向上__memcpy的2行代码注释,计算结果就会稳定但并不为0
(说明SRAM2GDRAM方向上__memcpy根本就没有拷贝数据,因为sram全是0才对)
总之只要涉及到GDRAM和SRAM之间互相拷贝的代码,就会出错。
(已经测试过SRAM和NRAM之间的计算和拷贝可以正常进行,且并不是CNRT_FUNC_TYPE或dim设置的问题)
之前在论坛有帖子说sram不能从gdram上拷贝,需要中转ldram,但是尝试了ldram也会出现与sram同样的问题
(甚至把SRAM排除,仅涉及到GDRAM和LDRAM之间数据拷贝都会出错)
热门帖子
精华帖子