1. In a computing environment that includes a programmable graphics processing unit, a method comprising: receiving arbitrary-sized data including data comprising a sequence of numbers having a length that is a non-power of two and another sequence of numbers; evaluating how to compute discrete Fourier transforms on the graphics processing unit based upon a format of the data; determining whether the data is real-valued; and if the data is real-valued, packing elements of the sequence into a complex sequence, running at least some of the discrete Fourier transforms in parallel, and returning the computed discrete Fourier transforms, wherein when the sequence is one-dimensional and further comprising when a one-dimensional length is even, packing together even and odd elements of the sequence into packed data that comprises components of the complex sequence, performing the fast Fourier transforms on the packed data, and unpacking the packed data, or when the one-dimensional length is odd, packing together elements of the sequence and elements of the other sequence into a packed sequence that comprises components of the complex sequence, including if the data comprises an odd number of sequences, adding an extra sequence of zeros to make an even number of sequences, and performing the fast Fourier transforms on the packed sequence.