PaulVirally / VkFFTCUDA.jl

Julia bindings for VkFFT
https://docs.juliahub.com/General/VkFFTCUDA/stable/
MIT License
3 stars 0 forks source link

Cool work! #1

Closed roflmaostc closed 7 months ago

roflmaostc commented 7 months ago

Hi!

I'm curious, I'm using mostly 3D and batched 2D FFTs. Do you see some speedup compared to cuFFT there?

Thanks for implementing those bindings, would be eager to check out!

Best.,

Felix

PaulVirally commented 7 months ago

Hi!

I haven't run any benchmarks for 3D or batched 2D FFTs specifically, but I can run some later tonight. There is a speedup (see below) for 1D FFTs (especially for in-place FFTs). In principle, these performance gains should be similar for multidimensional FFTs (as it is the same algorithm).

This is an old benchmark that was run on an A6000. When I have more time I will definitely run a full suite to add a comparison to cufft in the readme.

image
roflmaostc commented 7 months ago

Wow if that speedup is true, I switch all my packages to that haha

I'm doing big wave optical simulations which are bounded by FFTs. So a factor of 2 in the FFT reduces my simulations to half the time.

But I wonder: why wouldn't Nvidia fix that?

PaulVirally commented 7 months ago

Hopefully, the new benchmarks in the readme offer some clarity as to the speed-ups offered by VkFFT.

But I wonder: why wouldn't Nvidia fix that? I think they are very slow with the development of cuFFT in general... I've seen several problems with cuFFT that have only recently been addressed.