Skip to content

Commit

Permalink
Version 1.3 update of VkFFT
Browse files Browse the repository at this point in the history
-Major library design change - from single header to multiple header approach, which improves structure and maintainability. Now instead of copying a single file, the user has to copy the vkFFT folder contents.
-VkFFT has been rewritten to follow the multiple-level platform structure, described in the VkFFT whitepaper. All algorithms have been split into respective files, which should ease an understanding of the library design by everybody. Multiple code duplication places have been restructured and unified (mainly the read/write part of kernels and pre/post-processing).
-All math operations and most variables have been abstracted to a union container approach, that can either contain numbers or variable names. Not a full compiler, but the code generated is close to machine-like. There are no math sprintf calls in the actual code generator now. More details can be found here: https://youtu.be/lHlFPqlOezo
-VkFFT supports arbitrary number of dimensions now. By defining VKFFT_MAX_FFT_DIMENSIONS, it is now possible to mimic fftw guru interface. Default 4. Innermost stride is always fixed to be 1, but there can be an arbitrary number of outer strides. to achieve innermost batching, initialize N+1 dim FFT and omit the innermost one using omitDimension[0] = 1.
-Enabled fp16 for all backends.
-Accuracy verification of the new version can be found here: vincefn/pyvkfft#25
-The new code structure will facilitate the implementation of many new features and performance improvements, so stay tuned.
  • Loading branch information
DTolm committed Aug 1, 2023
1 parent a7a5397 commit 116bf7f
Showing 1 changed file with 0 additions and 38,754 deletions.
Loading

0 comments on commit 116bf7f

Please sign in to comment.