From a12d758c8789f757d979ed1143ea16e74aad5a2c Mon Sep 17 00:00:00 2001 From: akashk4 <akashk4@illinois.edu> Date: Mon, 20 Jan 2020 13:47:56 -0600 Subject: [PATCH] Update README.md --- README.md | 38 ++++++++++++++++++++++++++++++++------ 1 file changed, 32 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 4970eccbac..8c759b30af 100644 --- a/README.md +++ b/README.md @@ -12,19 +12,45 @@ You would need to download and install the following components for using AVX an * Intel OpenCL SDK for Linux from [software.intel.com/sdk/opencl](software.intel.com/sdk/opencl). Follow the installation instructions (no special requirements). * CUDA -## Build +## Getting source code and building HPVM -Switch to hpvm-reorg-9 +Checkout HPVM: ```shell -git checkout hpvm-reorg-9 +* git clone https://gitlab.engr.illinois.edu/llvm/hpvm.git +* git checkout hpvm-reorg-9 (this step may not be needed once code is mirrored on Github) ``` -Build hpvm +HPVM installer script can be used to dowwnload, configure and build HPMV along with LLVM and other subprojects including Clang. ```shell -bash install.sh +* bash install.sh ``` +Specifically, the HPVM installer downloads the LLVM, Clang, compiler-rt, libcxxabi and lld, copies HPVM source into +llvm/tools and build the entire tree. LLVM C-Backend is also built as a part of HPVM and is currently used to perform +code generation in OpenCL for GPUs. The script provides you with an option to choose number of threads. -Build hpvm runtime +Alternatively, CMake can be run manually. +```shell +* cd hpvm/build +* cmake ../llvm [options] +``` +Some common options that can be used with CMake are: +```shell +* -DCMAKE_INSTALL_PREFIX=directory +``` +--- Specify for directory the full pathname of where you want the HPVM tools and libraries to be installed. + +```shell +-DCMAKE_BUILD_TYPE=type +``` +--- Valid options for type are Debug, Release, RelWithDebInfo, and MinSizeRel. Default is Debug. + +```shell +-DLLVM_ENABLE_ASSERTIONS=On +``` +--- Compile with assertion checks enabled (default is Yes for Debug builds, No for all other build types). + +#Building hpvm runtime +HPVM also includes a runtime library which comprises of low-level, target-specific wrappers required by HPVM's code generation. ```shell cd projects/visc-rt make -- GitLab