- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
I have a 128(rows) x 5120 (columns) matrix.
Each element is complex (i+ jq)
I have to calculate FFT on each columns.
Is it wise to run transform on this matrix to : 5120(rows) x (128 (columns)
And then run FFT on each row ?
In this case the columns are not contiguous in virtual memory.
Thank you,
Zvika
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Zvika,
IPP FFT functions don't support stride. https://www.intel.com/content/www/us/en/docs/ipp/developer-guide-reference/2021-10/fftfwd-ctoc.html
For your case, if need calculate each columns FFT of128(rows) x 5120 (columns) matrix, transpose the matrix to 5120(rows) x (128 (columns) is necessary.
Intel Math Kernel Library provides FFT functions which have stride parameters: https://www.intel.com/content/www/us/en/docs/onemkl/developer-reference-c/2024-0/dfti-input-strides-dfti-output-strides.html, but need your check whether it works or not for your application
- Ruqiu
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Zvika,
IPP FFT functions don't support stride. https://www.intel.com/content/www/us/en/docs/ipp/developer-guide-reference/2021-10/fftfwd-ctoc.html
For your case, if need calculate each columns FFT of128(rows) x 5120 (columns) matrix, transpose the matrix to 5120(rows) x (128 (columns) is necessary.
Intel Math Kernel Library provides FFT functions which have stride parameters: https://www.intel.com/content/www/us/en/docs/onemkl/developer-reference-c/2024-0/dfti-input-strides-dfti-output-strides.html, but need your check whether it works or not for your application
- Ruqiu
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Ruqiu,
Thank you very much for your reply.
In my opinion, IPP should contain also FFT with stride and also to handle non interleaved complex numbers will all operations.
From what I know, x86 has the best performance with non-interleaved data.
Best regards,
Zvika
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page