From 021af026ced5d81c15c24491c0d4a8c6923990b2 Mon Sep 17 00:00:00 2001 From: Hashim Sharif <hsharif3@tyler.cs.illinois.edu> Date: Sun, 12 Apr 2020 20:59:16 -0500 Subject: [PATCH] Adding macro to disable approximation simulations --- llvm/projects/hpvm-tensor-rt/CMakeLists.txt | 1 + .../tensor_runtime/src/approx_simulation.cu | 42 +++++++++++++++---- 2 files changed, 35 insertions(+), 8 deletions(-) diff --git a/llvm/projects/hpvm-tensor-rt/CMakeLists.txt b/llvm/projects/hpvm-tensor-rt/CMakeLists.txt index d9d4531329..43ded68fd1 100644 --- a/llvm/projects/hpvm-tensor-rt/CMakeLists.txt +++ b/llvm/projects/hpvm-tensor-rt/CMakeLists.txt @@ -43,6 +43,7 @@ endif() add_definitions(-DNO_INJECTION) add_definitions(-DPROMISE_TUNER_ENABLED) +add_definitions(-DSIMULATION_MODE=false) add_definitions(-DONLINE_PROFILING=false) diff --git a/llvm/projects/hpvm-tensor-rt/tensor_runtime/src/approx_simulation.cu b/llvm/projects/hpvm-tensor-rt/tensor_runtime/src/approx_simulation.cu index b1179b2107..b26b4203d3 100644 --- a/llvm/projects/hpvm-tensor-rt/tensor_runtime/src/approx_simulation.cu +++ b/llvm/projects/hpvm-tensor-rt/tensor_runtime/src/approx_simulation.cu @@ -974,12 +974,22 @@ void* Autotuner_SampConv(void* input, float i_min, float i_max, params.skip_rate, params.skip_offset); */ - - conv_out = tensorConvSampSim2(input, filter, + + if (SIMULATION_MODE){ + conv_out = tensorConvSampSim2(input, filter, + conv_pad_h, conv_pad_w, + conv_stride_h, conv_stride_w, 1, 1, + params.skip_rate, params.skip_offset, params.interpolation_id); + } + + + else { + conv_out = tensorConvApprox(input, filter, conv_pad_h, conv_pad_w, conv_stride_h, conv_stride_w, 1, 1, - params.skip_rate, params.skip_offset, params.interpolation_id); - + 1, 1, params.skip_rate, params.skip_offset); + } + } else{ @@ -1018,11 +1028,27 @@ void* Autotuner_PerforatedConv(void* input, float i_min, float i_max, void* conv_out; if (!FP16_tuning){ - conv_out = tensorConvPerfCuda(input, filter, - conv_pad_h, conv_pad_w, - conv_stride_h, conv_stride_w, 1, 1, - params.row, params.col, params.skip_offset); + + if (SIMULATION_MODE){ + + conv_out = tensorConvPerfCuda(input, filter, + conv_pad_h, conv_pad_w, + conv_stride_h, conv_stride_w, 1, 1, + params.row, params.col, params.skip_offset); + + } + else{ + + conv_out = tensorConvApprox(input, filter, + conv_pad_h, conv_pad_w, + conv_stride_h, conv_stride_w, + 1, 1, + params.row, params.col, + 1, params.skip_offset); + } + + } else{ -- GitLab