Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
6977 Discussions

Are negative strides in FFT signal data vectors supported?

Paul1
Beginner
377 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
Employee
377 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
Employee
378 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
377 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