From 53e9f8d546d64fd946bd67d9aec92c7e684b4fc1 Mon Sep 17 00:00:00 2001
From: Elizabeth <hashim.sharif91@gmail.com>
Date: Sat, 2 Nov 2019 16:44:41 -0500
Subject: [PATCH] Added tested loop sources

---
 .../benchmarks/alexnet/src/alexnet_loop.cpp   | 11 +++++++---
 .../benchmarks/alexnet2/src/alexnet2_loop.cpp | 20 +++++++++----------
 2 files changed, 17 insertions(+), 14 deletions(-)

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 d92bc0c45d..50732550db 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 03ffd82ee7..91bf3b0c45 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; 
 } 
-- 
GitLab