diff --git a/pystencils/kerncraft_coupling/generate_benchmark.py b/pystencils/kerncraft_coupling/generate_benchmark.py index ebaaa9f6fe0030237850c304bcab1f20ba734b48..9da5c4bd210f9fe36bf57ff327f64a6cccbd7a4a 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 %}