Limitations of cusolverDn<t>syevd()

We are trying to use cusolverDnSsyevd on a 29951x29951 matrix but even calculating cusolverDnSsyevd_bufferSize hangs and does not produce a value in reasonable time. It would seem the int required to hold the buffer size is overflowing.

Can you please clarify the limits of cusolverDnSsyevd?

We have successfully used it on a 26760x26760 matrix and it took about 42 second on a V100 which is fine.

1 Like

I wonder what is the buffer size lwork for your problem? I am using a 64-bit integer interface, xsyevd, and have noticed that the buffer size is approximately 3 times the matrix size, which is in your case should be ~2.7 G and it goes beyond the maximal (signed) int value.