Dear developers, I'm doing exact diagonalization studies of some phenomenological model Hamiltonian. In this study I have to diagonalize large sparse matrices in Hilbert space of Slater determinants many times. I've successfully used PETSc + SLEPc to get few smallest eigenvalues. For example I've been able to diagonalize a matrix of rank *91454220* with 990 processors. This diagonalization took *15328.695847 *Sec (or *4.25* Hrs.) I have two questions: 1. Is this time reasonable, if not, is it possible to optimize further ? 2. I've tried a quick google search but could not find a comprehensive benchmarking of the SLEPc library for sparse matrix diagonalization. Could you point me to a publication/resource which has such a benchmarking ? Thanks for your help. PETSc Version: master branch commit: b33322e SLEPc Version: master branch commit: c596d1c Best, Vijay
Vijay Gopal Chilkuri <[email protected]> writes:
Dear developers,
I'm doing exact diagonalization studies of some phenomenological model Hamiltonian. In this study I have to diagonalize large sparse matrices in Hilbert space of Slater determinants many times.
I've successfully used PETSc + SLEPc to get few smallest eigenvalues. For example I've been able to diagonalize a matrix of rank *91454220* with 990 processors. This diagonalization took *15328.695847 *Sec (or *4.25* Hrs.)
How sparse is your matrix, where does it come from (affects spectrum and thus convergence rate), how many eigenvalues did you request, and what preconditioner did you use? Sending the output of running with -eps_view -log_view is necessary to start understanding the performance.
I have two questions:
1. Is this time reasonable, if not, is it possible to optimize further ?
2. I've tried a quick google search but could not find a comprehensive benchmarking of the SLEPc library for sparse matrix diagonalization. Could you point me to a publication/resource which has such a benchmarking ?
Thanks for your help.
PETSc Version: master branch commit: b33322e SLEPc Version: master branch commit: c596d1c
Best, Vijay
Dear Jed, I will try to answer your questions. I've started a calculation with the -eps_view and -log_view and send you the output once it is done. On Wed, Dec 28, 2016 at 4:42 PM, Jed Brown <[email protected]> wrote:
Vijay Gopal Chilkuri <[email protected]> writes:
How sparse is your matrix, where does it come from (affects spectrum and thus convergence rate),
The matrix is a variant of the Double Exchange model Hamiltonian. It has at most 48 non-zero elements per row.
how many eigenvalues did you request, and what preconditioner did you use?
I requested for 2 eigenvalues. I used the krylovshur solver from the SLEPc package with the default preconditioner. I'm curious about the preconditioner thing. Can you suggest some suitable for my system ? Thanks a lot ! Vijay
Sending the output of running with -eps_view -log_view is necessary to start understanding the performance.
I have two questions:
1. Is this time reasonable, if not, is it possible to optimize further ?
2. I've tried a quick google search but could not find a comprehensive benchmarking of the SLEPc library for sparse matrix diagonalization. Could you point me to a publication/resource which has such a benchmarking ?
Thanks for your help.
PETSc Version: master branch commit: b33322e SLEPc Version: master branch commit: c596d1c
Best, Vijay
Vijay: The performance of eigenvalue computation depends on many factors - matrix features, location of eigenvalues, orthogonalization of eigenvectors - how many eigensolutions do you compute, largest/smallest spectrum, accuracy - algorithms used - computer used ...
I'm doing exact diagonalization studies of some phenomenological model Hamiltonian. In this study I have to diagonalize large sparse matrices in Hilbert space of Slater determinants many times.
Why do you carry out these experiments? For solving this type of problem, I would suggest searching related research publications and compare your results.
I've successfully used PETSc + SLEPc to get few smallest eigenvalues. For example I've been able to diagonalize a matrix of rank *91454220* with 990 processors. This diagonalization took *15328.695847 *Sec (or *4.25* Hrs.)
The matrix size 91M is quite amazing. Hong
I have two questions:
1. Is this time reasonable, if not, is it possible to optimize further ?
2. I've tried a quick google search but could not find a comprehensive benchmarking of the SLEPc library for sparse matrix diagonalization. Could you point me to a publication/resource which has such a benchmarking ?
Thanks for your help.
PETSc Version: master branch commit: b33322e SLEPc Version: master branch commit: c596d1c
Best, Vijay
Dear Hong, On Wed, Dec 28, 2016 at 4:42 PM, Hong <[email protected]> wrote:
Vijay: The performance of eigenvalue computation depends on many factors - matrix features, location of eigenvalues, orthogonalization of eigenvectors - how many eigensolutions do you compute, largest/smallest spectrum, accuracy - algorithms used - computer used ...
I've used the krylovshur solver from SLEPc. I've asked for two lowest roots within the 1e-10 error bar. The matrix has at most 48 nonzero elements per row. Here are some details about the cluster: Processor: Intel(r) IVYBRIDGE 2,8 Ghz 10 (bisocket) Ram : 64Gb Interconnection: Infiniband (Full Data Rate ~ 6.89Gb/s)
I'm doing exact diagonalization studies of some phenomenological model Hamiltonian. In this study I have to diagonalize large sparse matrices in Hilbert space of Slater determinants many times.
Why do you carry out these experiments? For solving this type of problem, I would suggest searching related research publications and compare your results.
I'm using a variant of the traditional Double Exchange Hamiltonian. I'm interested in a specific part of the parameter space which is not fully explored in the literature. In this region the low energy spectrum is unusually dense (thus the exact diagonalization technique.) To my knowledge such a set of parameters has not been explored before. Hope this answers your question... Thanks, Vijay
I've successfully used PETSc + SLEPc to get few smallest eigenvalues. For example I've been able to diagonalize a matrix of rank *91454220* with 990 processors. This diagonalization took *15328.695847 *Sec (or *4.25* Hrs.)
The matrix size 91M is quite amazing.
Hong
I have two questions:
1. Is this time reasonable, if not, is it possible to optimize further ?
2. I've tried a quick google search but could not find a comprehensive benchmarking of the SLEPc library for sparse matrix diagonalization. Could you point me to a publication/resource which has such a benchmarking ?
Thanks for your help.
PETSc Version: master branch commit: b33322e SLEPc Version: master branch commit: c596d1c
Best, Vijay
El 28 dic 2016, a las 16:26, Vijay Gopal Chilkuri <[email protected]> escribió:
Dear developers,
I'm doing exact diagonalization studies of some phenomenological model Hamiltonian. In this study I have to diagonalize large sparse matrices in Hilbert space of Slater determinants many times.
I've successfully used PETSc + SLEPc to get few smallest eigenvalues. For example I've been able to diagonalize a matrix of rank 91454220 with 990 processors. This diagonalization took 15328.695847 Sec (or 4.25 Hrs.)
I have two questions:
1. Is this time reasonable, if not, is it possible to optimize further ?
It depends on how many eigenvalues are being computed. If computing more than 1000 eigenvalues it is very important to set the mpd parameter, see section 2.6.5.
2. I've tried a quick google search but could not find a comprehensive benchmarking of the SLEPc library for sparse matrix diagonalization. Could you point me to a publication/resource which has such a benchmarking ?
Some papers in the list of applications have performance results. http://slepc.upv.es/material/appli.htm See for instance [Moran et al 2011] for results up to 2048 cores. See also [Steiger et al 2011]. Jose
Thanks for your help.
PETSc Version: master branch commit: b33322e SLEPc Version: master branch commit: c596d1c
Best, Vijay
Dear Jose, Thanks for the references. I'm only calculation the smallest 10-100 eigenvalues using the krylovshur algorithm. How important is it to use a preconditioner ? My matrix has at most 48 nonzero elements per row. Best, Vijay On Wed, Dec 28, 2016 at 4:44 PM, Jose E. Roman <[email protected]> wrote:
El 28 dic 2016, a las 16:26, Vijay Gopal Chilkuri < [email protected]> escribió:
Dear developers,
I'm doing exact diagonalization studies of some phenomenological model Hamiltonian. In this study I have to diagonalize large sparse matrices in Hilbert space of Slater determinants many times.
I've successfully used PETSc + SLEPc to get few smallest eigenvalues. For example I've been able to diagonalize a matrix of rank 91454220 with 990 processors. This diagonalization took 15328.695847 Sec (or 4.25 Hrs.)
I have two questions:
1. Is this time reasonable, if not, is it possible to optimize further ?
It depends on how many eigenvalues are being computed. If computing more than 1000 eigenvalues it is very important to set the mpd parameter, see section 2.6.5.
2. I've tried a quick google search but could not find a comprehensive
benchmarking of the SLEPc library for sparse matrix diagonalization. Could you point me to a publication/resource which has such a benchmarking ?
Some papers in the list of applications have performance results. http://slepc.upv.es/material/appli.htm See for instance [Moran et al 2011] for results up to 2048 cores. See also [Steiger et al 2011].
Jose
Thanks for your help.
PETSc Version: master branch commit: b33322e SLEPc Version: master branch commit: c596d1c
Best, Vijay
El 28 dic 2016, a las 17:14, Vijay Gopal Chilkuri <[email protected]> escribió:
Dear Jose,
Thanks for the references.
I'm only calculation the smallest 10-100 eigenvalues using the krylovshur algorithm.
How important is it to use a preconditioner ? My matrix has at most 48 nonzero elements per row.
With Krylov-Schur you don't need a preconditioner if computing smallest-real eigenvalues (which I think is your case). Preconditioners are relevant only for interior eigenvalues (chapter 3 of the users guide). Jose
participants (4)
-
Hong -
Jed Brown -
Jose E. Roman -
Vijay Gopal Chilkuri