Forums

matrix inversion on ADSP TS101s

Started by caterpiller November 21, 2006
hi, there,

I am trying to look for a good algorithm for matrix inversion on ADSP
ts101s. It is better be the assembler language version.  I have tried
the C function matinvf() from Analog device library, It costs me 1.62ms
for a 32*32 float matrix. This time is not I want. I hope the
computation should be about 100 microseconds.

Does anybody know if the C library on VisualDSP++ is optimized for
TS101/TS202 chip or not?

Or if you can give me some clue to speed up this compuatation?

thanks and have a nice day.

bug.

caterpiller wrote:

> Or if you can give me some clue to speed up this compuatation?
My suggestion would be that you think carefully if you really need to invert a matrix. If it is to obtain x in Ax = b, then you most definitely don't need to find A^-1 to do that --- you solve by whatever method suits your application. Most instances where we feel that we need to compute A^-1 can be reduced to a case where you only need to solve a system Ax = b. Carlos --
Thanks.

I also want to confirm the time calculation

this is my code:

       clock_t startTime,stopTime;
	unsigned int timeDiff;

        startTime = clock();
	matinvf(shared_data,N,output_data);
	stopTime = clock();
	timeDiff=stopTime-startTime;


The TS101 is 250M Hz, so the total time is equal to
timeDiff/250,000,000 second. right?

thanks.






Carlos Moreno wrote:
> caterpiller wrote: > > > Or if you can give me some clue to speed up this compuatation? > > My suggestion would be that you think carefully if you really > need to invert a matrix. If it is to obtain x in Ax = b, then > you most definitely don't need to find A^-1 to do that --- you > solve by whatever method suits your application. > > Most instances where we feel that we need to compute A^-1 can > be reduced to a case where you only need to solve a system > Ax = b. > > Carlos > --