## HPVM Repository Structure The current directory consists of the following sub-directories and files: - `benchmarks` : This directory contains the benchmarks for the HPVM compiler infrastructure. - `cmake`: Contains `cmake` related files which define additional variables needed to build `HPVM`. - `docs`: Contains the documentation for `HPVM` and its various sub-projects. We use `Sphinx` for generating the reference documentation. A deployed version of the documentation can be found at https://hpvm.readthedocs.io/en/latest/. - `include`: This directory contains the C++ headers for the `HPVM` compiler infrastructure. - `lib`: This directory contains the C++ source files for the `HPVM` compiler infrastructure. - `llvm_patches`: This directory contains the modified `LLVM` source files as well as a script to patch the corresponding source files in the `LLVM` source tree to enable building `HPVM`. - `projects`: This directory contains the various sub-projects within `HPVM` which make use of the core `HPVM` infrastructure. - `scripts`: Contains the script to build and install `HPVM` , and other utilities. - `test`: Contains the automated `llvm-lit` tests for the various transformation passes in `HPVM`. - `tools`: This directory contains the definition of various user-facing tools in `HPVM`. - `env.yaml`: Defines the `Python` dependencies needed to support the `HPVM` Tensor Extensions. - `install.sh`: Entry point script to build and install `HPVM`. - `set_paths.sh`: Defines the various environment variables needed to build `HPVM` as well as it's sub-projects. - `setup_environment.sh`: The script sets up the environment to use the `HPVM2FPGA` tool on Intel VLAB.