I would like to use Intel MKL to solve a Large Scale Weighted Least Squares problem.
The Matrices are sparse yet their elements number might be huge.
This is a result of working on images and hence the matrices are the size of (M x N)^2.
My questions are:
1. Which solvers should I use for that?
2. Is there a solver that instead of creating the matrix I can hand it a pointer to function which can calculate each (i, j) element of the matrix and hence eliminate the memory constrain?
3. Can MKL handle sparse matrices of (36e6) ^ 2 elements? How much time should I expect it to take solving: Ax = b where A is 36e6 by 36e6 ?
1. The tr solver can be used in your case
2. Only iterative solver can be used in this case that provided by MKL (cg, fgmres)
3. The time depends on sparsity and portrait. But, just for estimation, if you have only few nonzero element in each row the solution time via direct solver will be about not more than dozens of seconds – that’s our estimation.
Could you provide more details about your application?
I want to use for image processing.
I basically solving 4 / 8 neighbors Poisson problem -> The sparse matrix has 5 - 9 diagonals and that's it.
The problem is the matrix can be large (20e6 by 20e6) which means the calculation must be both fast and handle memory smartly.
How can it be done using MKL? Do you have, as someone suggested, MEX interface?