Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.

-profile-loops-report=2 bug

eoseret
Beginner
297 Views
Hello,

When I use -profile-loops and -profile-loops-report=2, column headers are misordered in dump files (from min_iterations to loop_exits).

Current order: time(abs) time(%) self(abs) self(%) min_iterations avg_iterations max_iterations loop_entries loop_exits function function_file:line loop_file:line

Correct order: time(abs) time(%) self(abs) self(%) loop_entries loop_exits min_iterations avg_iterations max_iterations function function_file:line loop_file:line

I have version 12.1.0

The situation is clear on this example:
loop_prof_main.c:
int main () {
return kernel (1000);
}

loop_prof_kernel.c:
int kernel (int n) {
int i,j;
int s = 0;

for (i=0; i#pragma novector
#pragma nounroll
for (j=0; j s += i*j;

return s;
}

icc -profile-loops=all -profile-loops-report=2 -c loop_prof_kernel.c
icc -c loop_prof_main.c
icc -o loop_prof loop_prof_kernel.o loop_prof_main.o
./loop_prof
cat *loops*.dump
time(abs) time(%) self(abs) self(%) min_iterations avg_iterations max_iterations loop_entries loop_exits function function_file:line loop_file:line
5552358 99.8 5552358 99.8 999 999 1 500 999 kernel loop_prof_kernel.c:1 loop_prof_kernel.c:8
5560407 100.0 8049 0.1 1 1 1000 1000 1000 kernel loop_prof_kernel.c:1 loop_prof_kernel.c:5
time(abs) time(%) self(abs) self(%) min_iterations avg_iterations max_iterations loop_entries loop_exits function function_file:line loop_file:line
0 Kudos
1 Reply
eoseret
Beginner
297 Views
Do you need extra information ?
0 Kudos
Reply