GithubHelp home page GithubHelp logo

gmh5225 / upir-generator Goto Github PK

View Code? Open in Web Editor NEW

This project forked from passlab/upir-generator

0.0 1.0 0.0 162 KB

A tool based on REX compiler to generate UPIR, a unified parallel intermediate representation that reflects the task and data dependencies as well as other parallelism information.

License: BSD 2-Clause "Simplified" License

Shell 0.12% C++ 95.58% C 1.33% Fortran 0.19% Cuda 0.26% Makefile 0.34% CMake 2.16%

upir-generator's Introduction

UPIR-generator

UPIR generator is a tool based on REX compiler to generate UPIR, a unified parallel intermediate representation that reflects the task and data dependencies as well as other parallelism information.

Prerequisite

REX compiler is required. Any other dependencies will be installed while building REX. Please check this guide for REX installation. Then the environment variable REX_INSTALL must be properly set to indicates the location of REX compiler.

For example, if the REX compiler is installed under /opt/rex_install as follows,

opt
├── rex_install
│   ├── bin
│   ├── include
│   ├── lib
│   └── share
└── ...

To set up the REX compiler for building UPIR generator:

export REX_INSTALL=/opt/rex_install
export LD_LIBRARY_PATH=$REX_INSTALL/lib:$LD_LIBRARY_PATH
export PATH=$REX_INSTALL/bin:$PATH
# set up OpenJDK 1.8
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export LD_LIBRARY_PATH=$JAVA_HOME/jre/lib/amd64/server:$LD_LIBRARY_PATH

LLVM is also required to support MLIR. Please follow the instructions here to build LLVM properly. It could be installed to /opt/llvm-install. The the opt folder would be like:

opt
├── llvm_install
│   ├── bin
│   ├── examples
│   ├── include
│   ├── lib
│   ├── libexec
│   └── share
├── rex_install
│   ├── bin
│   ├── include
│   ├── lib
│   └── share
└── ...

Build

At the moment, the parallel flow graph and visualation are still work-in-progress. Please ignore them and check UPIR generator in mlir subfolder.

Run

...

upir-generator's People

Contributors

ouankou avatar ambipomyan avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.