diff --git a/hpvm/projects/hpvm-tensor-rt/CMakeLists.txt b/hpvm/projects/hpvm-tensor-rt/CMakeLists.txt
index e53d6c4d3cb5caf47970b96d94667bbebbad4284..4c92c5534160221038f157ec274638f435e5f288 100644
--- a/hpvm/projects/hpvm-tensor-rt/CMakeLists.txt
+++ b/hpvm/projects/hpvm-tensor-rt/CMakeLists.txt
@@ -22,13 +22,7 @@ configure_file(
 )
 
 # -- Default include directories
-set(
-  INCLUDES
-  # Have to add these because of tensor_runtime.ll (see below)
-  ${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES} ${CUDNN_INCLUDE_PATH}
-  ./tensor_runtime/include ${CMAKE_CURRENT_BINARY_DIR}/tensor_runtime/include
-  ./dnn_sources/include  # TODO: remove this.
-)
+set(INCLUDES ./tensor_runtime/include ${CMAKE_CURRENT_BINARY_DIR}/tensor_runtime/include)
 
 # Build gpu_profiler and soc_simulator (dependencies)
 add_library(gpu_profiler SHARED gpu_profiler/profiler.cpp)
@@ -142,7 +136,7 @@ add_tensor_runtime(tensor_runtime_online -DONLINE_PROFILING=true -DFP16_tuning=f
 add_dependencies(tensor_runtime_online tensor_runtime)
 
 # Adding rule for the debugging source
-add_executable(unit_tests dnn_sources/src/unit_tests.cc)
+add_executable(unit_tests tests/unit_tests.cc)
 target_link_libraries(unit_tests tensor_runtime_online)
 
 # -- Compile tensor_runtime.ll if possible
@@ -167,7 +161,9 @@ endif()
 # If some clang-9 is found, create a tensor_runtime.ll from tensor_signatures.cc
 if(CLANG_NAME)
   message(STATUS "Creating tensor_runtime.ll in ${TENSOR_RT_LL_PREFIX}")
-  foreach(dir ${INCLUDES})
+  # Manually add cuda includes because add_custom_command doesn't handle them
+  # (unlike add_library which has CUDA-lang support).
+  foreach(dir ${INCLUDES} ${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES} ${CUDNN_INCLUDE_PATH})
     list(APPEND INCLUDE_COMPILER_STRINGS "-I${dir}")
   endforeach()
   add_custom_command(
@@ -177,59 +173,3 @@ if(CLANG_NAME)
     -o ${TENSOR_RT_LL_PREFIX}/tensor_runtime.ll
   )
 endif()
-
-
-#**************** FP32 TensorRT Source Builds *********** 
-
-add_executable(lenet_mnist_fp32 dnn_sources/src/fp32/lenet_mnist.cc)
-target_link_libraries(lenet_mnist_fp32 tensor_runtime_online)
-
-add_executable(alexnet_cifar10_fp32 dnn_sources/src/fp32/alexnet_cifar10.cc)
-target_link_libraries(alexnet_cifar10_fp32 tensor_runtime_online)
-
-add_executable(alexnet2_cifar10_fp32 dnn_sources/src/fp32/alexnet2_cifar10.cc)
-target_link_libraries(alexnet2_cifar10_fp32 tensor_runtime_online)
-
-add_executable(vgg16_cifar10_fp32 dnn_sources/src/fp32/vgg16_cifar10.cc)
-target_link_libraries(vgg16_cifar10_fp32 tensor_runtime_online)
-
-add_executable(resnet18_cifar10_fp32 dnn_sources/src/fp32/resnet18_cifar10.cc)
-target_link_libraries(resnet18_cifar10_fp32 tensor_runtime_online)
-
-add_executable(vgg16_cifar100_fp32 dnn_sources/src/fp32/vgg16_cifar100.cc)
-target_link_libraries(vgg16_cifar100_fp32 tensor_runtime_online)
-
-add_executable(mobilenet_cifar10_fp32 dnn_sources/src/fp32/mobilenet.cc)
-target_link_libraries(mobilenet_cifar10_fp32 tensor_runtime_online)
-
-add_executable(alexnet_imagenet_fp32 dnn_sources/src/fp32/alexnet_imagenet.cc)
-target_link_libraries(alexnet_imagenet_fp32 tensor_runtime_online)
-
-add_executable(vgg16_imagenet_fp32 dnn_sources/src/fp32/vgg16_imagenet.cc)
-target_link_libraries(vgg16_imagenet_fp32 tensor_runtime_online)
-
-add_executable(resnet50_imagenet_fp32 dnn_sources/src/fp32/resnet50_imagenet.cc)
-target_link_libraries(resnet50_imagenet_fp32 tensor_runtime_online)
-
-#********* FP16 TensorRT Source Builds ****** 
-
-add_executable(lenet_mnist_fp16 dnn_sources/src/fp16/lenet_mnist_half.cc)
-target_link_libraries(lenet_mnist_fp16 tensor_runtime_online)
-
-add_executable(alexnet_cifar10_fp16 dnn_sources/src/fp16/alexnet_cifar10_half.cc)
-target_link_libraries(alexnet_cifar10_fp16 tensor_runtime_online)
-
-add_executable(alexnet2_cifar10_fp16 dnn_sources/src/fp16/alexnet2_cifar10_half.cc)
-target_link_libraries(alexnet2_cifar10_fp16 tensor_runtime_online)
-
-add_executable(resnet18_cifar10_fp16 dnn_sources/src/fp16/resnet18_cifar10_half.cc)
-target_link_libraries(resnet18_cifar10_fp16 tensor_runtime_online)
-
-add_executable(vgg16_cifar10_fp16 dnn_sources/src/fp16/vgg16_cifar10_half.cc)
-target_link_libraries(vgg16_cifar10_fp16 tensor_runtime_online)
-
-add_executable(vgg16_cifar100_fp16 dnn_sources/src/fp16/vgg16_cifar100_half.cc)
-target_link_libraries(vgg16_cifar100_fp16 tensor_runtime_online)
-
-add_executable(mobilenet_cifar10_fp16 dnn_sources/src/fp16/mobilenet_half.cc)
-target_link_libraries(mobilenet_cifar10_fp16 tensor_runtime_online)
diff --git a/hpvm/projects/hpvm-tensor-rt/dnn_sources/src/unit_tests.cc b/hpvm/projects/hpvm-tensor-rt/tests/unit_tests.cc
similarity index 99%
rename from hpvm/projects/hpvm-tensor-rt/dnn_sources/src/unit_tests.cc
rename to hpvm/projects/hpvm-tensor-rt/tests/unit_tests.cc
index 746f62bce19b25c3b74bec4908cdc3c87bee034a..ffb4c3a809b3e936f6c27ebd7c11aef5c4460104 100644
--- a/hpvm/projects/hpvm-tensor-rt/dnn_sources/src/unit_tests.cc
+++ b/hpvm/projects/hpvm-tensor-rt/tests/unit_tests.cc
@@ -6,7 +6,7 @@
 #include <string.h>
 #include "tensor_runtime.h"
 #include "tensor_cpu_runtime.h"
-#include "utils.h"
+#include "tensorUtils.h"
 #include "tensor_custom_ops_cpu.h"
 
 using namespace std;
diff --git a/hpvm/test/CMakeLists.txt b/hpvm/test/CMakeLists.txt
index 660003538fe72d45e3dbfc1178fd296cdc7156b5..cb548b84dc9944e54c7dfdd0a0d74cf0aed9aafd 100644
--- a/hpvm/test/CMakeLists.txt
+++ b/hpvm/test/CMakeLists.txt
@@ -1,4 +1,5 @@
 include(../cmake/TestFile.cmake)  # Generation of `.test` files in CMake
 add_subdirectory(hpvm_pass)  # Passes test suite
-add_subdirectory(dnn_benchmarks/hpvm-c)  # DNN accuracy test suite
+add_subdirectory(dnn_benchmarks/hpvm-c)  # HPVM-C DNN accuracy test suite
+add_subdirectory(dnn_benchmarks/tensor-rt-src)  # tensor_runtime DNN (build only, no tests)
 add_subdirectory(dnn_benchmarks/profiling)  # hpvm-profiler test suite
diff --git a/hpvm/test/dnn_benchmarks/hpvm-c/CMakeLists.txt b/hpvm/test/dnn_benchmarks/hpvm-c/CMakeLists.txt
index 033023b76102920bbefe99eadacf59e19697758d..6664827014d40c8a101f0aa30499228345edc460 100644
--- a/hpvm/test/dnn_benchmarks/hpvm-c/CMakeLists.txt
+++ b/hpvm/test/dnn_benchmarks/hpvm-c/CMakeLists.txt
@@ -49,7 +49,6 @@ endforeach(dir)
 
 # Install an accuracy comparator under build/bin for test suite.
 set(BIN_DIR ${LLVM_BINARY_DIR}/${LLVM_TOOLS_INSTALL_DIR})
-message("BIN_DIR = ${BIN_DIR}")
 add_custom_command(
   OUTPUT ${BIN_DIR}/check_dnn_acc.py
   COMMAND cp ${CMAKE_CURRENT_SOURCE_DIR}/check_dnn_acc.py ${BIN_DIR}
diff --git a/hpvm/test/dnn_benchmarks/tensor-rt-src/CMakeLists.txt b/hpvm/test/dnn_benchmarks/tensor-rt-src/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6e22eba67471855971005bf9e57ed0aa38dafff8
--- /dev/null
+++ b/hpvm/test/dnn_benchmarks/tensor-rt-src/CMakeLists.txt
@@ -0,0 +1,40 @@
+#**************** FP32 and FP16 TensorRT Source Builds *********** 
+# Don't put binaries in build/bin. This doesn't affect global setting.
+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
+
+set(MODEL_PARAMS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../model_params/")
+set(test_compile_targets "")
+function(add_trt_source target_name filepath)
+  set(generated_file_path "${CMAKE_CURRENT_BINARY_DIR}/${target_name}.cpp")
+  configure_file(${filepath} ${generated_file_path})
+  add_executable(${target_name} ${generated_file_path})
+  target_link_libraries(${target_name} tensor_runtime_online)
+  set(test_compile_targets ${test_compile_targets} ${target_name} PARENT_SCOPE)
+endfunction(add_trt_source)
+
+set(
+  DNN_NAMES
+  alexnet_cifar10
+  alexnet2_cifar10
+  vgg16_cifar10
+  resnet18_cifar10
+  vgg16_cifar100
+  mobilenet_cifar10
+  alexnet_imagenet
+  vgg16_imagenet
+  resnet50_imagenet
+)
+foreach(dnn_name ${DNN_NAMES})
+  # FP32 version
+  if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/fp32/${dnn_name}.cc")
+    add_trt_source(${dnn_name}_fp32 "${CMAKE_CURRENT_SOURCE_DIR}/fp32/${dnn_name}.cc")
+  endif()
+  # FP16 version
+  if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/fp16/${dnn_name}_half.cc")
+    add_trt_source(${dnn_name}_fp16 "${CMAKE_CURRENT_SOURCE_DIR}/fp16/${dnn_name}_half.cc")
+  endif()
+endforeach()
+
+message(STATUS "List of tensor_runtime DNN benchmarks: ${test_compile_targets}")
+add_custom_target(trt_dnn_benchmarks DEPENDS ${test_compile_targets})
+message(STATUS "Target name for compiling all DNN benchmarks: trt_dnn_benchmarks")
diff --git a/hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp16/alexnet2_cifar10_half.cc b/hpvm/test/dnn_benchmarks/tensor-rt-src/fp16/alexnet2_cifar10_half.cc
similarity index 97%
rename from hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp16/alexnet2_cifar10_half.cc
rename to hpvm/test/dnn_benchmarks/tensor-rt-src/fp16/alexnet2_cifar10_half.cc
index 206b4beed7ecfd74000e63a1db2b1f24d9bbb73d..ab80718fd33d0b9787be4a0f183e3a7a65dc76e7 100644
--- a/hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp16/alexnet2_cifar10_half.cc
+++ b/hpvm/test/dnn_benchmarks/tensor-rt-src/fp16/alexnet2_cifar10_half.cc
@@ -10,8 +10,7 @@ void testCifarNet() {
   printf("********* Alexnet2 CIFAR-10 DNN ********** \n");
 
   std::string dir_prefix =
-      model_params_path + std::string("/alexnet2_cifar10/");
-  std::string input_path = dir_prefix + std::string("test_input.bin");
+      std::string("@MODEL_PARAMS_DIR@") + "/alexnet2_cifar10/";  std::string input_path = dir_prefix + std::string("test_input.bin");
   std::string labels_path = dir_prefix + std::string("test_labels.bin");
 
   std::string conv2d_1_w_path = dir_prefix + std::string("conv2d_1_w.bin");
diff --git a/hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp16/alexnet_cifar10_half.cc b/hpvm/test/dnn_benchmarks/tensor-rt-src/fp16/alexnet_cifar10_half.cc
similarity index 98%
rename from hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp16/alexnet_cifar10_half.cc
rename to hpvm/test/dnn_benchmarks/tensor-rt-src/fp16/alexnet_cifar10_half.cc
index eaf666b37421f4a30899fa1f31557d42cd5a3ebd..b3b69d6b695eca9286b90685f3e071e234887d27 100644
--- a/hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp16/alexnet_cifar10_half.cc
+++ b/hpvm/test/dnn_benchmarks/tensor-rt-src/fp16/alexnet_cifar10_half.cc
@@ -8,7 +8,7 @@ int main() {
 
   llvm_hpvm_initTensorRt(0);
 
-  std::string dir_prefix = model_params_path + std::string("/alexnet_cifar10/");
+  std::string dir_prefix = std::string("@MODEL_PARAMS_DIR@") + "/alexnet_cifar10/";
 
   std::string input_path = dir_prefix + std::string("test_input.bin");
   std::string labels_path = dir_prefix + std::string("test_labels.bin");
diff --git a/hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp16/lenet_mnist_half.cc b/hpvm/test/dnn_benchmarks/tensor-rt-src/fp16/lenet_mnist_half.cc
similarity index 97%
rename from hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp16/lenet_mnist_half.cc
rename to hpvm/test/dnn_benchmarks/tensor-rt-src/fp16/lenet_mnist_half.cc
index 9fcc382aed1f5fc05ee64529b7b56a3b4ec1dd52..44b78b9169707fd6c7b9ff6503a4a9aa8d2ec947 100644
--- a/hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp16/lenet_mnist_half.cc
+++ b/hpvm/test/dnn_benchmarks/tensor-rt-src/fp16/lenet_mnist_half.cc
@@ -12,7 +12,7 @@ void testLenetTanh() {
 
   int test_batch_size = 5000;
 
-  std::string dir_prefix = model_params_path + std::string("/lenet_mnist/");
+  std::string dir_prefix = std::string("@MODEL_PARAMS_DIR@") + "/lenet_mnist/";
 
   std::string input_path = dir_prefix + std::string("test_input.bin");
   std::string labels_path = dir_prefix + std::string("test_labels.bin");
diff --git a/hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp16/mobilenet_half.cc b/hpvm/test/dnn_benchmarks/tensor-rt-src/fp16/mobilenet_cifar10_half.cc
similarity index 99%
rename from hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp16/mobilenet_half.cc
rename to hpvm/test/dnn_benchmarks/tensor-rt-src/fp16/mobilenet_cifar10_half.cc
index 7857f210f92c2f3f49558a01a574d72877dd0ded..d4423bf4345756e72ad46b140ae8cafc26eae264 100644
--- a/hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp16/mobilenet_half.cc
+++ b/hpvm/test/dnn_benchmarks/tensor-rt-src/fp16/mobilenet_cifar10_half.cc
@@ -9,8 +9,7 @@ int main() {
   llvm_hpvm_initTensorRt(0);
 
   std::string dir_prefix =
-      model_params_path + std::string("/mobilenet_cifar10/");
-
+      std::string("@MODEL_PARAMS_DIR@") + "/mobilenet_cifar10/";
   std::string input_path = dir_prefix + std::string("test_input.bin");
   std::string labels_path = dir_prefix + std::string("test_labels.bin");
 
diff --git a/hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp16/resnet18_cifar10_half.cc b/hpvm/test/dnn_benchmarks/tensor-rt-src/fp16/resnet18_cifar10_half.cc
similarity index 99%
rename from hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp16/resnet18_cifar10_half.cc
rename to hpvm/test/dnn_benchmarks/tensor-rt-src/fp16/resnet18_cifar10_half.cc
index 40745c9986b04b9b29a26d950687621d4e3b400a..76dea5ef08713d22fe7086b678bb3274378d0fd9 100644
--- a/hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp16/resnet18_cifar10_half.cc
+++ b/hpvm/test/dnn_benchmarks/tensor-rt-src/fp16/resnet18_cifar10_half.cc
@@ -9,8 +9,7 @@ int main() {
   llvm_hpvm_initTensorRt(0);
 
   std::string dir_prefix =
-      model_params_path + std::string("/resnet18_cifar10/");
-
+      std::string("@MODEL_PARAMS_DIR@") + "/resnet18_cifar10/";
   std::string input_path = dir_prefix + std::string("test_input.bin");
 
   std::string labels_path = dir_prefix + std::string("test_labels.bin");
diff --git a/hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp16/vgg16_cifar100_half.cc b/hpvm/test/dnn_benchmarks/tensor-rt-src/fp16/vgg16_cifar100_half.cc
similarity index 99%
rename from hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp16/vgg16_cifar100_half.cc
rename to hpvm/test/dnn_benchmarks/tensor-rt-src/fp16/vgg16_cifar100_half.cc
index de5657f63d7ea8b793398bb3df97cc6683562dfe..2772fd3da42d50aa2ff5391d1e3c85c610a4960a 100644
--- a/hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp16/vgg16_cifar100_half.cc
+++ b/hpvm/test/dnn_benchmarks/tensor-rt-src/fp16/vgg16_cifar100_half.cc
@@ -8,7 +8,7 @@ int main() {
 
   llvm_hpvm_initTensorRt(0);
 
-  std::string dir_prefix = model_params_path + std::string("/vgg16_cifar100/");
+  std::string dir_prefix = std::string("@MODEL_PARAMS_DIR@") + "/vgg16_cifar100/";
 
   std::string input_path = dir_prefix + std::string("test_input.bin");
   std::string labels_path = dir_prefix + std::string("test_labels.bin");
diff --git a/hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp16/vgg16_cifar10_half.cc b/hpvm/test/dnn_benchmarks/tensor-rt-src/fp16/vgg16_cifar10_half.cc
similarity index 99%
rename from hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp16/vgg16_cifar10_half.cc
rename to hpvm/test/dnn_benchmarks/tensor-rt-src/fp16/vgg16_cifar10_half.cc
index 7b4318c895d8857f4bd2b473c7906b114673f430..954f6778b899d2cefb2b28d68a32fad33d52f70c 100644
--- a/hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp16/vgg16_cifar10_half.cc
+++ b/hpvm/test/dnn_benchmarks/tensor-rt-src/fp16/vgg16_cifar10_half.cc
@@ -8,7 +8,7 @@ int main() {
 
   llvm_hpvm_initTensorRt(0);
 
-  std::string dir_prefix = model_params_path + std::string("/vgg16_cifar10/");
+  std::string dir_prefix = std::string("@MODEL_PARAMS_DIR@") + "/vgg16_cifar10/";
   std::string input_path = dir_prefix + std::string("test_input.bin");
   std::string labels_path = dir_prefix + std::string("test_labels.bin");
   std::string conv2d_1_w_path = dir_prefix + std::string("conv2d_1_w.bin");
diff --git a/hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp32/alexnet2_cifar10.cc b/hpvm/test/dnn_benchmarks/tensor-rt-src/fp32/alexnet2_cifar10.cc
similarity index 97%
rename from hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp32/alexnet2_cifar10.cc
rename to hpvm/test/dnn_benchmarks/tensor-rt-src/fp32/alexnet2_cifar10.cc
index b69596f8f52632c576fa9a3d4c240fc1b28da0a9..e7431234d705449efa0fc5aafe23238e89be1d30 100644
--- a/hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp32/alexnet2_cifar10.cc
+++ b/hpvm/test/dnn_benchmarks/tensor-rt-src/fp32/alexnet2_cifar10.cc
@@ -10,8 +10,7 @@ void testCifarNet() {
   printf("********* Alexnet2 CIFAR-10 DNN ********** \n");
 
   std::string dir_prefix =
-      model_params_path + std::string("/alexnet2_cifar10/");
-  std::string input_path = dir_prefix + std::string("test_input.bin");
+      std::string("@MODEL_PARAMS_DIR@") + "/alexnet2_cifar10/";  std::string input_path = dir_prefix + std::string("test_input.bin");
   std::string labels_path = dir_prefix + std::string("test_labels.bin");
 
   std::string conv2d_1_w_path = dir_prefix + std::string("conv2d_1_w.bin");
diff --git a/hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp32/alexnet_cifar10.cc b/hpvm/test/dnn_benchmarks/tensor-rt-src/fp32/alexnet_cifar10.cc
similarity index 98%
rename from hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp32/alexnet_cifar10.cc
rename to hpvm/test/dnn_benchmarks/tensor-rt-src/fp32/alexnet_cifar10.cc
index 2283448bc3c46d75117e14214cc39f4456659d46..12c304c9b401c586a0da4658b092f2b791268983 100644
--- a/hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp32/alexnet_cifar10.cc
+++ b/hpvm/test/dnn_benchmarks/tensor-rt-src/fp32/alexnet_cifar10.cc
@@ -8,7 +8,7 @@ int main() {
 
   llvm_hpvm_initTensorRt(0);
 
-  std::string dir_prefix = model_params_path + std::string("/alexnet_cifar10/");
+  std::string dir_prefix = std::string("@MODEL_PARAMS_DIR@") + "/alexnet_cifar10/";
 
   std::string input_path = dir_prefix + std::string("test_input.bin");
   // std::string labels_path = dir_prefix + std::string("labels.bin");
diff --git a/hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp32/alexnet_imagenet.cc b/hpvm/test/dnn_benchmarks/tensor-rt-src/fp32/alexnet_imagenet.cc
similarity index 98%
rename from hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp32/alexnet_imagenet.cc
rename to hpvm/test/dnn_benchmarks/tensor-rt-src/fp32/alexnet_imagenet.cc
index cb01f8ba3da3d1f4a8206d9387ecb19fe85ee515..b57e60c0fef41b283ad57a7b203759a8f014252d 100644
--- a/hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp32/alexnet_imagenet.cc
+++ b/hpvm/test/dnn_benchmarks/tensor-rt-src/fp32/alexnet_imagenet.cc
@@ -9,8 +9,7 @@ int main() {
   llvm_hpvm_initTensorRt(0);
 
   std::string dir_prefix =
-      model_params_path + std::string("/alexnet_imagenet/");
-
+      std::string("@MODEL_PARAMS_DIR@") + "/alexnet_imagenet/";
   std::string input_path = dir_prefix + std::string("test_input.bin");
   std::string labels_path = dir_prefix + std::string("test_labels.bin");
   std::string conv2d_1_w_path = dir_prefix + std::string("conv2d_1_w.bin");
diff --git a/hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp32/lenet_mnist.cc b/hpvm/test/dnn_benchmarks/tensor-rt-src/fp32/lenet_mnist.cc
similarity index 97%
rename from hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp32/lenet_mnist.cc
rename to hpvm/test/dnn_benchmarks/tensor-rt-src/fp32/lenet_mnist.cc
index 2294c34df1444ea1c2e266ab511ecc46ed029095..9777670722b69c8b23a82a77312d17386f2d5c3f 100644
--- a/hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp32/lenet_mnist.cc
+++ b/hpvm/test/dnn_benchmarks/tensor-rt-src/fp32/lenet_mnist.cc
@@ -11,7 +11,7 @@ void testLenetTanh() {
 
   int test_batch_size = 5000;
 
-  std::string dir_prefix = model_params_path + std::string("/lenet_mnist/");
+  std::string dir_prefix = std::string("@MODEL_PARAMS_DIR@") + "/lenet_mnist/";
 
   std::string input_path = dir_prefix + std::string("test_input.bin");
   std::string labels_path = dir_prefix + std::string("test_labels.bin");
diff --git a/hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp32/mobilenet.cc b/hpvm/test/dnn_benchmarks/tensor-rt-src/fp32/mobilenet_cifar10.cc
similarity index 99%
rename from hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp32/mobilenet.cc
rename to hpvm/test/dnn_benchmarks/tensor-rt-src/fp32/mobilenet_cifar10.cc
index 23a738ef132d9e0f63911ca32b569e22c57ba3f3..3e37bf7feb6641af3afdeb8fb9f3a65fdfcbdce3 100644
--- a/hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp32/mobilenet.cc
+++ b/hpvm/test/dnn_benchmarks/tensor-rt-src/fp32/mobilenet_cifar10.cc
@@ -8,8 +8,7 @@ int main() {
   llvm_hpvm_initTensorRt(0);
 
   std::string dir_prefix =
-      model_params_path + std::string("/mobilenet_cifar10/");
-  std::string input_path = dir_prefix + std::string("test_input.bin");
+      std::string("@MODEL_PARAMS_DIR@") + "/mobilenet_cifar10/";  std::string input_path = dir_prefix + std::string("test_input.bin");
   std::string labels_path = dir_prefix + std::string("test_labels.bin");
   std::string conv2d_1_w_path = dir_prefix + std::string("conv2d_1_w.bin");
   void *conv2d_1_w =
diff --git a/hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp32/resnet18_cifar10.cc b/hpvm/test/dnn_benchmarks/tensor-rt-src/fp32/resnet18_cifar10.cc
similarity index 99%
rename from hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp32/resnet18_cifar10.cc
rename to hpvm/test/dnn_benchmarks/tensor-rt-src/fp32/resnet18_cifar10.cc
index fffb02c605a2047b5a4040aceda72b623ca5f16d..c8a99419a81d19b374642c21c977a511413f9ae2 100644
--- a/hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp32/resnet18_cifar10.cc
+++ b/hpvm/test/dnn_benchmarks/tensor-rt-src/fp32/resnet18_cifar10.cc
@@ -9,8 +9,7 @@ int main() {
   llvm_hpvm_initTensorRt(0);
 
   std::string dir_prefix =
-      model_params_path + std::string("/resnet18_cifar10/");
-
+      std::string("@MODEL_PARAMS_DIR@") + "/resnet18_cifar10/";
   std::string input_path = dir_prefix + std::string("test_input.bin");
 
   std::string labels_path = dir_prefix + std::string("test_labels.bin");
diff --git a/hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp32/resnet50_imagenet.cc b/hpvm/test/dnn_benchmarks/tensor-rt-src/fp32/resnet50_imagenet.cc
similarity index 99%
rename from hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp32/resnet50_imagenet.cc
rename to hpvm/test/dnn_benchmarks/tensor-rt-src/fp32/resnet50_imagenet.cc
index 110acf5c89f8838d951e53c9db9af68b964d2196..3aeabc22736e6955a9ad5ad07144fc38057616ea 100644
--- a/hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp32/resnet50_imagenet.cc
+++ b/hpvm/test/dnn_benchmarks/tensor-rt-src/fp32/resnet50_imagenet.cc
@@ -9,8 +9,7 @@ int main() {
   llvm_hpvm_initTensorRt(0);
 
   std::string dir_prefix =
-      model_params_path + std::string("/resnet50_imagenet/");
-
+      std::string("@MODEL_PARAMS_DIR@") + "/resnet50_imagenet/";
   std::string input_path = dir_prefix + std::string("test_input.bin");
   std::string labels_path = dir_prefix + std::string("test_labels.bin");
   std::string conv2d_1_w_path = dir_prefix + std::string("conv2d_1_w.bin");
diff --git a/hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp32/vgg16_cifar10.cc b/hpvm/test/dnn_benchmarks/tensor-rt-src/fp32/vgg16_cifar10.cc
similarity index 99%
rename from hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp32/vgg16_cifar10.cc
rename to hpvm/test/dnn_benchmarks/tensor-rt-src/fp32/vgg16_cifar10.cc
index 1d2602ab287f19d99b1d1d189b31986f92f145e6..f7fffadfc36ba0fd248371efb35a1b7dfede68d3 100644
--- a/hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp32/vgg16_cifar10.cc
+++ b/hpvm/test/dnn_benchmarks/tensor-rt-src/fp32/vgg16_cifar10.cc
@@ -7,7 +7,7 @@ int main() {
 
   llvm_hpvm_initTensorRt(0);
 
-  std::string dir_prefix = model_params_path + std::string("/vgg16_cifar10/");
+  std::string dir_prefix = std::string("@MODEL_PARAMS_DIR@") + "/vgg16_cifar10/";
   std::string input_path = dir_prefix + std::string("test_input.bin");
   std::string labels_path = dir_prefix + std::string("test_labels.bin");
   std::string conv2d_1_w_path = dir_prefix + std::string("conv2d_1_w.bin");
diff --git a/hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp32/vgg16_cifar100.cc b/hpvm/test/dnn_benchmarks/tensor-rt-src/fp32/vgg16_cifar100.cc
similarity index 99%
rename from hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp32/vgg16_cifar100.cc
rename to hpvm/test/dnn_benchmarks/tensor-rt-src/fp32/vgg16_cifar100.cc
index 85fe400f7ef9a8df72c1a170f2149ec019db9ff9..d3949c7cc568063f3b344d8497551fa1f4f4102c 100644
--- a/hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp32/vgg16_cifar100.cc
+++ b/hpvm/test/dnn_benchmarks/tensor-rt-src/fp32/vgg16_cifar100.cc
@@ -8,7 +8,7 @@ int main() {
 
   llvm_hpvm_initTensorRt(0);
 
-  std::string dir_prefix = model_params_path + std::string("/vgg16_cifar100/");
+  std::string dir_prefix = std::string("@MODEL_PARAMS_DIR@") + "/vgg16_cifar100/";
   std::string input_path = dir_prefix + std::string("test_input.bin");
   std::string labels_path = dir_prefix + std::string("test_labels.bin");
 
diff --git a/hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp32/vgg16_imagenet.cc b/hpvm/test/dnn_benchmarks/tensor-rt-src/fp32/vgg16_imagenet.cc
similarity index 99%
rename from hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp32/vgg16_imagenet.cc
rename to hpvm/test/dnn_benchmarks/tensor-rt-src/fp32/vgg16_imagenet.cc
index 4ab8707a0d5da7057f39e5cd8cbbbfa0d63d9abe..2bb1be2821a8d33062bf1cfd83bb978f59884fa9 100644
--- a/hpvm/projects/hpvm-tensor-rt/dnn_sources/src/fp32/vgg16_imagenet.cc
+++ b/hpvm/test/dnn_benchmarks/tensor-rt-src/fp32/vgg16_imagenet.cc
@@ -8,7 +8,7 @@ int main() {
 
   llvm_hpvm_initTensorRt(0);
 
-  std::string dir_prefix = model_params_path + std::string("/vgg16_imagenet/");
+  std::string dir_prefix = std::string("@MODEL_PARAMS_DIR@") + "/vgg16_imagenet/";
 
   std::string input_path = dir_prefix + std::string("test_input.bin");
   std::string labels_path = dir_prefix + std::string("test_labels.bin");