Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Update: We've released a new and simpler rewrite of Willump available here. We'd recommend anyone interested in experimenting with the project to check out that version first!

Willump is unstable and under active development! Please report any bugs or unusual behavior.

Willump is an optimizer for machine learning inference. It speeds up ML inference pipelines written as Python functions whose performance is bottlenecked by feature computation. For a high-level summary of Willump, please see this blog post. For a full description, please see our paper, published at MLSys 2020.


Willump requires Python version 3.6 or later. These instructions were tested on a clean installation of Ubuntu 18.04 with Python 3.6.8.

First, install dependency packages:

sudo apt update
sudo apt install build-essential curl python3-pip
pip3 install setuptools

Then install the llvm-st branch of our Weld fork, weld-willump. Its repository and installation instructions are available here.

Copy the weld-willump libraries to /usr/lib so clang can find them:

sudo cp $WELD_HOME/target/release/ /usr/lib/

Install the weld-willump Python libraries:

cd $WELD_HOME/python/pyweld
sudo -E python3 install

Finally, clone Willump, set the WILLUMP_HOME environment variable to point at the package root, and include the package root in your PYTHONPATH:

git clone
cd Willump
pip3 install -r requirements.txt
export WILLUMP_HOME=`pwd`
python3 install --user

To confirm Willump works, run the Willump unit tests:

python3 test

For information on reproducing the experiments run in the Willump paper, please see our benchmarks guide.


You can also experiment with Willump using Docker with the Dockerfile we provide. To clone our repository and build our container, run:

git clone
cd Willump
export WILLUMP_HOME=`pwd`
docker build -t willump .

Then, to verify the container built successfully, run our unit tests:

docker run -t willump python test


Willump Is a Low-Latency Useful Machine learning Platform.







No packages published