CUFFT 1D Transform Length Query related to the CUFFT manual.


I am confused about this statement from the CUFFT Library User Guide (PG-05327-040_V01, February 2011, page 25):

If I am correct, the X-dimension of a 1D transform is the same as the length of the transform, in which case the manual suggests that one should restrict transform lengths to 8192 for Fermi-class GPUs. But, from elsewhere in the manual (and also from experience), it is clear that 1D transform lengths can be greater than 8192. So what does the quoted statement actually mean? Is it that it is applicable only to multi-dimensional transforms?

Thank you!

This seems to be from a section entitled “Accuracy and Performance” that gives recommendations on how to achieve the highest possible performance when using CUFFT. The quoted section indicates that single-precision FFTs where the length is a power of two are particular efficient, especially if the length is between 2 and 2048 on Tesla-architecture GPUs and 2 and 8192 on Fermi-architecture GPUs (the difference in the size of the region of maximum performance seems to be simply a function of available shared memory on these two platforms).

Since these are performance recommendations, they don’t provide any information on the absolute limits of the size of a transform.

Thank you, that answers my question!