在进行矩阵A与矩阵B运算时,我将A按行分给多核计算,由于B矩阵列过宽, 我按照列将矩阵B分成多个小块,并从L2上划分了输入缓冲区用来保存B分割的一小块用以计算,并从L2划分了一块用作输出缓冲区保存这小块与矩阵A相乘的计算结果,最终将结果复制到DDR上,但是运算时出现了多核一致性问题,计算出错,可是通过CCS system reset之后,再运行结果又保持正确,同时耗时下降了很多,但是重新上电板端运行,结果又不对,但system reset之后再运行结果正确,想问下这是什么原因?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
在进行矩阵A与矩阵B运算时,我将A按行分给多核计算,由于B矩阵列过宽, 我按照列将矩阵B分成多个小块,并从L2上划分了输入缓冲区用来保存B分割的一小块用以计算,并从L2划分了一块用作输出缓冲区保存这小块与矩阵A相乘的计算结果,最终将结果复制到DDR上,但是运算时出现了多核一致性问题,计算出错,可是通过CCS system reset之后,再运行结果又保持正确,同时耗时下降了很多,但是重新上电板端运行,结果又不对,但system reset之后再运行结果正确,想问下这是什么原因?
请看下面ccs system reset描述。
This reset will typically reset the the entire device by asserting the nRESET signal. In general this signal is tied to PMIC devices that perform a warm or power on reset on the entire board. Frequently this reset disconnects the JTAG connection as the device is power cycled.
https://software-dl.ti.com/ccs/esd/documents/xdsdebugprobes/emu_resets.html
如果通过system reset可以运行程序的话,建议检查板子的硬件复位信号是否足够长,有效时间从时钟,电源稳定输出后开始计算。