CUDALibrarySamples icon indicating copy to clipboard operation
CUDALibrarySamples copied to clipboard

eigenvalue solver xsyevd has limit on matrix size

Open ygeorgi opened this issue 1 year ago • 2 comments

I need to diagonalize large matrices. As i understand, the old cusolver code, syevd, restricted the matrix sizes because it was using 32-bit integer interface for work space size, which thus has been limited by ~2G of doubles. The new interface, xsyevd, uses 64-bit integers and so should not have that restriction. However, i have found that i cannot go beyond ~25000 matrix size and the preliminary procedure, which is supposed to evaluate the work space needed for the problem, fails even so there is more than enough memory space on device.

ygeorgi avatar Jan 30 '25 23:01 ygeorgi

Unfortunately, this is currently a limitation of the routine. I will let you know once the routine has full support for 64-bit integer sizes.

codecircuit avatar Feb 03 '25 22:02 codecircuit

Thanks for info

From: Christoph Klein @.> Date: Monday, February 3, 2025 at 4:06 PM To: NVIDIA/CUDALibrarySamples @.> Cc: Georgievski, Yuri @.>, Author @.> Subject: Re: [NVIDIA/CUDALibrarySamples] eigenvalue solver xsyevd has limit on matrix size (Issue #246) Unfortunately, this is currently a limitation of the routine. We will let you know once the routine has full support for 64-bit integer sizes. — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because ZjQcmQRYFpfptBannerStart This Message Is From an External Sender This message came from outside your organization.

ZjQcmQRYFpfptBannerEnd

Unfortunately, this is currently a limitation of the routine. We will let you know once the routine has full support for 64-bit integer sizes.

— Reply to this email directly, view it on GitHubhttps://urldefense.us/v3/__https:/github.com/NVIDIA/CUDALibrarySamples/issues/246*issuecomment-2632218076__;Iw!!G_uCfscf7eWS!bb5eETH2V7gmKpZIsXMO6ToY5ogdEIenVWw2rmLx-eN3RMzizUdTUcxdZbKyS4uzOlHlLejo4hD4YFr4_WJKpIUx$, or unsubscribehttps://urldefense.us/v3/__https:/github.com/notifications/unsubscribe-auth/AJWKPTU3CRWLRR2LTG3C7VD2N7R5XAVCNFSM6AAAAABWGMCQG6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDMMZSGIYTQMBXGY__;!!G_uCfscf7eWS!bb5eETH2V7gmKpZIsXMO6ToY5ogdEIenVWw2rmLx-eN3RMzizUdTUcxdZbKyS4uzOlHlLejo4hD4YFr4_bBi7-Nd$. You are receiving this because you authored the thread.Message ID: @.***>

ygeorgi avatar Feb 03 '25 22:02 ygeorgi

I run into this on h100. cusolver xsyevd from nvhpc 24.9/cuda 12.6 seems to return some sensible worksizes but 24.11 and later cut out at input size 26733. Also the values until that point are about 2x larger than before.

The nvhpc packages still include older cuda 11.8 linked cusolver which seems to still work.

dmt4 avatar Apr 06 '25 20:04 dmt4

Yes, they (nvidia developers) told me this. Also, they promised to resolve the issue in the next library update.

From: dmt4 @.> Date: Sunday, April 6, 2025 at 3:45 PM To: NVIDIA/CUDALibrarySamples @.> Cc: Georgievski, Yuri @.>, Author @.> Subject: Re: [NVIDIA/CUDALibrarySamples] eigenvalue solver xsyevd has limit on matrix size (Issue #246) I run into this on h100. cusolver xsyevd from nvhpc 24. 9/cuda 12. 6 seems to return some sensible worksizes but 24. 11 and later cut out at input size 26733. Also the values until that point are about 2x larger than before. The nvhpc packages ZjQcmQRYFpfptBannerStart This Message Is From an External Sender This message came from outside your organization.

ZjQcmQRYFpfptBannerEnd

I run into this on h100. cusolver xsyevd from nvhpc 24.9/cuda 12.6 seems to return some sensible worksizes but 24.11 and later cut out at input size 26733. Also the values until that point are about 2x larger than before.

The nvhpc packages still include older cuda 11.8 linked cusolver which seems to still work.

— Reply to this email directly, view it on GitHubhttps://urldefense.us/v3/__https:/github.com/NVIDIA/CUDALibrarySamples/issues/246*issuecomment-2781649838__;Iw!!G_uCfscf7eWS!a-6uGUgwIP-ZhWpi0OjOOfvYe2VAIlDxbXMXu26PJoRr7cEctIDwZo6sGX5RG0dZyweuAoNTUPMig1irTH55XIHU$, or unsubscribehttps://urldefense.us/v3/__https:/github.com/notifications/unsubscribe-auth/AJWKPTU2TXHIEATJNKPAKZ32YGG67AVCNFSM6AAAAABWGMCQG6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDOOBRGY2DSOBTHA__;!!G_uCfscf7eWS!a-6uGUgwIP-ZhWpi0OjOOfvYe2VAIlDxbXMXu26PJoRr7cEctIDwZo6sGX5RG0dZyweuAoNTUPMig1irTJgFOZ7_$. You are receiving this because you authored the thread.Message ID: @.***> [Image removed by sender. dmt4]dmt4 left a comment (NVIDIA/CUDALibrarySamples#246)https://urldefense.us/v3/__https:/github.com/NVIDIA/CUDALibrarySamples/issues/246*issuecomment-2781649838__;Iw!!G_uCfscf7eWS!a-6uGUgwIP-ZhWpi0OjOOfvYe2VAIlDxbXMXu26PJoRr7cEctIDwZo6sGX5RG0dZyweuAoNTUPMig1irTH55XIHU$

I run into this on h100. cusolver xsyevd from nvhpc 24.9/cuda 12.6 seems to return some sensible worksizes but 24.11 and later cut out at input size 26733. Also the values until that point are about 2x larger than before.

The nvhpc packages still include older cuda 11.8 linked cusolver which seems to still work.

— Reply to this email directly, view it on GitHubhttps://urldefense.us/v3/__https:/github.com/NVIDIA/CUDALibrarySamples/issues/246*issuecomment-2781649838__;Iw!!G_uCfscf7eWS!a-6uGUgwIP-ZhWpi0OjOOfvYe2VAIlDxbXMXu26PJoRr7cEctIDwZo6sGX5RG0dZyweuAoNTUPMig1irTH55XIHU$, or unsubscribehttps://urldefense.us/v3/__https:/github.com/notifications/unsubscribe-auth/AJWKPTU2TXHIEATJNKPAKZ32YGG67AVCNFSM6AAAAABWGMCQG6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDOOBRGY2DSOBTHA__;!!G_uCfscf7eWS!a-6uGUgwIP-ZhWpi0OjOOfvYe2VAIlDxbXMXu26PJoRr7cEctIDwZo6sGX5RG0dZyweuAoNTUPMig1irTJgFOZ7_$. You are receiving this because you authored the thread.Message ID: @.***>

ygeorgi avatar Apr 06 '25 20:04 ygeorgi

As of CTK 13.0, cusolverDnXsyevd supports 64-bit problem sizes. Please let us know if you have any problems.

cgbaker avatar Oct 02 '25 19:10 cgbaker

It still requires 2x the workspace that v11.8 required (for the same problem size of course). Checked it for up to ~30k.

dmt4 avatar Oct 15 '25 14:10 dmt4