The computed eigenvalue has 7 matching digits, which agrees with the used tolerance. If you want more matching digits you have to reduce the tolerance.
The performance seems reasonable for up to 64 processes, so yes the problem may be too small for more processes. But performance depends also a lot on the sparsity pattern of the matrix. Take into account that scalability of matrix-vector products in SBAIJ matrices is expected to be worse than in AIJ. Anyway, to answer questions about performance it is better that you send the output of -log_view Jose > El 12 jul 2023, a las 10:18, Runfeng Jin <[email protected]> escribió: > > Hi, > When I try to increase the number of processors to solve the same matrix(to > acquire the smallest eigenvalue) , I find all the results differ from each > other within the 1e-5 scope (Though the ||Ax-kx||/||kx|| are all achieve > 1e-8) . And the solve time are first decreasing then increasing. > my question is > (1) Is there anyway to make the result more constant > (2) Does the time decreasing because the matrix dimension are too small for > so many processors? Is there any way to reduce the solve time when increasing > the number of processors? > > Thank you! > Runfeng > > > matrix type MATSBAIJ > matrix dimension 2078802 > solver krylovschur > blocksize 1 > dimension of the subspace PETSC_DEFAULT > number of eigenvalues 6 > the maximum dimension allowed for the projected problem PETSC_DEFAULT > -eps_non_hermitian > > number of processors result solve time > 16 -302.06881196 526 > 32 -302.06881892 224 > 64 -302.06881989 139 > 128 -302.06881236 122 > 256 -302.06881938 285 > 512 -302.06881029 510 > 640 -302.06882377 291
