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
: Containscmake
related files which define additional variables needed to buildHPVM
. -
docs
: Contains the documentation forHPVM
and its various sub-projects. We useSphinx
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 theHPVM
compiler infrastructure. -
lib
: This directory contains the C++ source files for theHPVM
compiler infrastructure. -
llvm_patches
: This directory contains the modifiedLLVM
source files as well as a script to patch the corresponding source files in theLLVM
source tree to enable buildingHPVM
. -
projects
: This directory contains the various sub-projects withinHPVM
which make use of the coreHPVM
infrastructure. -
scripts
: Contains the script to build and installHPVM
, and other utilities. -
test
: Contains the automatedllvm-lit
tests for the various transformation passes inHPVM
. -
tools
: This directory contains the definition of various user-facing tools inHPVM
. -
env.yaml
: Defines thePython
dependencies needed to support theHPVM
Tensor Extensions. -
install.sh
: Entry point script to build and installHPVM
. -
set_paths.sh
: Defines the various environment variables needed to buildHPVM
as well as it's sub-projects. -
setup_environment.sh
: The script sets up the environment to use theHPVM2FPGA
tool on Intel VLAB.