From 7e44890b58e27f4fb51cd560e3273266cf18df26 Mon Sep 17 00:00:00 2001
From: Hashim Sharif <hsharif3@tyler.cs.illinois.edu>
Date: Sun, 12 Apr 2020 21:00:10 -0500
Subject: [PATCH] Adding test that varies interpolation rates

---
 .../dnn_sources/src/test_ops.cc               | 85 +++++++++++--------
 1 file changed, 49 insertions(+), 36 deletions(-)

diff --git a/llvm/projects/hpvm-tensor-rt/dnn_sources/src/test_ops.cc b/llvm/projects/hpvm-tensor-rt/dnn_sources/src/test_ops.cc
index a62ac42757..b75b0934f1 100644
--- a/llvm/projects/hpvm-tensor-rt/dnn_sources/src/test_ops.cc
+++ b/llvm/projects/hpvm-tensor-rt/dnn_sources/src/test_ops.cc
@@ -685,65 +685,77 @@ void testSamplingCalls(void* input, void* filter,
 		       int stride_h, int stride_w, int skip_every){
 
 
-  for (int offset = 0; offset < 2; offset++){
+  for (int i = 0; i < 2; i++){
 
-    printf("\n\n\n\**Test -- pad_h = %d pad_w = %d stride_h = %d stride_w = %d skip_every = %d offset= %d \n\n",
-	   pad_h, pad_w, stride_h, stride_w, skip_every, offset);
+    float interpolation_rate;
+    if (i == 0)
+      interpolation_rate = 1.0;
+    else
+      interpolation_rate = 0.5;
+      
+    for (int offset = 0; offset < 2; offset++){
+
+      printf("\n\n\n\**Test -- pad_h = %d pad_w = %d stride_h = %d stride_w = %d skip_every = %d offset= %d interpolation_rate = %f \n\n",
+	     pad_h, pad_w, stride_h, stride_w, skip_every, offset, interpolation_rate);
 
     
-    void* res_exact = tensorConvolution(input, filter, pad_h, pad_w,
-				        stride_h, stride_w,
-				        1, 1);
+      void* res_exact = tensorConvolution(input, filter, pad_h, pad_w,
+					  stride_h, stride_w,
+					  1, 1);
 
-    printf ("tensorConvolution Result :");
-    printTensorValues(res_exact);
+      printf ("tensorConvolution Result :");
+      printTensorValues(res_exact);
 
 
-    void* res_exact2 = tensorConvApprox(input, filter, pad_h, pad_w,
-				        stride_h, stride_w,
-				        1, 1, 1, 1, 1, 1);
+      void* res_exact2 = tensorConvApprox(input, filter, pad_h, pad_w,
+					  stride_h, stride_w,
+					  1, 1, 1, 1, 1, 1);
 
-    printf ("\nBaseline Result :");
-    printTensorValues(res_exact2);
+      printf ("\nBaseline Result :");
+      printTensorValues(res_exact2);
 
 
-    void* res_exact3 = tensorConvApproxHalf2(input, filter, pad_h, pad_w,
-					     stride_h, stride_w,
-					     1, 1, 1, 1, 1, 1);
-    convertToFP32((struct Tensor*) res_exact3);
+      void* res_exact3 = tensorConvApproxHalf2(input, filter, pad_h, pad_w,
+					       stride_h, stride_w,
+					       1, 1, 1, 1, 1, 1);
+      convertToFP32((struct Tensor*) res_exact3);
 
-    printf ("\nFP16_Baseline Result :");
-    printTensorValues(res_exact3);
+      printf ("\nFP16_Baseline Result :");
+      printTensorValues(res_exact3);
 
     
-    void* res_sim = tensorConvSampSim(input, filter, pad_h, pad_w,
-				      stride_h, stride_w,
-				      1, 1, skip_every, offset);
+      void* res_sim = tensorConvSampSim2(input, filter, pad_h, pad_w,
+					 stride_h, stride_w,
+					 1, 1, skip_every, offset, interpolation_rate);
 
-    printf ("\nConvSampSim Result :");
-    printTensorValues(res_sim);
+      printf ("\nConvSampSim Result :");
+      printTensorValues(res_sim);
 
   
-    void* res = tensorConvApprox(input, filter, pad_h, pad_w,
-				 stride_h, stride_w,
-				 1, 1, 1, 1, skip_every, offset);
+      void* res = tensorConvApprox(input, filter, pad_h, pad_w,
+				   stride_h, stride_w,
+				   1, 1, 1, 1, skip_every, offset);
 
 
-    printf ("\nConvApprox Result :");
-    printTensorValues(res);
+      printf ("\nConvApprox Result :");
+      printTensorValues(res);
 
 
-    void* res_half = tensorConvApproxHalf2(input, filter, pad_h, pad_w,
-					   stride_h, stride_w,
-					   1, 1, 1, 1, skip_every, offset);
+      void* res_half = tensorConvApproxHalf2(input, filter, pad_h, pad_w,
+					     stride_h, stride_w,
+					     1, 1, 1, 1, skip_every, offset);
 
-    convertToFP32((struct Tensor*) res_half);
+      convertToFP32((struct Tensor*) res_half);
+
+      printf ("\nConvApproxHalf2 Result :");
+      printTensorValues(res_half);
+
+    }
 
-    printf ("\nConvApproxHalf2 Result :");
-    printTensorValues(res_half);
 
   }
-   
+
+  
  
   printf ("\n\n\n\ --- End of Test \n\n\n");
 }
@@ -1000,3 +1012,4 @@ int main(){
 
   return 0;
 }
+
-- 
GitLab