Skip to content
Snippets Groups Projects
Commit 13cea338 authored by Yifan Zhao's avatar Yifan Zhao
Browse files

Updated README and version req in CMake

parent f7eed34c
No related branches found
No related tags found
No related merge requests found
cmake_minimum_required(VERSION 3.17) cmake_minimum_required(VERSION 3.17)
project(hpvm-tensor-rt) project(hpvm-tensor-rt)
find_package(CUDA 6.5 REQUIRED) find_package(CUDA 9.1 REQUIRED)
set(CUDA_SEPARABLE_COMPILATION ON CACHE BOOL "") set(CUDA_SEPARABLE_COMPILATION ON CACHE BOOL "")
set(CUDA_PROPAGATE_HOST_FLAGS OFF) set(CUDA_PROPAGATE_HOST_FLAGS OFF)
......
# AppproxHPVM Tensor Runtime # ApproxHPVM Tensor Runtime
## Dependencies ## Getting Started
* CUDNN-7.0 or above ### Dependencies
* CUDA-9.1 or above
* CUBLAS-9.1 or above - included with cuda-toolkit
## Dependent Library Builds - CUDA-9.1 or above
- Your device must have a CUDA-enabled nVidia GPU
- CUBLAS-9.1 or above - included with CUDA by default
```shell - cuDNN-7.0 or above
cd ../gpu_profiler
mkdir lib
cmake ../
make
cd ../soc_simulator - `cmake >= 3.17`
mkdir lib
cmake ../ - `make >= 4`
make
``` - `gcc < 8` or `3.2 <= clang < 9`
- We have an upperbound for compiler version because CUDA doesn't support too recent compilers
### Building the Tensor Runtime
## BUILD The following commands will compile the tensor runtime library (`build/libtensor_runtime.a`)
as well as a number of exemplary benchmarks (DNN models):
```shell ```shell
source bin/setup_cuda_paths.sh mkdir build && cd build
mkdir build
cd build
cmake ../ cmake ../
make make -j
``` ```
### Tensor Runtime APIs
## Directory Structure - `tensor_runtime/include/tensor_runtime.h` declares all the functions available in the runtime.
* ./tensor_runtime: TODO: the tensor runtime is generally under-documented at the time.
* ./tensor_runtime/include/: Include files for Tensor Runtime More documentation will be added in the first public release.
* ./tensor_runtime/include/tensor_signatures.cc: Include file with Tensor RT signatures
* NOTE: UPDATE this with updated API - For examples of using `tensor_runtime` functions, see `dnn_sources/src/alexnet_cifar10.cc`.
* ./tensor_runtime/src/: HPVM TensorRT sources - Also, try running `build/alexnet_cifar10` which is compiled from that file and runnable out of the box.
* ./dnn_sources: ## Developer Notes
* ./dnn_sources/src/${BENCH}.cc: Per Bench FULL-precision source
* ./dnn_sources/src/half/${BENCH}.cc: Per Bench HALF-precision source ### Directory Structure
* ./dnn_sources/src/promise/${BENCH}.cc: Per Bench Layer-API source
- ./tensor_runtime:
* ./lib: - ./tensor_runtime/include/: Include files for Tensor Runtime
* ./lib/tensor_runtime.ll - ./tensor_runtime/include/tensor_signatures.cc: Include file with Tensor RT signatures
* NOTE: generated from ./tensor_runtime/include/tensor_signatures.cc - NOTE: UPDATE this with updated API
* ./lib/libtensor_runtime.a - ./tensor_runtime/src/: HPVM TensorRT sources
* NOTE: Linked against HPVM benchmarks
* ./lib/libtensor_autotuner.a
* NOTE: error-injection library linked with benchmarks
* ./bin:
* ./bin/install_runtime.sh: Script for moving Tensor RT files to ./lib
* ./bin/run_autotuner.py: Python script for running Autotuner experiments
* ./bin/setup_tyler_paths.sh: Tyler-specific path setup for Tensor RT
* ./bin/setup_jetson.sh: Jetson board specific path setup for Tensor RT
* ./bin/setup_cuda_paths.sh: Place-holder script for setting CUDA paths
* ./bin/swing_selection.py: Script for hardware mapping
* NOTE: Includes the L2,L1 norm mapping to hardware knobs
* ./opentuner:
* ./opentuner/autotuner/: Autotuner scripts
* ./opentuner/autotuner/approxhpvm_tuner.py: Tuner script for ApproxHPVM binaries
* ./opentuner/autotuner/promise_tuner.py: Tuner script for tuning PROMISE voltage levels
- ./dnn_sources:
- ./dnn_sources/src/${BENCH}.cc: Per Bench FULL-precision source
- ./dnn_sources/src/half/${BENCH}.cc: Per Bench HALF-precision source
- ./dnn_sources/src/promise/${BENCH}.cc: Per Bench Layer-API source
- ./bin:
- ./bin/install_runtime.sh: Script for moving Tensor RT files to ./lib
- ./bin/run_autotuner.py: Python script for running Autotuner experiments
- ./bin/setup_tyler_paths.sh: Tyler-specific path setup for Tensor RT
- ./bin/setup_jetson.sh: Jetson board specific path setup for Tensor RT
- ./bin/setup_cuda_paths.sh: Place-holder script for setting CUDA paths
- ./bin/swing_selection.py: Script for hardware mapping
- NOTE: Includes the L2,L1 norm mapping to hardware knobs
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment