This project contains an implementation of the Polyhedral+Dataflow graph intermediate representation (IR), and corresponding embedded domain specific language (eDSL) in C++.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
The project requires Git, CMake, GCC, and Python3.
$ git --version
git version 2.19.1
$ cmake --version
cmake version 3.12.1
$ g++ --version
g++ (Ubuntu 8.3.0-6ubuntu1~18.10) 8.3.0
$ python3 --version
Python 3.6.7
Clone the repository and enter the directory:
$ git clone https://github.com/BoiseState-AdaptLab/PolyhedralDataflowIR.git
Enter the directory:
$ cd PolyhedralDataflowIR
Build:
$ cmake .
$ make
Python scripts and Jupyter notebooks are in the scripts
directory.
Run the test executable:
$ ./test/edslTest
Deploy (NOT YET TESTED!!!):
$ make install
- CHiLL - Omega+ calculator performs polyhedral code generation.
- IEGenLib - Set and relation library with uninterpreted function symbols.
- ISL - Integer Set Library (required by IEGenLib).
- GMP - GNU Multiple Precision Arithmetic Library (required by ISL).
- GoogleTest - Google Testing and Mocking Framework (for unit tests)
- Eddie Davis - Initial work - CompOpt4Apps
This project is licensed under the GNU General Public License - see the LICENSE.md file for details
- Insert NSF grant number...