我在AM572x EVM的c66xDSP上编写程序,发现循环内自己编写的矩阵乘法程序非常耗时,整个循环大概用了40s,于是找到DSPLIB中对应的矩阵乘法函数
void DSPF_sp_mat_mul (float *x1, const int r1, const int c1, float *x2, const int c2, float *restrict y);
我将该函数替代我自己编写的矩阵乘法函数brmul(),再次运行代码,整个循环依旧耗时40s,按照我的假设,DSPLIB应该是有硬件优化的,那为什么在耗时上并没有体现呢?另外,我在PC端调用这段代码耗时都不超过40S,而DSP又是专门用于计算的,请问谁能给我解释一下我的问题出现在哪里呢?