Home

Awesome

Welcome to PolyMath!

PolyMath is a framework comprised of both a high-level language and an embedded Python language for compilation on heterogenous hardware.

This document will help you get up and running.

Step 0: Check prerequisites

The following dependencies must be met by your system:

Step 1: Clone the PolyMath source code

$ git clone https://github.com/he-actlab/polymath
$ cd polymath

Step 2: Create a Python virtualenv

Note: You may choose to skip this step if you are doing a system-wide install for multiple users. Please DO NOT skip this step if you are installing for personal use and/or you are a developer.

$ python -m venv general
$ source general/bin/activate
$ python -m pip install pip --upgrade

Step 3: Install PolyMath

If you already have a working installation of Python 3.7 or Python 3.8, the easiest way to install GeneSys is:

$ pip install -e .

Step 4: Run an example

You can look at the examples in the examples/ directory to see how the PolyMath language works.

Citing us

If you use this work, please cite our paper, PolyMath, published in the 2021 IEEE International Symposium on High Performance Computer Architecture (HPCA).

S. Kinzer, J.K. Kim, S. Ghodrati, B. Yatham, A. Althoff, D. Mahajan, S. Lerner, and H. Esmailzadeh, "A Computational Stack for Cross-Domain Acceleration", in the IEEE International Symposium on High Performance Computer Architecture (HPCA), 2021.