Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
azonenberg opened this issue Jan 10, 2024 · 3 comments

Comments

@azonenberg
Copy link

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
Copy link
Owner

DTolm commented Jan 15, 2024

Hello,

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

Best regards,
Dmitrii

@nschaeff
Copy link

Hello,

I'm also interested in this feature.

DTolm added a commit that referenced this issue Jun 6, 2024
-Real and imaginary parts of a number can now be supplied from two buffers with their own respective offsets (so both buffers can actually be just one with an offset for I).
-Any buffer array pointer can be provided in such form (as two buffers) - input, output, buffer, kernel, temp. Need to set the respective bufferNum and bufferSeparateComplexComponents value.
-Updated samples 0, 50 and 11 (for now) to demonstrate how this feature works.
-Bugfixes.
@DTolm
Copy link
Owner

DTolm commented Jun 6, 2024

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants