I understand AppleAccelerate can only deal with power-of-two FFT transforms. However, I would not expect to see this error message, as FFTW should just use its standard (general) code:
julia> import FFTW, AppleAccelerate
julia> matrix = rand(1024, 1024);
julia> matrix = rand(1024, 1023);
julia> FFTW.plan_fft(matrix, flags=FFTW.MEASURE)
ERROR: ArgumentError: vDSP FFT requires power-of-2 dimensions (got size (1024, 1023)). Use FFTW.jl for arbitrary sizes.
Stacktrace:
[1] _vdsp_unsupported(x::Matrix{ComplexF64})
@ AppleAccelerateAbstractFFTsExt ~/.julia/packages/AppleAccelerate/mlJEJ/ext/AppleAccelerateAbstractFFTsExt.jl:43
[2] #plan_fft#3
@ ~/.julia/packages/AppleAccelerate/mlJEJ/ext/AppleAccelerateAbstractFFTsExt.jl:111 [inlined]
[3] plan_fft
@ ~/.julia/packages/AppleAccelerate/mlJEJ/ext/AppleAccelerateAbstractFFTsExt.jl:110 [inlined]
[4] plan_fft
@ ~/.julia/packages/AbstractFFTs/4iQz5/src/definitions.jl:215 [inlined]
[5] #plan_fft#1
@ ~/.julia/packages/AbstractFFTs/4iQz5/src/definitions.jl:68 [inlined]
[6] top-level scope
@ REPL[5]:1
Note that the error disappears if either matrix = rand(1024, 1024) or I do not import AppleAccelerate, as expected. I am reporting this here as, from what I understand, the issue is with the AppleAccelerate FFT extension, rather than with FFTW.js (which has no extensions actually).
I understand AppleAccelerate can only deal with power-of-two FFT transforms. However, I would not expect to see this error message, as FFTW should just use its standard (general) code:
Note that the error disappears if either
matrix = rand(1024, 1024)or I do not import AppleAccelerate, as expected. I am reporting this here as, from what I understand, the issue is with the AppleAccelerate FFT extension, rather than with FFTW.js (which has no extensions actually).