diff --git a/README.md b/README.md index 8211bbea11a6600af683a9429358b21906c70d53..81c8d4cc0cca6ceb004a8bac940125a506de17e9 100644 --- a/README.md +++ b/README.md @@ -21,12 +21,14 @@ HPVM is currently at version 0.5. For more about what HPVM is, see [our website] ## Dependencies The following components are required to be installed on your machine to build HPVM. -* GCC (>=5.1.0) -* CMake (>=3.17.0) -* Python (>=2.7) -* GNU Make (>=3.79.1) -* OpenCL (>=1.0.0) or CUDA (>=9.1, only required for GPU support) - +* GCC (>=5.1) + * In addition, each version of CUDA-nvcc requires GCC to be not newer than a certain version. + See [here](https://gist.github.com/ax3l/9489132) for the support matrix. +* CMake (>=3.17) +* Python (>=3.7) with Pip +* GNU Make (>=3.79) +* OpenCL (>=1.0.0) +* CUDA (>=9.1) ## Supported Targets Supported/tested CPU architectures: @@ -45,17 +47,20 @@ HPVM has not been tested but might work on other CPUs supported by LLVM Backend, Checkout HPVM: ```shell -git clone https://gitlab.engr.illinois.edu/llvm/hpvm-release.git/ +git clone --recursive https://gitlab.engr.illinois.edu/llvm/hpvm-release.git/ cd hpvm-release/hpvm ``` -Before installing HPVM, some paths must be set for installation to succeed. The following variables in set_paths.sh must be set: +HPVM needs to be able to find CUDA. +If CUDA is installed in your system's $PATH (e.g. if it was installed at the default location), +HPVM can find CUDA automatically. +Otherwise, some environment variables are required: -* CUDA_TOOLKIT_PATH --- Path to the CUDA toolkit -* CUDA_INCLUDE_PATH --- Path to the CUDA headers -* CUDA_LIB_PATH -- Path to CUDA libraries +* `CUDA_TOOLKIT_PATH` --- Path to the CUDA toolkit +* `CUDA_INCLUDE_PATH` --- Path to the CUDA headers +* `CUDA_LIB_PATH` --- Path to CUDA libraries -Once the aforementioned variables in set_paths.sh have been specified, run the script. +`hpvm/set_paths.sh` can be used for this. Modify the values of these variables in set_paths.sh and source the script: ```shell source set_paths.sh ``` @@ -78,6 +83,9 @@ mkdir build cd build cmake ../llvm [options] ``` +**Note** that if the installer script was not used, +you must _manually add the build directory to your $PATH variable_. + 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. @@ -112,5 +120,3 @@ We are also providing [unit tests](/hpvm/test/unitTests) and [regression tests]( ## Support All questions can be directed to [hpvm-dev@lists.cs.illinois.edu](mailto:hpvm-dev@lists.cs.illinois.edu). - -