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