KFR Roadmap #216
Replies: 8 comments
-
All of this would be fantastic features. Thank you for bringing a light over the remaining work. Do you have any idea already about the timeline of this roadmap ? |
Beta Was this translation helpful? Give feedback.
-
KFR 6 is scheduled for the coming weeks with 2D DFT, improved DFT performance (up to 30-50% increase in speed depending on architecture and DFT size) and all other features listed here under KFR 6 section. Future versions section is what will be implemented in one of the next releases of KFR but after KFR 6. There is no exact schedule of these features yet and the priority depends on many factors (commercial requests etc). |
Beta Was this translation helpful? Give feedback.
-
Sounds amazing, I definitely need to try this :-) |
Beta Was this translation helpful? Give feedback.
-
@dancazarin Is there any plan to implement short time fourier transform and reverse ? |
Beta Was this translation helpful? Give feedback.
-
KFR 5.2.0 has been released with DFT performance improvements and all latest fixes. KFR 6 is on the way. As for STFT, it's basically a combination of DFT and window function, both are implemented in KFR. It's possible to make a class that encapsulates these operations and also performs splitting streamed data to chunks etc. Is it what you think about? Right now KFR focuses on algorithms that process data in memory buffers, not streams but it may be considered for future releases. Or your data is available all at once? |
Beta Was this translation helpful? Give feedback.
-
Hi @dancazarin Thank you for the update ! |
Beta Was this translation helpful? Give feedback.
-
KFR6 preview has been released. Pull new changes from GitHub and switch to In addition to 1D DFT a Multidimensional DFT (both complex and real) is available through
CMake config generation during install makes KFR usage as simple as adding DFT and DSP source code moved to (Experimental) With C API is supported in both Intel and ARM and supports error handling. Accelerated matrix transposition with any number of dimensions. Numerous small enhancements and bug fixes. Examples, documentation and migration guide will be added later. More features are ready to be released. Expect force-pushes and API changes in KFR5 will be supported in bug-fix mode until the next major release of KFR. |
Beta Was this translation helpful? Give feedback.
-
The above features and some more have been merged into |
Beta Was this translation helpful? Give feedback.
-
KFR Roadmap
🎯 KFR 6
Matrix transpose
Both inplace and out-of-place options will be supported as well as other matrix operations.
2D DFT #127 #81
Also DFT-based algorithms such as DCT will get 2D variants too.
Applying a function along axis of
tensor<>
With full vectorization support.
More functions to support$N$ -dim
tensor<>
Separate
state_holder
for all DSP algorithms #78With this change it will be possible to prefill state before performing actual filtering. No more need to keep constructed expressions just to keep the state itself.
More audio formats #126
🚀 Future versions
Elliptic filters #163
To extend the list of already supported Butterworth, Bessel and Chebyshev I/II filters.
RISC-V support
.npy format support
To be able to load and store KFR tensors to and from numpy's
.npy
format.Prebuilt binaries using GitHub Actions
Built in Clang compiler (known to provide the best performance for heavy-vectorized code) but usable for both GCC and MSVC.
GCC and MSVC support for DFT #70
Capture subexpressions by value unless
std::ref
orstd::cref
is usedThis will fix potential errors with temporary scalars and subexpressions captured by references.
This is a breaking change.
Multithreading #63
Multithread DFT and other algorithms.
Beta Was this translation helpful? Give feedback.
All reactions