Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
7234 Discussions

Are negative strides in FFT signal data vectors supported?

Paul1
Beginner
825 Views
In the MKL Intel documentation, I don't see any mention that negative strides are support for FFT's - as they are for convolution and correlation.

Are negative strides supported in the MKL FFT library?

I can get negative strides to work (w/ no offset) but I have to futz with L0 and L1 in ways I wouldn't expect. If L1 < 0 then we must have L0 = |stride| - 1. For example if L1 = -3, the L0 must be 2 (in other words I set theDFTI_INPUT_STRIDES parameter with an array [2, -3] for a 1D FFT, and the FFT algorithm indexes through my input data in reverse order w/ stride 3).

xj = X(1 +L0 +L1 *j) = X(3 - 3*j)

What is the explanation for this? I would have expected the offset L0 to be something like the size of the input array.

Thank you,

Paul

CenterSpace Software

0 Kudos
1 Solution
Ying_H_Intel
Moderator
825 Views
Quoting - paulshirkey
In the MKL Intel documentation, I don't see any mention that negative strides are support for FFT's - as they are for convolution and correlation.

Are negative strides supported in the MKL FFT library?

I can get negative strides to work (w/ no offset) but I have to futz with L0 and L1 in ways I wouldn't expect. If L1 < 0 then we must have L0 = |stride| - 1. For example if L1 = -3, the L0 must be 2 (in other words I set theDFTI_INPUT_STRIDES parameter with an array [2, -3] for a 1D FFT, and the FFT algorithm indexes through my input data in reverse order w/ stride 3).

xj = X(1 +L0 +L1 *j) = X(3 - 3*j)

What is the explanation for this? I would have expected the offset L0 to be something like the size of the input array.

Thank you,

Paul

CenterSpace Software

Hi Paul,

As i knew, theFFT in current MKL version don't support negative strides. But MKL should havea set of routines routines in VSL for convolution and correlationdirectly . They alsoincluded fourier implementation.You may try them. Please see more from mkl manual mklman.pdf=>chapter 10 Statistical Functions.

Regards,
Ying

View solution in original post

0 Kudos
2 Replies
Ying_H_Intel
Moderator
826 Views
Quoting - paulshirkey
In the MKL Intel documentation, I don't see any mention that negative strides are support for FFT's - as they are for convolution and correlation.

Are negative strides supported in the MKL FFT library?

I can get negative strides to work (w/ no offset) but I have to futz with L0 and L1 in ways I wouldn't expect. If L1 < 0 then we must have L0 = |stride| - 1. For example if L1 = -3, the L0 must be 2 (in other words I set theDFTI_INPUT_STRIDES parameter with an array [2, -3] for a 1D FFT, and the FFT algorithm indexes through my input data in reverse order w/ stride 3).

xj = X(1 +L0 +L1 *j) = X(3 - 3*j)

What is the explanation for this? I would have expected the offset L0 to be something like the size of the input array.

Thank you,

Paul

CenterSpace Software

Hi Paul,

As i knew, theFFT in current MKL version don't support negative strides. But MKL should havea set of routines routines in VSL for convolution and correlationdirectly . They alsoincluded fourier implementation.You may try them. Please see more from mkl manual mklman.pdf=>chapter 10 Statistical Functions.

Regards,
Ying
0 Kudos
Paul1
Beginner
825 Views
Quoting - Ying H (Intel)
Hi Paul,

As i knew, theFFT in current MKL version don't support negative strides. But MKL should havea set of routines routines in VSL for convolution and correlationdirectly . They alsoincluded fourier implementation.You may try them. Please see more from mkl manual mklman.pdf=>chapter 10 Statistical Functions.

Regards,
Ying

Thanks Ying.

I'm using the routines in VSL succesfully.

Thanks again for the answer.

Paul

0 Kudos
Reply