diff --git a/hpvm/test/dnn_benchmarks/benchmarks/alexnet/alexnet.cpp b/hpvm/test/dnn_benchmarks/benchmarks/alexnet/alexnet.cpp
index e2810e171df7d743fe8c3e69af9be9ef82307627..8202cbccfeefdde16e466c7d741e7f63a86b192a 100644
--- a/hpvm/test/dnn_benchmarks/benchmarks/alexnet/alexnet.cpp
+++ b/hpvm/test/dnn_benchmarks/benchmarks/alexnet/alexnet.cpp
@@ -8,6 +8,7 @@
 #include <hpvm.h>
 #include <tensorTypes.h>
 #include <tensorUtils.h>
+#include <config.h>
 
 void var_0_node(void *t1, size_t bytes_t1, void *t2, size_t bytes_t2) {
   __hpvm__hint(hpvm::CUDNN_TARGET);
@@ -364,8 +365,7 @@ typedef struct __attribute__((__packed__)) {
 
 int main() {
 
-  std::string dir_prefix = std::string(
-      "../../../../../projects/hpvm-tensor-rt/model_params/alexnet_cifar10/");
+  std::string dir_prefix = std::string(MODEL_PARAMS_DIR) + "/alexnet_cifar10/";
 
   std::string input_path = dir_prefix + std::string("input.bin");
   void *input = readTrainedWeights(input_path.c_str(), 0, 5000, 3, 32, 32);
diff --git a/hpvm/test/dnn_benchmarks/benchmarks/alexnet/alexnet_loop.cpp b/hpvm/test/dnn_benchmarks/benchmarks/alexnet/alexnet_loop.cpp
index a625b4903f9b5b96dfeb614a69254102a463a0bd..5a8b87eb5a64fcb0c13d1b394dae050b23a65974 100644
--- a/hpvm/test/dnn_benchmarks/benchmarks/alexnet/alexnet_loop.cpp
+++ b/hpvm/test/dnn_benchmarks/benchmarks/alexnet/alexnet_loop.cpp
@@ -8,6 +8,7 @@
 #include <hpvm.h>
 #include <tensorTypes.h>
 #include <tensorUtils.h>
+#include <config.h>
 
 void var_0_node(void *t1, size_t bytes_t1, void *t2, size_t bytes_t2) {
   __hpvm__hint(hpvm::PROMISE_TARGET);
@@ -363,8 +364,7 @@ typedef struct __attribute__((__packed__)) {
 
 int main() {
 
-  std::string dir_prefix = std::string(
-      "../../../../../projects/hpvm-tensor-rt/model_params/alexnet_cifar10/");
+  std::string dir_prefix = std::string(MODEL_PARAMS_DIR) + "/alexnet_cifar10/";
 
   std::string input_path = dir_prefix + std::string("input.bin");
   // void* input = readTrainedWeights(input_path.c_str(), 0,5000,3,32,32);
diff --git a/hpvm/test/dnn_benchmarks/benchmarks/alexnet2/alexnet2.cpp b/hpvm/test/dnn_benchmarks/benchmarks/alexnet2/alexnet2.cpp
index 966ef8934c751bd213e1be4e56df0e91df3def76..2aad203263ab079ab72c85fa36ef2251f6db23ba 100644
--- a/hpvm/test/dnn_benchmarks/benchmarks/alexnet2/alexnet2.cpp
+++ b/hpvm/test/dnn_benchmarks/benchmarks/alexnet2/alexnet2.cpp
@@ -8,6 +8,7 @@
 #include <hpvm.h>
 #include <tensorTypes.h>
 #include <tensorUtils.h>
+#include <config.h>
 
 void var_0_node(void *t1, size_t bytes_t1, void *t2, size_t bytes_t2) {
   __hpvm__hint(hpvm::CUDNN_TARGET);
@@ -412,8 +413,7 @@ typedef struct __attribute__((__packed__)) {
 
 int main() {
 
-  std::string dir_prefix = std::string(
-      "../../../../../projects/hpvm-tensor-rt/model_params/alexnet2_cifar10/");
+  std::string dir_prefix = std::string(MODEL_PARAMS_DIR) + "/alexnet2_cifar10/";
 
   std::string labels_path = dir_prefix + std::string("labels32.bin");
   std::string conv2d_1_w_path = dir_prefix + std::string("conv2d_1_w.bin");
diff --git a/hpvm/test/dnn_benchmarks/benchmarks/alexnet2/alexnet2_loop.cpp b/hpvm/test/dnn_benchmarks/benchmarks/alexnet2/alexnet2_loop.cpp
index fdc58833757ccd3084129058a5b278e29c35a85d..03a9df14b0250853454e71e1bb658f5c039beabd 100644
--- a/hpvm/test/dnn_benchmarks/benchmarks/alexnet2/alexnet2_loop.cpp
+++ b/hpvm/test/dnn_benchmarks/benchmarks/alexnet2/alexnet2_loop.cpp
@@ -8,6 +8,7 @@
 #include <hpvm.h>
 #include <tensorTypes.h>
 #include <tensorUtils.h>
+#include <config.h>
 
 void var_0_node(void *t1, size_t bytes_t1, void *t2, size_t bytes_t2) {
   __hpvm__hint(hpvm::PROMISE_TARGET);
@@ -412,8 +413,7 @@ typedef struct __attribute__((__packed__)) {
 
 int main() {
 
-  std::string dir_prefix = std::string(
-      "../../../../../projects/hpvm-tensor-rt/model_params/alexnet2_cifar10/");
+  std::string dir_prefix = std::string(MODEL_PARAMS_DIR) + "/alexnet2_cifar10/";
 
   std::string labels_path = dir_prefix + std::string("labels32.bin");
   std::string conv2d_1_w_path = dir_prefix + std::string("conv2d_1_w.bin");
diff --git a/hpvm/test/dnn_benchmarks/benchmarks/alexnet_imagenet/alexnet_imagenet.cpp b/hpvm/test/dnn_benchmarks/benchmarks/alexnet_imagenet/alexnet_imagenet.cpp
index 70c3ce6cf8a5b3227aa30b1d45ac1d9c43864f66..0d50f566f934ff5b89c5224fe26176cacc33f3cb 100644
--- a/hpvm/test/dnn_benchmarks/benchmarks/alexnet_imagenet/alexnet_imagenet.cpp
+++ b/hpvm/test/dnn_benchmarks/benchmarks/alexnet_imagenet/alexnet_imagenet.cpp
@@ -8,6 +8,7 @@
 #include <hpvm.h>
 #include <tensorTypes.h>
 #include <tensorUtils.h>
+#include <config.h>
 
 void var_0_node(void *t1, size_t bytes_t1, void *t2, size_t bytes_t2) {
   __hpvm__hint(hpvm::CUDNN_TARGET);
@@ -461,8 +462,8 @@ typedef struct __attribute__((__packed__)) {
 
 int main() {
 
-  std::string dir_prefix = std::string("../../../../../projects/hpvm-tensor-rt/"
-                                       "model_params/alexnet_imagenet_tune/");
+  std::string dir_prefix =
+      std::string(MODEL_PARAMS_DIR) + "/alexnet_imagenet_tune/";
   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/test/dnn_benchmarks/benchmarks/alexnet_imagenet/alexnet_imagenet_loop.cpp b/hpvm/test/dnn_benchmarks/benchmarks/alexnet_imagenet/alexnet_imagenet_loop.cpp
index 6d44b14a584e28b390d8d40d041e6879ec78ec40..5902772806607159c026f6e9a2155a0a30c9bf1f 100644
--- a/hpvm/test/dnn_benchmarks/benchmarks/alexnet_imagenet/alexnet_imagenet_loop.cpp
+++ b/hpvm/test/dnn_benchmarks/benchmarks/alexnet_imagenet/alexnet_imagenet_loop.cpp
@@ -8,6 +8,7 @@
 #include <hpvm.h>
 #include <tensorTypes.h>
 #include <tensorUtils.h>
+#include <config.h>
 
 void var_0_node(void *t1, size_t bytes_t1, void *t2, size_t bytes_t2) {
   __hpvm__hint(hpvm::PROMISE_TARGET);
@@ -461,8 +462,8 @@ typedef struct __attribute__((__packed__)) {
 
 int main() {
 
-  std::string dir_prefix = std::string("../../../../../projects/hpvm-tensor-rt/"
-                                       "model_params/alexnet_imagenet_tune/");
+  std::string dir_prefix =
+      std::string(MODEL_PARAMS_DIR) + "/alexnet_imagenet_tune/";
 
   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/test/dnn_benchmarks/benchmarks/lenet_mnist/lenet_mnist.cpp b/hpvm/test/dnn_benchmarks/benchmarks/lenet_mnist/lenet_mnist.cpp
index 562be01186dbbe26ae6267d03e15beb4aaabc272..f24be84b318789ab0275bae0f1e552b1c5cf5c81 100644
--- a/hpvm/test/dnn_benchmarks/benchmarks/lenet_mnist/lenet_mnist.cpp
+++ b/hpvm/test/dnn_benchmarks/benchmarks/lenet_mnist/lenet_mnist.cpp
@@ -8,6 +8,7 @@
 #include <hpvm.h>
 #include <tensorTypes.h>
 #include <tensorUtils.h>
+#include <config.h>
 
 void var_0_node(void *t1, size_t bytes_t1, void *t2, size_t bytes_t2) {
   __hpvm__hint(hpvm::CUDNN_TARGET);
@@ -265,8 +266,7 @@ typedef struct __attribute__((__packed__)) {
 
 int main() {
 
-  std::string dir_prefix = std::string(
-      "../../../../../projects/hpvm-tensor-rt/model_params/lenet_mnist/");
+  std::string dir_prefix = std::string(MODEL_PARAMS_DIR) + "/lenet_mnist/";
 
   std::string input_path = dir_prefix + std::string("input.bin");
   std::string labels_path = dir_prefix + std::string("labels32.bin");
diff --git a/hpvm/test/dnn_benchmarks/benchmarks/lenet_mnist/lenet_mnist_loop.cpp b/hpvm/test/dnn_benchmarks/benchmarks/lenet_mnist/lenet_mnist_loop.cpp
index a158c877bc91379a6262610a808a3b69afe4f35c..646fee2749889ffb6c6fb52beb7610c5c47bc61b 100644
--- a/hpvm/test/dnn_benchmarks/benchmarks/lenet_mnist/lenet_mnist_loop.cpp
+++ b/hpvm/test/dnn_benchmarks/benchmarks/lenet_mnist/lenet_mnist_loop.cpp
@@ -8,6 +8,7 @@
 #include <hpvm.h>
 #include <tensorTypes.h>
 #include <tensorUtils.h>
+#include <config.h>
 
 void var_0_node(void *t1, size_t bytes_t1, void *t2, size_t bytes_t2) {
   __hpvm__hint(hpvm::PROMISE_TARGET);
@@ -265,8 +266,7 @@ typedef struct __attribute__((__packed__)) {
 
 int main() {
 
-  std::string dir_prefix = std::string(
-      "../../../../../projects/hpvm-tensor-rt/model_params/lenet_mnist/");
+  std::string dir_prefix = std::string(MODEL_PARAMS_DIR) + "/lenet_mnist/";
 
   std::string input_path = dir_prefix + std::string("input.bin");
   std::string labels_path = dir_prefix + std::string("labels32.bin");
diff --git a/hpvm/test/dnn_benchmarks/benchmarks/mobilenet/mobilenet.cpp b/hpvm/test/dnn_benchmarks/benchmarks/mobilenet/mobilenet.cpp
index 9fca1fafead56ab5b10239b123d9dfb0ce4c008c..f91e148d95e5f238110e9ffc53ce37b392af0690 100644
--- a/hpvm/test/dnn_benchmarks/benchmarks/mobilenet/mobilenet.cpp
+++ b/hpvm/test/dnn_benchmarks/benchmarks/mobilenet/mobilenet.cpp
@@ -8,6 +8,7 @@
 #include <hpvm.h>
 #include <tensorTypes.h>
 #include <tensorUtils.h>
+#include <config.h>
 
 void var_0_node(void *t1, size_t bytes_t1, void *t2, size_t bytes_t2) {
   __hpvm__hint(hpvm::CUDNN_TARGET);
@@ -1966,8 +1967,7 @@ typedef struct __attribute__((__packed__)) {
 
 int main() {
 
-  std::string dir_prefix = std::string(
-      "../../../../../projects/hpvm-tensor-rt/model_params/mobilenet/");
+  std::string dir_prefix = std::string(MODEL_PARAMS_DIR) + "/mobilenet/";
 
   std::string input_path = dir_prefix + std::string("input.bin");
   std::string labels_path = dir_prefix + std::string("labels.bin");
diff --git a/hpvm/test/dnn_benchmarks/benchmarks/mobilenet/mobilenet_loop.cpp b/hpvm/test/dnn_benchmarks/benchmarks/mobilenet/mobilenet_loop.cpp
index 62a8902e8ff2dfdfb8325a7d796344745514b785..cb04d211448b32de1c5b9a10909f8d3090c7d933 100644
--- a/hpvm/test/dnn_benchmarks/benchmarks/mobilenet/mobilenet_loop.cpp
+++ b/hpvm/test/dnn_benchmarks/benchmarks/mobilenet/mobilenet_loop.cpp
@@ -8,6 +8,7 @@
 #include <hpvm.h>
 #include <tensorTypes.h>
 #include <tensorUtils.h>
+#include <config.h>
 
 void var_0_node(void *t1, size_t bytes_t1, void *t2, size_t bytes_t2) {
   __hpvm__hint(hpvm::PROMISE_TARGET);
@@ -1965,12 +1966,7 @@ typedef struct __attribute__((__packed__)) {
 } RootIn;
 
 int main() {
-
-  // std::string dir_prefix =
-  // std::string("../../../../../projects/hpvm-tensor-rt/model_params/mobilenet_quant/");
-
-  std::string dir_prefix = std::string(
-      "../../../../../projects/hpvm-tensor-rt/model_params/mobilenet/");
+  std::string dir_prefix = std::string(MODEL_PARAMS_DIR) + "/mobilenet/";
 
   std::string input_path = dir_prefix + std::string("input.bin");
   std::string labels_path = dir_prefix + std::string("labels32.bin");
diff --git a/hpvm/test/dnn_benchmarks/benchmarks/resnet18/resnet18.cpp b/hpvm/test/dnn_benchmarks/benchmarks/resnet18/resnet18.cpp
index cd636f6642677e48a8c4ab843594b38c037a0cc1..9941ac977111ccbc39c4a06c3656415aafb03abd 100644
--- a/hpvm/test/dnn_benchmarks/benchmarks/resnet18/resnet18.cpp
+++ b/hpvm/test/dnn_benchmarks/benchmarks/resnet18/resnet18.cpp
@@ -9,6 +9,7 @@
 #include <hpvm.h>
 #include <tensorTypes.h>
 #include <tensorUtils.h>
+#include <config.h>
 
 void var_0_node(void *t1, size_t bytes_t1, void *t2, size_t bytes_t2) {
   __hpvm__hint(hpvm::CUDNN_TARGET);
@@ -1227,8 +1228,7 @@ typedef struct __attribute__((__packed__)) {
 
 int main() {
 
-  std::string dir_prefix = std::string(
-      "../../../../../projects/hpvm-tensor-rt/model_params/resnet18_cifar10/");
+  std::string dir_prefix = std::string(MODEL_PARAMS_DIR) + "/resnet18_cifar10/";
 
   std::string input_path = dir_prefix + std::string("input.bin");
   void *input = readTrainedWeights(input_path.c_str(), 0, 5000, 3, 32, 32);
diff --git a/hpvm/test/dnn_benchmarks/benchmarks/resnet18/resnet18_loop.cpp b/hpvm/test/dnn_benchmarks/benchmarks/resnet18/resnet18_loop.cpp
index 2d80c87b1c42e9631019b5785f99cf0b69f14df5..44601685d791bec5a7411a7842fa05b3377efd74 100644
--- a/hpvm/test/dnn_benchmarks/benchmarks/resnet18/resnet18_loop.cpp
+++ b/hpvm/test/dnn_benchmarks/benchmarks/resnet18/resnet18_loop.cpp
@@ -9,6 +9,7 @@
 #include <hpvm.h>
 #include <tensorTypes.h>
 #include <tensorUtils.h>
+#include <config.h>
 
 void var_0_node(void *t1, size_t bytes_t1, void *t2, size_t bytes_t2) {
   __hpvm__hint(hpvm::PROMISE_TARGET);
@@ -1300,8 +1301,7 @@ typedef struct __attribute__((__packed__)) {
 } RootIn;
 
 int main() {
-  std::string dir_prefix = std::string(
-      "../../../../../projects/hpvm-tensor-rt/model_params/resnet18_cifar10/");
+  std::string dir_prefix = std::string(MODEL_PARAMS_DIR) + "/resnet18_cifar10/";
 
   std::string input_path = dir_prefix + std::string("input.bin");
   // void* input = readTrainedWeights(input_path.c_str(), 0,5000,3,32,32);
diff --git a/hpvm/test/dnn_benchmarks/benchmarks/resnet50_imagenet/resnet50_imagenet.cpp b/hpvm/test/dnn_benchmarks/benchmarks/resnet50_imagenet/resnet50_imagenet.cpp
index 17bda0f678f18b730fdeee8aa69d8cdfc354b521..c4bd6be08b5afad0367e93f640c54b45e7d41938 100644
--- a/hpvm/test/dnn_benchmarks/benchmarks/resnet50_imagenet/resnet50_imagenet.cpp
+++ b/hpvm/test/dnn_benchmarks/benchmarks/resnet50_imagenet/resnet50_imagenet.cpp
@@ -8,6 +8,7 @@
 #include <hpvm.h>
 #include <tensorTypes.h>
 #include <tensorUtils.h>
+#include <config.h>
 
 void var_0_node(void *t1, size_t bytes_t1, void *t2, size_t bytes_t2) {
   __hpvm__hint(hpvm::CUDNN_TARGET);
@@ -4904,8 +4905,8 @@ typedef struct __attribute__((__packed__)) {
 
 int main() {
 
-  std::string dir_prefix = std::string(
-      "../../../../../projects/hpvm-tensor-rt/model_params/resnet50_imagenet/");
+  std::string dir_prefix =
+      std::string(MODEL_PARAMS_DIR) + "/resnet50_imagenet/";
   std::string input_path = dir_prefix + std::string("input.bin");
   std::string labels_path = dir_prefix + std::string("labels.bin");
   std::string conv2d_1_w_path = dir_prefix + std::string("conv2d_1_w.bin");
diff --git a/hpvm/test/dnn_benchmarks/benchmarks/resnet50_imagenet/resnet50_imagenet_loop.cpp b/hpvm/test/dnn_benchmarks/benchmarks/resnet50_imagenet/resnet50_imagenet_loop.cpp
index b21306d693c1f9e81b11f8d5f36c3048ede2a9ed..09e5709c7d2125ef3ad5be5d255c9b9a734139fb 100644
--- a/hpvm/test/dnn_benchmarks/benchmarks/resnet50_imagenet/resnet50_imagenet_loop.cpp
+++ b/hpvm/test/dnn_benchmarks/benchmarks/resnet50_imagenet/resnet50_imagenet_loop.cpp
@@ -8,6 +8,7 @@
 #include <hpvm.h>
 #include <tensorTypes.h>
 #include <tensorUtils.h>
+#include <config.h>
 
 void var_0_node(void *t1, size_t bytes_t1, void *t2, size_t bytes_t2) {
   __hpvm__hint(hpvm::PROMISE_TARGET);
@@ -5133,8 +5134,8 @@ typedef struct __attribute__((__packed__)) {
 
 int main() {
 
-  std::string dir_prefix = std::string(
-      "../../../../../projects/hpvm-tensor-rt/model_params/resnet50_imagenet/");
+  std::string dir_prefix =
+      std::string(MODEL_PARAMS_DIR) + "/resnet50_imagenet/";
   std::string input_path = dir_prefix + std::string("input.bin");
   std::string labels_path = dir_prefix + std::string("labels.bin");
   std::string conv2d_1_w_path = dir_prefix + std::string("conv2d_1_w.bin");
diff --git a/hpvm/test/dnn_benchmarks/benchmarks/vgg16_cifar10/vgg16_cifar10.cpp b/hpvm/test/dnn_benchmarks/benchmarks/vgg16_cifar10/vgg16_cifar10.cpp
index b210ba0e5f654bdea54b095e19d1a37a8a18b3b7..78b762a210fa8f42ea59581cfc49c15d99ea14a7 100644
--- a/hpvm/test/dnn_benchmarks/benchmarks/vgg16_cifar10/vgg16_cifar10.cpp
+++ b/hpvm/test/dnn_benchmarks/benchmarks/vgg16_cifar10/vgg16_cifar10.cpp
@@ -8,6 +8,7 @@
 #include <hpvm.h>
 #include <tensorTypes.h>
 #include <tensorUtils.h>
+#include <config.h>
 
 void var_0_node(void *t1, size_t bytes_t1, void *t2, size_t bytes_t2) {
   __hpvm__hint(hpvm::CUDNN_TARGET);
@@ -828,8 +829,7 @@ typedef struct __attribute__((__packed__)) {
 
 int main() {
 
-  std::string dir_prefix = std::string(
-      "../../../../../projects/hpvm-tensor-rt/model_params/vgg16_cifar10/");
+  std::string dir_prefix = std::string(MODEL_PARAMS_DIR) + "/vgg16_cifar10/";
   std::string input_path = dir_prefix + std::string("input.bin");
   std::string labels_path = dir_prefix + std::string("labels32.bin");
   std::string conv2d_1_w_path = dir_prefix + std::string("conv2d_1_w.bin");
diff --git a/hpvm/test/dnn_benchmarks/benchmarks/vgg16_cifar10/vgg16_cifar10_loop.cpp b/hpvm/test/dnn_benchmarks/benchmarks/vgg16_cifar10/vgg16_cifar10_loop.cpp
index 3ac42107be4683761f94785f5f8419cf5d7b896d..d35d209570065dd583f1b6fbace6498f93faa8e0 100644
--- a/hpvm/test/dnn_benchmarks/benchmarks/vgg16_cifar10/vgg16_cifar10_loop.cpp
+++ b/hpvm/test/dnn_benchmarks/benchmarks/vgg16_cifar10/vgg16_cifar10_loop.cpp
@@ -8,6 +8,7 @@
 #include <hpvm.h>
 #include <tensorTypes.h>
 #include <tensorUtils.h>
+#include <config.h>
 
 void var_0_node(void *t1, size_t bytes_t1, void *t2, size_t bytes_t2) {
   __hpvm__hint(hpvm::PROMISE_TARGET);
@@ -828,8 +829,7 @@ typedef struct __attribute__((__packed__)) {
 
 int main() {
 
-  std::string dir_prefix = std::string(
-      "../../../../../projects/hpvm-tensor-rt/model_params/vgg16_cifar10/");
+  std::string dir_prefix = std::string(MODEL_PARAMS_DIR) + "/vgg16_cifar10/";
   std::string input_path = dir_prefix + std::string("input.bin");
   std::string labels_path = dir_prefix + std::string("labels32.bin");
   std::string conv2d_1_w_path = dir_prefix + std::string("conv2d_1_w.bin");
diff --git a/hpvm/test/dnn_benchmarks/benchmarks/vgg16_cifar100/vgg16_cifar100.cpp b/hpvm/test/dnn_benchmarks/benchmarks/vgg16_cifar100/vgg16_cifar100.cpp
index 85e02ec3c958f3135f66dcc01750f4c1de7c7ed5..f931cc76b4730f52942afaa99b460b469b72d245 100644
--- a/hpvm/test/dnn_benchmarks/benchmarks/vgg16_cifar100/vgg16_cifar100.cpp
+++ b/hpvm/test/dnn_benchmarks/benchmarks/vgg16_cifar100/vgg16_cifar100.cpp
@@ -8,6 +8,7 @@
 #include <hpvm.h>
 #include <tensorTypes.h>
 #include <tensorUtils.h>
+#include <config.h>
 
 void var_0_node(void *t1, size_t bytes_t1, void *t2, size_t bytes_t2) {
   __hpvm__hint(hpvm::CUDNN_TARGET);
@@ -828,8 +829,7 @@ typedef struct __attribute__((__packed__)) {
 
 int main() {
 
-  std::string dir_prefix = std::string(
-      "../../../../../projects/hpvm-tensor-rt/model_params/vgg16_cifar100/");
+  std::string dir_prefix = std::string(MODEL_PARAMS_DIR) + "/vgg16_cifar100/";
 
   std::string input_path = dir_prefix + std::string("input.bin");
   std::string labels_path = dir_prefix + std::string("labels32.bin");
diff --git a/hpvm/test/dnn_benchmarks/benchmarks/vgg16_cifar100/vgg16_cifar100_loop.cpp b/hpvm/test/dnn_benchmarks/benchmarks/vgg16_cifar100/vgg16_cifar100_loop.cpp
index f95837fdecf373056c64af3eb859f68612a0acb6..1e38763e76ac3ccb37453b3cda08f19221ddd3fa 100644
--- a/hpvm/test/dnn_benchmarks/benchmarks/vgg16_cifar100/vgg16_cifar100_loop.cpp
+++ b/hpvm/test/dnn_benchmarks/benchmarks/vgg16_cifar100/vgg16_cifar100_loop.cpp
@@ -8,6 +8,7 @@
 #include <hpvm.h>
 #include <tensorTypes.h>
 #include <tensorUtils.h>
+#include <config.h>
 
 void var_0_node(void *t1, size_t bytes_t1, void *t2, size_t bytes_t2) {
   __hpvm__hint(hpvm::PROMISE_TARGET);
@@ -828,8 +829,7 @@ typedef struct __attribute__((__packed__)) {
 
 int main() {
 
-  std::string dir_prefix = std::string(
-      "../../../../../projects/hpvm-tensor-rt/model_params/vgg16_cifar100/");
+  std::string dir_prefix = std::string(MODEL_PARAMS_DIR) + "/vgg16_cifar100/";
 
   std::string input_path = dir_prefix + std::string("input.bin");
   std::string labels_path = dir_prefix + std::string("labels32.bin");
diff --git a/hpvm/test/dnn_benchmarks/benchmarks/vgg16_imagenet/vgg16_imagenet.cpp b/hpvm/test/dnn_benchmarks/benchmarks/vgg16_imagenet/vgg16_imagenet.cpp
index 4710a232e83b3cf4483dcbed2c722fa3520cb084..f269aa9091521809751cd2214a46d039379c0114 100644
--- a/hpvm/test/dnn_benchmarks/benchmarks/vgg16_imagenet/vgg16_imagenet.cpp
+++ b/hpvm/test/dnn_benchmarks/benchmarks/vgg16_imagenet/vgg16_imagenet.cpp
@@ -8,6 +8,7 @@
 #include <hpvm.h>
 #include <tensorTypes.h>
 #include <tensorUtils.h>
+#include <config.h>
 
 void var_0_node(void *t1, size_t bytes_t1, void *t2, size_t bytes_t2) {
   __hpvm__hint(hpvm::CUDNN_TARGET);
@@ -876,8 +877,7 @@ typedef struct __attribute__((__packed__)) {
 
 int main() {
 
-  std::string dir_prefix = std::string(
-      "../../../../../projects/hpvm-tensor-rt/model_params/vgg16_imagenet/");
+  std::string dir_prefix = std::string(MODEL_PARAMS_DIR) + "/vgg16_imagenet/";
   std::string input_path = dir_prefix + std::string("input.bin");
   std::string labels_path = dir_prefix + std::string("labels.bin");
   std::string conv2d_1_w_path = dir_prefix + std::string("conv2d_1_w.bin");
diff --git a/hpvm/test/dnn_benchmarks/benchmarks/vgg16_imagenet/vgg16_imagenet_loop.cpp b/hpvm/test/dnn_benchmarks/benchmarks/vgg16_imagenet/vgg16_imagenet_loop.cpp
index 06b9da0afe6fe17d3f0fdc974d694683ec122adf..e55cf3648dc9562db4f4b687c905b4bc3a5bbc3f 100644
--- a/hpvm/test/dnn_benchmarks/benchmarks/vgg16_imagenet/vgg16_imagenet_loop.cpp
+++ b/hpvm/test/dnn_benchmarks/benchmarks/vgg16_imagenet/vgg16_imagenet_loop.cpp
@@ -8,6 +8,7 @@
 #include <hpvm.h>
 #include <tensorTypes.h>
 #include <tensorUtils.h>
+#include <config.h>
 
 void var_0_node(void *t1, size_t bytes_t1, void *t2, size_t bytes_t2) {
   __hpvm__hint(hpvm::PROMISE_TARGET);
@@ -876,8 +877,8 @@ typedef struct __attribute__((__packed__)) {
 
 int main() {
 
-  std::string dir_prefix = std::string("../../../../../projects/hpvm-tensor-rt/"
-                                       "model_params/vgg16_imagenet_tune/");
+  std::string dir_prefix =
+      std::string(MODEL_PARAMS_DIR) + "/vgg16_imagenet_tune/";
   std::string input_path = dir_prefix + std::string("input.bin");
   std::string labels_path = dir_prefix + std::string("labels.bin");
   std::string conv2d_1_w_path = dir_prefix + std::string("conv2d_1_w.bin");