On Jan 28, 2014, at 1:36 PM, David Liu <[email protected]> wrote: > Hi, I'm writing an application that solves a sparse matrix many times using > Pastix. I notice that the first solves takes a very long time,
Is it the first “solve” or the first time you put values into that matrix that “takes a long time”? If you are not properly preallocating the matrix then the initial setting of values will be slow and waste memory. See http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MatXAIJSetPreallocation.html The symbolic factorization is usually much faster than a numeric factorization so that is not the cause of the slow “first solve”. Barry > while the subsequent solves are very fast. I don't fully understand what's > going on behind the curtains, but I'm guessing it's because the very first > solve has to read in the non-zero structure for the LU factorization, while > the subsequent solves are faster because the nonzero structure doesn't change. > > My question is, is there any way to save the information obtained from the > very first solve, so that the next time I run the application, the very first > solve can be fast too (provided that I still have the same nonzero structure)?
