diff --git a/hpvm/projects/hpvm-tensor-rt/README.md b/hpvm/projects/hpvm-tensor-rt/README.md index fe3b01feb3c61e65460c74557666ad4f67133c75..df92f0c1995e627bbe20f6672bf1e7c6b4d92e18 100644 --- a/hpvm/projects/hpvm-tensor-rt/README.md +++ b/hpvm/projects/hpvm-tensor-rt/README.md @@ -10,7 +10,7 @@ ## Building Tensor Runtime Tensor Runtime and the DNN sources using the Tensor runtime are built with the unified HPVM build system. These -can also be separately built. HPVM Tensor Runtime can be built as: +can also be separately built. HPVM Tensor Runtime can be built under the `build` directory as: ``` make -j ${NUM_THREADS} tensor_runtime @@ -18,17 +18,34 @@ make -j ${NUM_THREADS} tensor_runtime The tensor runtime is built as a static library under `build/lib/liibtensor_runtime.a` +### TensorRT DNN Benchmarks -## Tensor Runtime APIs +To assist development of tensor-based programs using only the tensor runtime, we include +sources under `dnn_sources` that directly invoke the HPVM Tensor Runtime API calls for tensor operations, e.g., convolution, matrix multiplication, +add, relu, among others. +Each benchmark can be build under your `build` directory as: -- For examples of using `tensor_runtime` functions, see `dnn_sources/src/alexnet_cifar10.cc`. - - Also, try running `build/alexnet_cifar10` which is compiled from that file and runnable out of the box. - - -## Directory Structure - -- `tensor_runtime`: - -- `dnn_sources`: +``` +make -j ${NUM_THREADS} ${BENCHMARK} +``` + +Currently, 17 Benchmarks included: + +| | | +|------------------------|------------------------| +| lenet_mnist_fp32 | lenet_mnist_fp16 | +| alexnet_cifar10_fp32 | alexnet_cifar10_fp16 | +| alexnet2_cifar10_fp32 | alexnet2_cifar10_fp16 | +| vgg16_cifar10_fp32 | vgg16_cifar10_fp16 | +| vgg16_cifar100_fp32 | vgg16_cifar100_fp16 | +| mobilenet_cifar10_fp32 | mobilenet_cifar10_fp16 | +| resnet18_cifar10_fp32 | resnet18_cifar10_fp16 | +| alexnet_imagenet_fp32 | | +| vgg16_imagenet_fp32 | | +| resnet50_imagenet_fp32 | | + +`_fp32` suffix denotes fp32 binaries - these use the FP32 API calls + +`_fp_16` suffix denotes fp16 binaries - these use FP16 (half precision) calls.