Hypre LOBPCG solver fails with 64-bit integers
I have noticed that the LOBPCG eigensolver fails when Hypre is built with 64-bit integers, but works with 32-bit integers. I have verified this by running [MFEM's example 11](https://github.com/mfem/mfem/blob/master/examples/ex11p.cpp), which implements a simple eigenvalue problem with a diffusion integrator. When MFEM is built against a 32-bit Hypre, the example runs normally and returns the correct result. If it is built against a 64-bit Hypre, I get the following output:
```
Number of unknowns: 1361
Solving generalized eigenvalue problem with preconditioning
block size 5
No constraints
Error in LOBPCG:
Bad initial vectors: orthonormalization failed
DPOTRF INFO = 129944235540480
Eigenvalue lambda nan
Eigenvalue lambda nan
Eigenvalue lambda nan
Eigenvalue lambda nan
Eigenvalue lambda nan
Residual 0.00000000000000e+00
Residual 0.00000000000000e+00
Residual 0.00000000000000e+00
Residual 0.00000000000000e+00
Residual 0.00000000000000e+00
0 iterations
```
Is this issue known? And if so, is there a fix for it other than using 32-bit integer Hypre?
5 条评论