- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I have a question with some large sparse symmetric matrices of dimensions 100*100. I need to do some computation with the matrices including eigenvalues, eigenvectors, inversion and multiplication by vetors.
I could use BLAS sparse format to store the matrices, but that would be troublesome to calculate the eigenvalues and inversions. However, the matrix has only 5% non-zero values. If I don't use this format, it seems very wasteful.
My question is, whether I should use the packed symmetric form to do all the computations with LAPACK/BLAS Level 2 libraries, or should I use sparse BLAS format to do some simple calculation and convert them to the packed symmetric form to do inversion and factorizations, or use the PARDISO interface?
I'm doing some MCMC algorithm, which needs more than 10,000 iterations, for each iteration, I need to do one matrix inversion, two eigenvalue factorization and several sparse * vector multiplications. So I need some very effective way to perform the program.
Thank you very much.
Best,
Jun
I have a question with some large sparse symmetric matrices of dimensions 100*100. I need to do some computation with the matrices including eigenvalues, eigenvectors, inversion and multiplication by vetors.
I could use BLAS sparse format to store the matrices, but that would be troublesome to calculate the eigenvalues and inversions. However, the matrix has only 5% non-zero values. If I don't use this format, it seems very wasteful.
My question is, whether I should use the packed symmetric form to do all the computations with LAPACK/BLAS Level 2 libraries, or should I use sparse BLAS format to do some simple calculation and convert them to the packed symmetric form to do inversion and factorizations, or use the PARDISO interface?
I'm doing some MCMC algorithm, which needs more than 10,000 iterations, for each iteration, I need to do one matrix inversion, two eigenvalue factorization and several sparse * vector multiplications. So I need some very effective way to perform the program.
Thank you very much.
Best,
Jun
Link Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jun,
Yes, the sparse solver format like CSR is more effective from consumed memory point of view versus the density storage format. For example for your cases( 100x100) it will ~13 times more efficiency.
But, nevertheless, in your case I wouldnt recommend you to use the sparse format and use some additional conversion from sparse to density format representation ( all these conversion functions are not threaded and therefore it make take some additional time especially if into your case when you have 10000 iterations..)
it should be noted that using PARDISO for such small cases is not efficient way from the performance and scalability points of view.--Gennady
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you, Gennady.
So for my case, I should use the packed storage scheme so that I could use the routines for inversion and eigenvalues/eigenvectors for best performance.
Jun
So for my case, I should use the packed storage scheme so that I could use the routines for inversion and eigenvalues/eigenvectors for best performance.
Jun
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page