Menu

Generalized Eigevalue Problem

2015-07-27
2015-07-28
  • Kyriakos Perros

    Kyriakos Perros - 2015-07-27

    I have the following problem:
    Find the m eigenvalues of smallest algebraic value of the generalized
    eigenproblem Ax=λBx, where A and B are sparse symmetric real matrices, nxn,
    in double precision, where m<<n. How can I implement this usbg ViennaCL?

     
  • Karl Rupp

    Karl Rupp - 2015-07-27

    Hi,

    there are no out-of-the-box routines in ViennaCL which solve exactly this kind of problem. Generally, the computation of small eigenvalues for sparse matrices is computationally expensive and fairly hard to parallelize. You might want to have a look at specialized packages like ARPACK: http://www.caam.rice.edu/software/ARPACK/UG/node74.html or SLEPc:
    http://slepc.upv.es/handson/handson3.html

    Best regards,
    Karli

     
  • Kyriakos Perros

    Kyriakos Perros - 2015-07-27

    Thank you very much for the respond Karl!

    Do these implementations support OpenCL?

    Kyriakos

     
  • Karl Rupp

    Karl Rupp - 2015-07-27

    None of these support OpenCL for your purposes. Frankly, I doubt that you will get any good performance with OpenCL for any eigenvalue computations on sparse matrices, because the performance of the respective algorithms tend to be very sensitive with respect to latency. And latency is something OpenCL is not at all good at.

     
  • Kyriakos Perros

    Kyriakos Perros - 2015-07-28

    So a combination of ARPACK for the eigen algorithm and ViennaCL for the matrix-vector calculations would be less efficient than just ARPACK on CPU? Even if the sparse matrices are quite large (10 - 100 million non-zeros)?

     
  • Karl Rupp

    Karl Rupp - 2015-07-28

    It will depend on your hardware: With a low-end CPU and a high-end consumer GPU you will most likely see some benefit (maybe 3x vs. a well-optimized CPU code). On a dual-socket Xeon system it is more than unlikely that you will see any significant benefits of using a GPU for your use case.

     

Log in to post a comment.