From 9ec43749967f8a5803ecc5dd9cd9b5df801e93ae Mon Sep 17 00:00:00 2001 From: Julian Hammer <julian.hammer@fau.de> Date: Thu, 4 Apr 2019 19:34:20 +0200 Subject: [PATCH] added warmup iterations to benchmarkable code --- .../kerncraft_coupling/generate_benchmark.py | 32 +++++++++++-------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/pystencils/kerncraft_coupling/generate_benchmark.py b/pystencils/kerncraft_coupling/generate_benchmark.py index ebaaa9f6f..9da5c4bd2 100644 --- a/pystencils/kerncraft_coupling/generate_benchmark.py +++ b/pystencils/kerncraft_coupling/generate_benchmark.py @@ -55,8 +55,6 @@ int main(int argc, char **argv) {%- endfor %} - int repeat = atoi(argv[1]); - {%- if likwid %} {%- if openmp %} #pragma omp parallel @@ -67,17 +65,25 @@ int main(int argc, char **argv) likwid_markerStartRegion("loop"); {%- endif %} - for (; repeat > 0; --repeat) - { - {{kernelName}}({{call_argument_list}}); - - // Dummy calls - {%- for field_name, dataType, size in fields %} - if(var_false) dummy({{field_name}}); - {%- endfor %} - {%- for constantName, dataType in constants %} - if(var_false) dummy(&{{constantName}}); - {%- endfor %} + for(int warmup = 1; warmup >= 0; --warmup) { + int repeat = 2; + if(warmup == 0) { + repeat = atoi(argv[1]); + likwid_markerStartRegion("loop"); + } + + for (; repeat > 0; --repeat) + { + {{kernelName}}({{call_argument_list}}); + + // Dummy calls + {%- for field_name, dataType, size in fields %} + if(var_false) dummy({{field_name}}); + {%- endfor %} + {%- for constantName, dataType in constants %} + if(var_false) dummy(&{{constantName}}); + {%- endfor %} + } } {%- if likwid %} -- GitLab