Skip to content

ariellubonja/orthogonal-matching-pursuit-parallel-gpu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EFFICIENT BATCHED CPU/GPU IMPLEMENTATION OF ORTHOGONAL MATCHINGPURSUIT FOR PYTHON

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.

Installation

  1. 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
  1. You must compile the Cython functions:
cd src/cython
python setup.py build_ext --inplace

Notes

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

About

Orthogonal Matching Pursuit, parallelized on both CPU and GPU. 100x+ Speedup

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •