diff --git a/llvm/test/VISC/DNN_Benchmarks/benchmarks/alexnet/src/alexnet_loop.cpp b/llvm/test/VISC/DNN_Benchmarks/benchmarks/alexnet/src/alexnet_loop.cpp
index d92bc0c45d1115620d529aea4636ece8d3d62127..50732550db8c8f02c940e485702c3253a7bb9760 100644
--- a/llvm/test/VISC/DNN_Benchmarks/benchmarks/alexnet/src/alexnet_loop.cpp
+++ b/llvm/test/VISC/DNN_Benchmarks/benchmarks/alexnet/src/alexnet_loop.cpp
@@ -440,7 +440,7 @@ int main(){
   int test_input_size = 10000;
   int batch_count = test_input_size / batch_size; 
   
-  void* input = create4DTensor(0,nchw,batch_size,3,32,32);
+  // void* input = create4DTensor(0,nchw,batch_size,3,32,32);
 
   startMemTracking();
   startProfiling();
@@ -450,8 +450,13 @@ int main(){
     int start = i * batch_size;
     int end = (i + 1) * batch_size;
 
-    copyInputBatch(input_path.c_str(),start,end,3,32,32, input);
-  
+    // copyInputBatch(input_path.c_str(),start,end,3,32,32, input);
+
+	// Replaced create4DTensor and copyInputBatch with readInputBatch 
+    void* input = readInputBatch(input_path.c_str(), 0,
+                     start, end, 
+                     3, 32, 32);
+ 
     args->input = input;
     args->input_bytes = 0; 
   
diff --git a/llvm/test/VISC/DNN_Benchmarks/benchmarks/alexnet2/src/alexnet2_loop.cpp b/llvm/test/VISC/DNN_Benchmarks/benchmarks/alexnet2/src/alexnet2_loop.cpp
index 03ffd82ee7df6240e565397d099e37aecd9dad9e..91bf3b0c4523e7239d7f11f6ad350f9dbb454a91 100644
--- a/llvm/test/VISC/DNN_Benchmarks/benchmarks/alexnet2/src/alexnet2_loop.cpp
+++ b/llvm/test/VISC/DNN_Benchmarks/benchmarks/alexnet2/src/alexnet2_loop.cpp
@@ -491,16 +491,21 @@ int main(){
   int batch_count = test_input_size / batch_size;
 
   std::string input_path =  dir_prefix + std::string("input.bin"); 
-  void* input = create4DTensor(0,nchw,batch_size,3,32,32);
+  // void* input = create4DTensor(0,nchw,batch_size,3,32,32);
 
-  
   startMemTracking();
+  startProfiling();
+
   for (int i = 0; i < batch_count; i++){
 
     int start = i * batch_size; 
     int end = (i + 1) * batch_size; 
 
-    copyInputBatch(input_path.c_str(),start,end,3,32,32, input);
+    // copyInputBatch(input_path.c_str(),start,end,3,32,32, input);
+
+    void* input = readInputBatch(input_path.c_str(), 0,
+                     start, end,
+                     3, 32, 32);
 
     args->input = input; 
     args->input_bytes = 0; 
@@ -512,19 +517,12 @@ int main(){
     void *result = static_cast<RootIn*>(args)->input; 
     hpvm_request_tensor(result, 0); 
 
-
-//    uint32_t* labels = readLabelsBatch3(labels_path.c_str(),start,end); 
-//
-//    computeAccuracy3(labels, result);
-
     llvm_hpvm_invokeRtControl(result, labels_path.c_str(), start, end);
       
     freeBatchMemory();
   }
-
-  
+  stopProfiling();
   __visc__cleanup(); 
 
-
   return 0; 
 }