From 83a64b891edb075e4119cff2d176d854df198f3f Mon Sep 17 00:00:00 2001
From: Yifan Zhao <yifanz16@illinois.edu>
Date: Sat, 3 Apr 2021 16:44:00 -0500
Subject: [PATCH] Updated install procedure

---
 hpvm/docs/install.rst | 28 ++++++++++++++++++++--------
 1 file changed, 20 insertions(+), 8 deletions(-)

diff --git a/hpvm/docs/install.rst b/hpvm/docs/install.rst
index 1b6ad4c606..55879ee198 100644
--- a/hpvm/docs/install.rst
+++ b/hpvm/docs/install.rst
@@ -14,11 +14,23 @@ The following components are required to be installed on your machine to build H
 * CMake (>=3.17)
 * GNU Make (>=3.79)
 * OpenCL (>=1.0.0)
-* CUDA (>=9.1)
+* CUDA (>=9.0, <=10.2) with CUDNN 7
+  * CUDNN 7 is unsupported beyond CUDA 10.2 (starting from CUDA 11)
 * Python (==3.6) with pip (>=20)
+  * Python must be strictly 3.6 (any subversion from 3.6.0 to 3.6.13).
 
-Python must be strictly 3.6 (any subversion from 3.6.0 to 3.6.13).
-Alternatively, if you use Anaconda for package management,
+Python Environment
+^^^^^^^^^^^^^^^^^^
+
+It is strongly recommended to use some Python virtual environment,
+as HPVM will install a few Python packages during this installation process.
+
+* Some HPVM Python packages contains executables. If you don't use a virtual environment,
+  these executables are installed to your local ``bin`` directory, usually ``$HOME/.local/bin``.
+  Please ensure this directory is in your `$PATH` variable.
+  Below it is assumed that these executables are visible throught `$PATH`.
+
+If you use Anaconda for package management,
 we provide a conda environment file that covers all Python and package requirements
 (``hpvm/env.yaml`` can be found in the repository):
 
@@ -65,7 +77,7 @@ Checkout HPVM and go to directory ``./hpvm`` under project root:
 
 .. code-block:: shell
 
-   git clone --recursive -b approx_hpvm_reorg --single-branch https://gitlab.engr.illinois.edu/llvm/hpvm.git
+   git clone --recursive -b <current_branch_name> --single-branch https://gitlab.engr.illinois.edu/llvm/hpvm.git
    cd hpvm/
 
 If you have already cloned the repository without using ``--recursive``,
@@ -86,6 +98,10 @@ Use HPVM installer script to download, configure and build HPVM along with LLVM
   Alternatively, use ``./install.sh -h`` for a list of available arguments
   and pass arguments as required.
 
+* ``./install.sh`` supports Ninja, a substitute of Make that is considered to build faster
+  on many IO-bottlenecked devices.
+  Passing ``--ninja`` to the installer tells it to use Ninja instead of Make.
+
 * ``./install.sh`` can relay additional arguments to CMake, but the dash must be dropped
   regardless of using prompt or CLI arguments.
   For example, 
@@ -139,10 +155,6 @@ In current directory (``hpvm/``), do
    mkdir build
    cd build
    cmake ../llvm [options]
-   export PATH=$(realpath ./bin):$PATH
-
-**Note** that you must *manually add ``build/bin`` directory to your $PATH variable*
-as absolute path (as shown above).
 
 Some common options that can be used with CMake are:
 
-- 
GitLab