Orthogonal Matching Pursuit, implemented using BLAS (CPU) and PyTorch (GPU).
Our implementations vastly outperform those in Scikit-Learn, with the PyTorch version on GPU being over 100 times faster.
A demo along with the implementation can be found in this Colab, also available in this repo as Quickstart.ipynb
.
Associated Paper feat. Sebastian Praesius!: Efficient Batched CPU/GPU OMP.
- Ensure you have Python Development tools installed
sudo apt-get update
sudo apt-get install build-essential python3.9-dev # Replace with specific python version you are using in your venv
- You must compile the Cython functions:
cd src/cython
python setup.py build_ext --inplace
We do not yet provide a MATLAB version of our code, but a good, efficient version can be found here - though it is lacking many of our optimizations