| gcc_2 | icx_5 | 
|---|---|
[ 3 / 3 ] Host configuration allows retrieval of all necessary metrics.  | [ 3 / 3 ] Host configuration allows retrieval of all necessary metrics.  | 
[ 3.00 / 3 ] Architecture specific option -march=graniterapids is used  | [ 3.00 / 3 ] Architecture specific option -x GRANITERAPIDS is used  | 
[ 3.00 / 3 ] Most of time spent in analyzed modules comes from functions compiled with -g and -fno-omit-frame-pointer -g option gives access to debugging informations, such are source locations. -fno-omit-frame-pointer improve the accuracy of callchains found during the application profiling.  | [ 3.00 / 3 ] Most of time spent in analyzed modules comes from functions compiled with -g and -fno-omit-frame-pointer -g option gives access to debugging informations, such are source locations. -fno-omit-frame-pointer improve the accuracy of callchains found during the application profiling.  | 
[ 4 / 4 ] Application profile is long enough (28.83 s) To have good quality measurements, it is advised that the application profiling time is greater than 10 seconds.  | [ 4 / 4 ] Application profile is long enough (31.11 s) To have good quality measurements, it is advised that the application profiling time is greater than 10 seconds.  | 
[ 2 / 2 ] Application is correctly profiled ("Others" category represents 0.00 % of the execution time) To have a representative profiling, it is advised that the category "Others" represents less than 20% of the execution time in order to analyze as much as possible of the user code  | [ 2 / 2 ] Application is correctly profiled ("Others" category represents 0.00 % of the execution time) To have a representative profiling, it is advised that the category "Others" represents less than 20% of the execution time in order to analyze as much as possible of the user code  | 
[ 3 / 3 ] Optimization level option is correctly used  | [ 3 / 3 ] Optimization level option is correctly used  | 
[ 1 / 1 ] Lstopo present. The Topology lstopo report will be generated.  | [ 1 / 1 ] Lstopo present. The Topology lstopo report will be generated.  | 
| gcc_2 | icx_5 | 
|---|---|
[ 4 / 4 ] CPU activity is good CPU cores are active 98.96% of time  | [ 4 / 4 ] CPU activity is good CPU cores are active 98.60% of time  | 
[ 4 / 4 ] Affinity is good (99.68%) Threads are not migrating to CPU cores: probably successfully pinned  | [ 4 / 4 ] Affinity is good (99.75%) Threads are not migrating to CPU cores: probably successfully pinned  | 
[ 4 / 4 ] Enough time of the experiment time spent in analyzed loops (94.86%) If the time spent in analyzed loops is less than 30%, standard loop optimizations will have a limited impact on application performances.  | [ 4 / 4 ] Enough time of the experiment time spent in analyzed loops (93.45%) If the time spent in analyzed loops is less than 30%, standard loop optimizations will have a limited impact on application performances.  | 
[ 3 / 3 ] Cumulative Outermost/In between loops coverage (0.18%) lower than cumulative innermost loop coverage (94.69%) Having cumulative Outermost/In between loops coverage greater than cumulative innermost loop coverage will make loop optimization more complex  | [ 3 / 3 ] Cumulative Outermost/In between loops coverage (0.01%) lower than cumulative innermost loop coverage (93.44%) Having cumulative Outermost/In between loops coverage greater than cumulative innermost loop coverage will make loop optimization more complex  | 
[ 4 / 4 ] Threads activity is good On average, more than 97.12% of observed threads are actually active  | [ 4 / 4 ] Threads activity is good On average, more than 96.93% of observed threads are actually active  | 
[ 2 / 2 ] Less than 10% (0.00%) is spend in BLAS2 operations BLAS2 calls usually could make a poor cache usage and could benefit from inlining.  | [ 2 / 2 ] Less than 10% (0.00%) is spend in BLAS2 operations BLAS2 calls usually could make a poor cache usage and could benefit from inlining.  | 
[ 4 / 4 ] Enough time of the experiment time spent in analyzed innermost loops (94.69%) If the time spent in analyzed innermost loops is less than 15%, standard innermost loop optimizations such as vectorisation will have a limited impact on application performances.  | [ 4 / 4 ] Enough time of the experiment time spent in analyzed innermost loops (93.44%) If the time spent in analyzed innermost loops is less than 15%, standard innermost loop optimizations such as vectorisation will have a limited impact on application performances.  | 
[ 3 / 3 ] Less than 10% (0.00%) is spend in BLAS1 operations It could be more efficient to inline by hand BLAS1 operations  | [ 3 / 3 ] Less than 10% (0.00%) is spend in BLAS1 operations It could be more efficient to inline by hand BLAS1 operations  | 
[ 2 / 2 ] Less than 10% (0.00%) is spend in Libm/SVML (special functions)  | [ 2 / 2 ] Less than 10% (0.00%) is spend in Libm/SVML (special functions)  | 
[ 4 / 4 ] Loop profile is not flat At least one loop coverage is greater than 4% (6.04%), representing an hotspot for the application  | [ 4 / 4 ] Loop profile is not flat At least one loop coverage is greater than 4% (5.95%), representing an hotspot for the application  | 
| Analysis | r_1 | r_2 | |
|---|---|---|---|
| Loop Computation Issues | Presence of expensive FP instructions | 9 | 9 | 
| Less than 10% of the FP ADD/SUB/MUL arithmetic operations are performed using FMA | 2 | 2 | |
| Presence of a large number of scalar integer instructions | 0 | 10 | |
| Control Flow Issues | Presence of 2 to 4 paths | 0 | 7 | 
| Presence of more than 4 paths | 0 | 3 | |
| Data Access Issues | Presence of constant non-unit stride data access | 1 | 0 | 
| Presence of indirect access | 2 | 7 | |
| Presence of expensive instructions: scatter/gather | 2 | 0 | |
| Presence of special instructions executing on a single port | 2 | 2 | |
| More than 20% of the loads are accessing the stack | 3 | 10 | |
| Vectorization Roadblocks | Presence of 2 to 4 paths | 0 | 7 | 
| Presence of more than 4 paths | 0 | 3 | |
| Presence of constant non-unit stride data access | 1 | 0 | |
| Presence of indirect access | 2 | 7 | |
| Inefficient Vectorization | Presence of expensive instructions: scatter/gather | 2 | 0 | 
| Presence of special instructions executing on a single port | 2 | 2 | |
| Use of masked instructions | 2 | 3 | |