Closed jimmyjamison closed 9 months ago
Thanks for the report
I found that I get a floating point exception when computing a 1D FFT on a transposed multidimensional array. This can be useful since its faster to compute 1D FFTs along axis=-1.
Note: If you transpose without copy(), it won't make a difference in speed that the transform is made along the last axis - what can influence the speed are the strides of the transform, and these don't change by transposing (fast axis is unchanged).
But still it should work. I just tested the same code using OpenCL and it passed.
Can you update to the latest release ? Your output above says VkFFT 1.3.0
, but the release version (for pyvkfft 2023.2
) includes VkFFT 1.3.1
. There were a number of fixes before the release.
I just tried your script on an x86 machine with cuda and cupy, and it passed without issue.
So I guess this was due to VkFFT 1.3.0
.
There's always a long release process to validate (py)vkfft before an official release (see #25), so it's much safer to stick with these releases.
Note: If you transpose without copy(), it won't make a difference in speed that the transform is made along the last axis - what can influence the speed are the strides of the transform, and these don't change by transposing (fast axis is unchanged).
Ah duh, that makes sense. Thanks for explaining that!
I'll see if updating to the latest release fixes this issue.
I found that I get a floating point exception when computing a 1D FFT on a transposed multidimensional array. This can be useful since its faster to compute 1D FFTs along axis=-1.
This code reproduces the issue on my machine
when I run this script I get
I'm using pyvkfft version 1.3.0 with CUDA version 12.2.
Thanks for the help!