diff --git a/llvm/projects/hpvm-tensor-rt/CMakeLists.txt b/llvm/projects/hpvm-tensor-rt/CMakeLists.txt index d9d4531329ce350dafe84947441ca429db1c9291..43ded68fd1fa7a42116b50b788b5175633061ca0 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 b1179b21070c465bd023b171d10e9873632270b1..b26b4203d34fed22065581bd732cb70d48d36e8e 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{