-
Notifications
You must be signed in to change notification settings - Fork 256
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
KFR Roadmap #196
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 ? |
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). |
Sounds amazing, I definitely need to try this :-) |
@dancazarin Is there any plan to implement short time fourier transform and reverse ? |
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? |
Hi @dancazarin Thank you for the update ! |
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. |
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
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.
The text was updated successfully, but these errors were encountered: