Context

To start, I’m a physicist who’s new to GPU computing. Also this is my first ever forum post so please have mercy. I’m working on some simulations which involve taking many FFTs and iFFTs on 2D arrays of complex numbers, in Python. I’ve implemented PyTorch to do this as it seemed like the easiest choice at the time (last year), and it’s proven to be substantially faster using their FFT functions. Currently, I’m using an Nvidia GeForce 980 Ti, but my research group recently received some funds to potentially upgrade this.

So to be specific, PyTorch’s FFT functions require the input arrays to be of shape (N,N,2) with the third dimensions representing the real and complex parts of the data respectively; these arrays contain double-precision floats, in our case, and typically N<=1024.

The Question

What I’m wondering is which GPUs are best suited for this type of computation? I’m not so well versed in computing hardware, so I’m wondering what specifications I should be paying the most attention to here? Naively I’d assume the CUDA cores and a large cache size is of course useful, but I feel like I’m missing something here. How substantial would the performance gain be from one of the GPUs which can operate on double-precision floats, for instance (given that the 980 Ti can’t)?