RRZE-HPC / kerncraft

Loop Kernel Analysis and Performance Modeling Toolkit
GNU Affero General Public License v3.0
86 stars 24 forks source link

#pragma directives not embedded correctly in generated c code #74

Closed christiealappatt closed 6 years ago

christiealappatt commented 6 years ago

The position of pragmas is misplaced in the generated c code. I have attached an example. Without this pragma kerncraft predicts loop increment wrongly for the particular kernel on Intel compilers, because the Intel compiler unrolls and jams the outer loop. pragma_problem.tar.gz

This happens only in Benchmark mode, I ran the code like this kerncraft -p Benchmark -m HaswellEX_E5-2695v3.yml -D N 2000000 -D s 4 irk_A_2_3loop.c