LOBPCG single precision fails to converge for most problems

Open discussion for MAGMA library (Matrix Algebra on GPU and Multicore Architectures)
Post Reply
eduardotsimoes
Posts: 6
Joined: Wed Aug 28, 2019 3:28 am

LOBPCG single precision fails to converge for most problems

Post by eduardotsimoes » Fri Sep 20, 2019 10:24 am

Hello,

I have been testing the LOBPCG. On double precision, it works fine. On single precision, it seems quite sensitive.

I tried some examples from the matrix market :
https://math.nist.gov/MatrixMarket/data ... stm06.html
https://math.nist.gov/MatrixMarket/data ... stk01.html
https://math.nist.gov/MatrixMarket/data ... stk01.html

The command I tried was :
.\testing_ssolver.exe --solver LOBPCG --ev 1 --maxiter 10000 --rtol 1e-6 --verbose 1 --precond ILU /path/to/mtx

In doesn't converge. I tried a simple identity matrix with dimension five, and I played with the minimum value. The value lower than 1e-3 was already enough not to converge.

Is there any set of option that can improve this? I think I might be using it the wrong way.

Thanks in advance,
Eduardo.

mgates3
Posts: 897
Joined: Fri Jan 06, 2012 2:13 pm

Re: LOBPCG single precision fails to converge for most problems

Post by mgates3 » Fri Sep 20, 2019 12:57 pm

These problems have condition numbers >= 1e6, which mean they likely won't work well in single precision, which has a precision of only 1e-7. Roughly, single precision has 7 digits of accuracy, and a problem loses log10( cond ) digits of accuracy, in this case about 6, meaning there is at most 1 correct digit left. Whereas double precision has roughly 16 digits of accuracy, in this case leaving about 10 correct digits.

I'm not sure what you mean by "identity matrix with dimension five ... with the minimum value". What minimum value?
The identity matrix is just 1's on the diagonal and 0's elsewhere.

-mark

eduardotsimoes
Posts: 6
Joined: Wed Aug 28, 2019 3:28 am

Re: LOBPCG single precision fails to converge for most problems

Post by eduardotsimoes » Mon Sep 23, 2019 2:41 am

Hello,

thank you for the answer. Sorry, I was not quite specific. I tried this matrix:

%%MatrixMarket matrix coordinate real general
5 5 5
1 1 1.000e+00
2 2 1.000e+00
3 3 1.000e+00
4 4 1.000e+00
5 5 1.000e-3

It is a identity matrix which the component A(5,5) was changed to control the conditioning number. If A(5,5) is lower 1e-2, it doesn't converge.

Post Reply