Hi.
I am using the CMSIS DSP library for multiplying two matrices on the keil mcb 1800 board using MCU Xpresso IDE. I am using the external SDRAM of 16 MB for storing the result.
Matrix "xmat" is 1604*8 and omega_transpose is of size 8*100.....Thus the resulting matrix is of size 1604*100.
I am printing the resulting matrix. I am also printing the row number each time and I find that at 65599 the result becomes 0.00000.
Can someone tell me why this is happening and how to solve it?
Please find attached the screenshot of the error and the code (test3.c).
Thanks
Hi,
I want to isolate the issue, could you please try with smaller dimensions of the matrix. I want to check if the is a RAM issue. Check the linker map file for the RAM used by the variables.
Regards
Soledad
Hi soledad,
I tried to store a matrix of size 11958*8 in the SDRAM and tried to read it.
I find that the 0.000 starts at elemnt 12831 now.
Please see the attached image. What is the real problem?
Hi.
I have tried these settings:
Can you please check and see if I am doing anything wrong?
Hi,
I tried with different values of RAM from 5MB to 16MB. Nothing helped actually. Still the multiplication result becomes 0 after some iterations.
I also tested with a normal multiplication program(without using CMSIS-DSP) and the result is perfect without any errors.
why is it that the CMSIS is giving such wierd problems.
Please help!!
Thanks
Hello.
I tried your suggestion. The bigger sized square matrix didn"t fit in my memory like 1000*1000.
The program works for smaller dimensions of matrices.
It would be great if you could replicate the issue on your side if possible.
I am really stuck with this. Please help.
If I write my own program for the same multiplication and use SDRAM, there isn"t any issue. But the CMSIS DSP isn"t working for larger matrices.
Thanks
Hi,
This confirms what it is detailed in the CMSIS DSP libraries, the Matrix Multiplication only supports square matrix and it is not working with bigger dimension matrices due to RAM constrains. Unfortunately CMSIS libraries handle the memory in a different way and this is out of our scope of support.
Have a nice day!
Regards
Soledad