git checkout hpvm-reorg-9 (this step may not be needed once code is mirrored on Github)
git checkout hpvm-reorg-9 (this step may not be needed once code is mirrored on Github)
```
```
HPVM installer script can be used to dowwnload, configure and build HPMV along with LLVM and other subprojects including Clang.
HPVM installer script can be used to download, configure and build HPVM along with LLVM and other subprojects including Clang.
```shell
```shell
bash install.sh
bash install.sh
```
```
Specifically, the HPVM installer downloads the LLVM, Clang, compiler-rt, libcxxabi and lld, copies HPVM source into
Specifically, the HPVM installer downloads LLVM, Clang, compiler-rt, libcxxabi and lld, copies HPVM source into
llvm/tools and build the entire tree. A modified LLVM C-Backend is also built as a part of HPVM and is currently used to generate OpenCL kernels for GPUs.
llvm/tools and builds the entire tree. It also builds a modified LLVM C-Backend as a part of HPVM and is currently used
to generate OpenCL kernels for GPUs.
In the beginning of the building process, the installer provides users the choice of automatically or manually building HPVM.
If HPVM is selected to be automatically built, the installer allows users to type in the number of threads they want to use.
The default number of threads used to build HPVM is 2.
Alternatively, CMake can be run manually.
```shell
cd hpvm/build
cmake ../llvm [options]
```
Some common options that can be used with CMake are:
* -DCMAKE_INSTALL_PREFIX=directory --- Specify for directory the full pathname of where you want the HPVM tools and libraries to be installed.
* -DCMAKE_BUILD_TYPE=type --- Valid options for type are Debug, Release, RelWithDebInfo, and MinSizeRel. Default is Debug.
* -DLLVM_ENABLE_ASSERTIONS=On --- Compile with assertion checks enabled (default is Yes for Debug builds, No for all other build types).
To use hpvm to compile benchmarks set environment variable `LLVM_SRC_ROOT` to llvm directory in your local repository
In order to manually build and install HPVM, GNU Make can be run using the following.
```shell
```shell
export LLVM_SRC_ROOT=<full path to hpvm>/llvm
make -j<Number of threads>
make installl
```
```
With all the aforementioned steps, HPVM should be built, installed and ready for use!
### Benchmarks
### Benchmarks
We are providing the following benchamrks with HPVM:
We are providing the following benchamrks with HPVM: