DTolm / VkFFT

Vulkan/CUDA/HIP/OpenCL/Level Zero/Metal Fast Fourier Transform library
MIT License
1.48k stars 88 forks source link

Allow complex transforms to use non-interleaved memory layouts (separate I and Q buffers) #149

Open azonenberg opened 5 months ago

azonenberg commented 5 months ago

Some of the tooling I'm working with expects separate i[] and q[] buffers for complex valued data. It would be nice to support this natively in vkFFT rather than having to add a transpose shader before/after calling vkFFT.

DTolm commented 5 months ago

Hello,

this should not be difficult to add, I will try to implement this during the next develop cycle.

Best regards, Dmitrii

nschaeff commented 5 months ago

Hello,

I'm also interested in this feature.

DTolm commented 1 month ago

Hello,

I have added initial support for this feature - need to update the documentation, add more samples and test HIP, Level Zero and Metal APIs before the release, but Vulkan, CUDA and OpenCL should be working. You can see how it works in tests 0, 11 and 50.

Best regards, Dmitrii