The Fast Fourier Transform (FFT) is an essential primitive that has been applied in various fields of science and engineering. In this paper, we present a study of the Nvidia's cuFFT library -- a proprietary FFT implementation for Nvidia's Graphics Processing Units -- to identify the impact that two configuration parameters have in its execution. One useful feature of the cuFFT library is that it can be used to efficiently calculate several FFTs at once. In this work we analyse the effect this feature has on memory consumption and execution time in order to find a useful trade-off. Another important feature of the library is that it supports sophisticated input and output data layouts. This feature allows, for instance, to perform multidimensional FFT decomposition with no need of data transpositions. We have identified some patterns which may help to decide the parameters and values that are the key for achieving increased performance in a FFT calculation. We believe that this study will help researchers who wish to use the cuFFT library to decide what parameters values are best suited to achieve higher performance in their execution, both in time and memory consumption.
['Jose Luis Jodra', 'Ibai Gurrutxaga', 'Javier Muguerza']
A Study of Memory Consumption and Execution Performance of the cuFFT Library