I posted a question about a week about pertaining to the performance of <?>gels routines versus manual implementation. I mentioned that I had noticed a significant increase in speed (compared to the manual effort) when using MKL functions for matrices less than 50000 elements, but as soon as I started to approach this mark the speed decreased drastically.
I am trying to use cgels, cgelss, cgelsy, and cgelsd to compute the LLS solution approaching realtime. The matrices being used are A(100000,8) and b(100000,3).
Also, when using these methods I am having trouble locating the solution matrix in the 'b' variable. I have been using something like the following pseudo code, but I seem to come up with varying answers and odd formats. I was expecting the first 8 rows and 3 columns to hold the solution vectors but the answers are a bit off in comparision to the manual method.
- complex<float> matrix A(8,100000); complex<float> matrix b(3,100000); complex<float> matrix X(8,3);
- A = transpose(A); b = transpose(b);
- m = 100000; n = 8; nrhs = 3;
- lda = 100000; ldb = 100000;
- matrix_order = ROW_MAJOR;
- <?>gels(matrix_order, m, n, nrhs, A, lda, b, ldb, ...)
Any input in appreciated. Thank you again for your time.