options

xhpl - 2025-06-23 10:53:13 - MAQAO 2025.1.0

Help is available by moving the cursor above any symbol or by checking MAQAO website.

  • run_0
  • run_1
  • run_2
  • run_3
  • run_4
  • run_5

Stylizer  

[ 4 / 4 ] Application profile is long enough (727.42 s)

To have good quality measurements, it is advised that the application profiling time is greater than 10 seconds.

[ 2.40 / 3 ] Most of time spent in analyzed modules comes from functions without compilation information

Functions without compilation information (typically not compiled with -g and -grecord-gcc-switches) cumulate 0.20% of the time spent in analyzed modules. Check that -g and -grecord-gcc-switches are present. Remark: if -g and -grecord-gcc-switches are indeed used, this can also be due to some compiler built-in functions (typically math) or statically linked libraries. This warning can be ignored in that case.

[ 3 / 3 ] Optimization level option is correctly used

[ 3 / 3 ] Host configuration allows retrieval of all necessary metrics.

[ 2.99 / 3 ] Architecture specific option -march=znver is used

[ 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

[ 1 / 1 ] Lstopo present. The Topology lstopo report will be generated.

Strategizer  

[ 0 / 4 ] Too little time of the experiment time spent in analyzed loops (2.05%)

If the time spent in analyzed loops is less than 30%, standard loop optimizations will have a limited impact on application performances.

[ 4 / 4 ] CPU activity is good

CPU cores are active 97.12% of time

[ 4 / 4 ] Threads activity is good

On average, more than 97.11% of observed threads are actually active

[ 0 / 4 ] Affinity stability is lower than 90% (15.06%)

Threads are often migrating to other CPU cores/threads. For OpenMP, typically set (OMP_PLACES=cores OMP_PROC_BIND=close) or (OMP_PLACES=threads OMP_PROC_BIND=spread). With OpenMPI + OpenMP, use --bind-to core --map-by node:PE=$OMP_NUM_THREADS --report-bindings. With IntelMPI + OpenMP, set I_MPI_PIN_DOMAIN=omp:compact or I_MPI_PIN_DOMAIN=omp:scatter and use -print-rank-map.

[ 0 / 4 ] Loop profile is flat

No hotspot found in the application (greatest loop coverage is 0.53%), and the twenty hottest loops cumulated coverage is lower than 20% of the application profiled time (2.05%)

[ 0 / 4 ] Too little time of the experiment time spent in analyzed innermost loops (2.04%)

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 ] Cumulative Outermost/In between loops coverage (0.01%) lower than cumulative innermost loop coverage (2.04%)

Having cumulative Outermost/In between loops coverage greater than cumulative innermost loop coverage will make loop optimization more complex

[ 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 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 Libm/SVML (special functions)

Optimizer

Loop IDAnalysisPenalty Score
Loop 252 - xhpl+Execution Time: 0 % - Vectorization Ratio: 0.00 % - Vector Length Use: 12.50 %
Data Access Issues+188
[SA] Presence of constant non unit stride data access - Use array restructuring, perform loop interchange or use gather instructions to lower a bit the cost. There are 32 issues ( = data accesses) costing 2 point each.64
[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 31 issues ( = indirect data accesses) costing 4 point each.124
Vectorization Roadblocks+188
[SA] Presence of constant non unit stride data access - Use array restructuring, perform loop interchange or use gather instructions to lower a bit the cost. There are 32 issues ( = data accesses) costing 2 point each.64
[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 31 issues ( = indirect data accesses) costing 4 point each.124
Loop 303 - xhpl+Execution Time: 0 % - Vectorization Ratio: 0.00 % - Vector Length Use: 12.50 %
Data Access Issues+134
[SA] Presence of constant non unit stride data access - Use array restructuring, perform loop interchange or use gather instructions to lower a bit the cost. There are 63 issues ( = data accesses) costing 2 point each.126
[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 2 issues ( = indirect data accesses) costing 4 point each.8
Vectorization Roadblocks+134
[SA] Presence of constant non unit stride data access - Use array restructuring, perform loop interchange or use gather instructions to lower a bit the cost. There are 63 issues ( = data accesses) costing 2 point each.126
[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 2 issues ( = indirect data accesses) costing 4 point each.8
Loop 289 - xhpl+Execution Time: 0 % - Vectorization Ratio: 0.00 % - Vector Length Use: 12.50 %
Data Access Issues+68
[SA] Presence of constant non unit stride data access - Use array restructuring, perform loop interchange or use gather instructions to lower a bit the cost. There are 32 issues ( = data accesses) costing 2 point each.64
[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 1 issues ( = indirect data accesses) costing 4 point each.4
Vectorization Roadblocks+68
[SA] Presence of constant non unit stride data access - Use array restructuring, perform loop interchange or use gather instructions to lower a bit the cost. There are 32 issues ( = data accesses) costing 2 point each.64
[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 1 issues ( = indirect data accesses) costing 4 point each.4
Loop 112 - xhpl+Execution Time: 0 % - Vectorization Ratio: 100.00 % - Vector Length Use: 100.00 %
Loop Computation Issues+4
[SA] Less than 10% of the FP ADD/SUB/MUL arithmetic operations are performed using FMA - Reorganize arithmetic expressions to exhibit potential for FMA. This issue costs 4 points.4
Loop 115 - xhpl+Execution Time: 0 % - Vectorization Ratio: 100.00 % - Vector Length Use: 100.00 %
Loop Computation Issues+4
[SA] Less than 10% of the FP ADD/SUB/MUL arithmetic operations are performed using FMA - Reorganize arithmetic expressions to exhibit potential for FMA. This issue costs 4 points.4
Loop 295 - xhpl+Execution Time: 0 % - Vectorization Ratio: 0.00 % - Vector Length Use: 12.50 %
Data Access Issues+70
[SA] Presence of constant non unit stride data access - Use array restructuring, perform loop interchange or use gather instructions to lower a bit the cost. There are 33 issues ( = data accesses) costing 2 point each.66
[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 1 issues ( = indirect data accesses) costing 4 point each.4
Vectorization Roadblocks+70
[SA] Presence of constant non unit stride data access - Use array restructuring, perform loop interchange or use gather instructions to lower a bit the cost. There are 33 issues ( = data accesses) costing 2 point each.66
[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 1 issues ( = indirect data accesses) costing 4 point each.4
Loop 177 - xhplExecution Time: 0 % - Vectorization Ratio: 0.00 % - Vector Length Use: 12.50 %

Stylizer  

[ 4 / 4 ] Application profile is long enough (410.15 s)

To have good quality measurements, it is advised that the application profiling time is greater than 10 seconds.

[ 2.39 / 3 ] Most of time spent in analyzed modules comes from functions without compilation information

Functions without compilation information (typically not compiled with -g and -grecord-gcc-switches) cumulate 0.25% of the time spent in analyzed modules. Check that -g and -grecord-gcc-switches are present. Remark: if -g and -grecord-gcc-switches are indeed used, this can also be due to some compiler built-in functions (typically math) or statically linked libraries. This warning can be ignored in that case.

[ 3 / 3 ] Optimization level option is correctly used

[ 3 / 3 ] Host configuration allows retrieval of all necessary metrics.

[ 2.99 / 3 ] Architecture specific option -march=znver is used

[ 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

[ 1 / 1 ] Lstopo present. The Topology lstopo report will be generated.

Strategizer  

[ 0 / 4 ] Too little time of the experiment time spent in analyzed loops (1.36%)

If the time spent in analyzed loops is less than 30%, standard loop optimizations will have a limited impact on application performances.

[ 4 / 4 ] CPU activity is good

CPU cores are active 94.17% of time

[ 4 / 4 ] Threads activity is good

On average, more than 188.06% of observed threads are actually active

[ 0 / 4 ] Affinity stability is lower than 90% (14.01%)

Threads are often migrating to other CPU cores/threads. For OpenMP, typically set (OMP_PLACES=cores OMP_PROC_BIND=close) or (OMP_PLACES=threads OMP_PROC_BIND=spread). With OpenMPI + OpenMP, use --bind-to core --map-by node:PE=$OMP_NUM_THREADS --report-bindings. With IntelMPI + OpenMP, set I_MPI_PIN_DOMAIN=omp:compact or I_MPI_PIN_DOMAIN=omp:scatter and use -print-rank-map.

[ 0 / 4 ] Loop profile is flat

No hotspot found in the application (greatest loop coverage is 0.40%), and the twenty hottest loops cumulated coverage is lower than 20% of the application profiled time (1.36%)

[ 0 / 4 ] Too little time of the experiment time spent in analyzed innermost loops (1.35%)

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 ] Cumulative Outermost/In between loops coverage (0.01%) lower than cumulative innermost loop coverage (1.35%)

Having cumulative Outermost/In between loops coverage greater than cumulative innermost loop coverage will make loop optimization more complex

[ 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 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 Libm/SVML (special functions)

Optimizer

Loop IDAnalysisPenalty Score
Loop 303 - xhpl+Execution Time: 0 % - Vectorization Ratio: 0.00 % - Vector Length Use: 12.50 %
Data Access Issues+134
[SA] Presence of constant non unit stride data access - Use array restructuring, perform loop interchange or use gather instructions to lower a bit the cost. There are 63 issues ( = data accesses) costing 2 point each.126
[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 2 issues ( = indirect data accesses) costing 4 point each.8
Vectorization Roadblocks+134
[SA] Presence of constant non unit stride data access - Use array restructuring, perform loop interchange or use gather instructions to lower a bit the cost. There are 63 issues ( = data accesses) costing 2 point each.126
[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 2 issues ( = indirect data accesses) costing 4 point each.8
Loop 252 - xhpl+Execution Time: 0 % - Vectorization Ratio: 0.00 % - Vector Length Use: 12.50 %
Data Access Issues+188
[SA] Presence of constant non unit stride data access - Use array restructuring, perform loop interchange or use gather instructions to lower a bit the cost. There are 32 issues ( = data accesses) costing 2 point each.64
[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 31 issues ( = indirect data accesses) costing 4 point each.124
Vectorization Roadblocks+188
[SA] Presence of constant non unit stride data access - Use array restructuring, perform loop interchange or use gather instructions to lower a bit the cost. There are 32 issues ( = data accesses) costing 2 point each.64
[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 31 issues ( = indirect data accesses) costing 4 point each.124
Loop 289 - xhpl+Execution Time: 0 % - Vectorization Ratio: 0.00 % - Vector Length Use: 12.50 %
Data Access Issues+68
[SA] Presence of constant non unit stride data access - Use array restructuring, perform loop interchange or use gather instructions to lower a bit the cost. There are 32 issues ( = data accesses) costing 2 point each.64
[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 1 issues ( = indirect data accesses) costing 4 point each.4
Vectorization Roadblocks+68
[SA] Presence of constant non unit stride data access - Use array restructuring, perform loop interchange or use gather instructions to lower a bit the cost. There are 32 issues ( = data accesses) costing 2 point each.64
[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 1 issues ( = indirect data accesses) costing 4 point each.4
Loop 295 - xhpl+Execution Time: 0 % - Vectorization Ratio: 0.00 % - Vector Length Use: 12.50 %
Data Access Issues+70
[SA] Presence of constant non unit stride data access - Use array restructuring, perform loop interchange or use gather instructions to lower a bit the cost. There are 33 issues ( = data accesses) costing 2 point each.66
[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 1 issues ( = indirect data accesses) costing 4 point each.4
Vectorization Roadblocks+70
[SA] Presence of constant non unit stride data access - Use array restructuring, perform loop interchange or use gather instructions to lower a bit the cost. There are 33 issues ( = data accesses) costing 2 point each.66
[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 1 issues ( = indirect data accesses) costing 4 point each.4
Loop 112 - xhpl+Execution Time: 0 % - Vectorization Ratio: 100.00 % - Vector Length Use: 100.00 %
Loop Computation Issues+4
[SA] Less than 10% of the FP ADD/SUB/MUL arithmetic operations are performed using FMA - Reorganize arithmetic expressions to exhibit potential for FMA. This issue costs 4 points.4
Loop 115 - xhpl+Execution Time: 0 % - Vectorization Ratio: 100.00 % - Vector Length Use: 100.00 %
Loop Computation Issues+4
[SA] Less than 10% of the FP ADD/SUB/MUL arithmetic operations are performed using FMA - Reorganize arithmetic expressions to exhibit potential for FMA. This issue costs 4 points.4
Loop 177 - xhplExecution Time: 0 % - Vectorization Ratio: 0.00 % - Vector Length Use: 12.50 %

Stylizer  

[ 4 / 4 ] Application profile is long enough (241.97 s)

To have good quality measurements, it is advised that the application profiling time is greater than 10 seconds.

[ 2.39 / 3 ] Most of time spent in analyzed modules comes from functions without compilation information

Functions without compilation information (typically not compiled with -g and -grecord-gcc-switches) cumulate 0.27% of the time spent in analyzed modules. Check that -g and -grecord-gcc-switches are present. Remark: if -g and -grecord-gcc-switches are indeed used, this can also be due to some compiler built-in functions (typically math) or statically linked libraries. This warning can be ignored in that case.

[ 3 / 3 ] Optimization level option is correctly used

[ 3 / 3 ] Host configuration allows retrieval of all necessary metrics.

[ 2.99 / 3 ] Architecture specific option -march=znver is used

[ 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

[ 1 / 1 ] Lstopo present. The Topology lstopo report will be generated.

Strategizer  

[ 0 / 4 ] Too little time of the experiment time spent in analyzed loops (0.91%)

If the time spent in analyzed loops is less than 30%, standard loop optimizations will have a limited impact on application performances.

[ 4 / 4 ] CPU activity is good

CPU cores are active 90.12% of time

[ 4 / 4 ] Threads activity is good

On average, more than 359.21% of observed threads are actually active

[ 0 / 4 ] Affinity stability is lower than 90% (22.50%)

Threads are often migrating to other CPU cores/threads. For OpenMP, typically set (OMP_PLACES=cores OMP_PROC_BIND=close) or (OMP_PLACES=threads OMP_PROC_BIND=spread). With OpenMPI + OpenMP, use --bind-to core --map-by node:PE=$OMP_NUM_THREADS --report-bindings. With IntelMPI + OpenMP, set I_MPI_PIN_DOMAIN=omp:compact or I_MPI_PIN_DOMAIN=omp:scatter and use -print-rank-map.

[ 0 / 4 ] Loop profile is flat

No hotspot found in the application (greatest loop coverage is 0.30%), and the twenty hottest loops cumulated coverage is lower than 20% of the application profiled time (0.91%)

[ 0 / 4 ] Too little time of the experiment time spent in analyzed innermost loops (0.90%)

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 ] Cumulative Outermost/In between loops coverage (0.01%) lower than cumulative innermost loop coverage (0.90%)

Having cumulative Outermost/In between loops coverage greater than cumulative innermost loop coverage will make loop optimization more complex

[ 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 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 Libm/SVML (special functions)

Optimizer

Loop IDAnalysisPenalty Score
Loop 303 - xhpl+Execution Time: 0 % - Vectorization Ratio: 0.00 % - Vector Length Use: 12.50 %
Data Access Issues+134
[SA] Presence of constant non unit stride data access - Use array restructuring, perform loop interchange or use gather instructions to lower a bit the cost. There are 63 issues ( = data accesses) costing 2 point each.126
[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 2 issues ( = indirect data accesses) costing 4 point each.8
Vectorization Roadblocks+134
[SA] Presence of constant non unit stride data access - Use array restructuring, perform loop interchange or use gather instructions to lower a bit the cost. There are 63 issues ( = data accesses) costing 2 point each.126
[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 2 issues ( = indirect data accesses) costing 4 point each.8
Loop 252 - xhpl+Execution Time: 0 % - Vectorization Ratio: 0.00 % - Vector Length Use: 12.50 %
Data Access Issues+188
[SA] Presence of constant non unit stride data access - Use array restructuring, perform loop interchange or use gather instructions to lower a bit the cost. There are 32 issues ( = data accesses) costing 2 point each.64
[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 31 issues ( = indirect data accesses) costing 4 point each.124
Vectorization Roadblocks+188
[SA] Presence of constant non unit stride data access - Use array restructuring, perform loop interchange or use gather instructions to lower a bit the cost. There are 32 issues ( = data accesses) costing 2 point each.64
[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 31 issues ( = indirect data accesses) costing 4 point each.124
Loop 289 - xhpl+Execution Time: 0 % - Vectorization Ratio: 0.00 % - Vector Length Use: 12.50 %
Data Access Issues+68
[SA] Presence of constant non unit stride data access - Use array restructuring, perform loop interchange or use gather instructions to lower a bit the cost. There are 32 issues ( = data accesses) costing 2 point each.64
[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 1 issues ( = indirect data accesses) costing 4 point each.4
Vectorization Roadblocks+68
[SA] Presence of constant non unit stride data access - Use array restructuring, perform loop interchange or use gather instructions to lower a bit the cost. There are 32 issues ( = data accesses) costing 2 point each.64
[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 1 issues ( = indirect data accesses) costing 4 point each.4
Loop 295 - xhpl+Execution Time: 0 % - Vectorization Ratio: 0.00 % - Vector Length Use: 12.50 %
Data Access Issues+70
[SA] Presence of constant non unit stride data access - Use array restructuring, perform loop interchange or use gather instructions to lower a bit the cost. There are 33 issues ( = data accesses) costing 2 point each.66
[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 1 issues ( = indirect data accesses) costing 4 point each.4
Vectorization Roadblocks+70
[SA] Presence of constant non unit stride data access - Use array restructuring, perform loop interchange or use gather instructions to lower a bit the cost. There are 33 issues ( = data accesses) costing 2 point each.66
[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 1 issues ( = indirect data accesses) costing 4 point each.4
Loop 177 - xhplExecution Time: 0 % - Vectorization Ratio: 0.00 % - Vector Length Use: 12.50 %
Loop 112 - xhpl+Execution Time: 0 % - Vectorization Ratio: 100.00 % - Vector Length Use: 100.00 %
Loop Computation Issues+4
[SA] Less than 10% of the FP ADD/SUB/MUL arithmetic operations are performed using FMA - Reorganize arithmetic expressions to exhibit potential for FMA. This issue costs 4 points.4
Loop 115 - xhpl+Execution Time: 0 % - Vectorization Ratio: 100.00 % - Vector Length Use: 100.00 %
Loop Computation Issues+4
[SA] Less than 10% of the FP ADD/SUB/MUL arithmetic operations are performed using FMA - Reorganize arithmetic expressions to exhibit potential for FMA. This issue costs 4 points.4

Stylizer  

[ 4 / 4 ] Application profile is long enough (158.17 s)

To have good quality measurements, it is advised that the application profiling time is greater than 10 seconds.

[ 2.39 / 3 ] Most of time spent in analyzed modules comes from functions without compilation information

Functions without compilation information (typically not compiled with -g and -grecord-gcc-switches) cumulate 0.42% of the time spent in analyzed modules. Check that -g and -grecord-gcc-switches are present. Remark: if -g and -grecord-gcc-switches are indeed used, this can also be due to some compiler built-in functions (typically math) or statically linked libraries. This warning can be ignored in that case.

[ 3 / 3 ] Optimization level option is correctly used

[ 3 / 3 ] Host configuration allows retrieval of all necessary metrics.

[ 2.99 / 3 ] Architecture specific option -march=znver is used

[ 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

[ 1 / 1 ] Lstopo present. The Topology lstopo report will be generated.

Strategizer  

[ 0 / 4 ] Too little time of the experiment time spent in analyzed loops (0.58%)

If the time spent in analyzed loops is less than 30%, standard loop optimizations will have a limited impact on application performances.

[ 3 / 4 ] CPU activity is below 90% (86.13%)

CPU cores are idle more than 10% of time. Threads supposed to run on these cores are probably IO/sync waiting. Some hints: use faster filesystems to read/write data, improve parallel load balancing and/or scheduling.

[ 4 / 4 ] Threads activity is good

On average, more than 685.16% of observed threads are actually active

[ 1 / 4 ] Affinity stability is lower than 90% (33.08%)

Threads are often migrating to other CPU cores/threads. For OpenMP, typically set (OMP_PLACES=cores OMP_PROC_BIND=close) or (OMP_PLACES=threads OMP_PROC_BIND=spread). With OpenMPI + OpenMP, use --bind-to core --map-by node:PE=$OMP_NUM_THREADS --report-bindings. With IntelMPI + OpenMP, set I_MPI_PIN_DOMAIN=omp:compact or I_MPI_PIN_DOMAIN=omp:scatter and use -print-rank-map.

[ 0 / 4 ] Loop profile is flat

No hotspot found in the application (greatest loop coverage is 0.18%), and the twenty hottest loops cumulated coverage is lower than 20% of the application profiled time (0.58%)

[ 0 / 4 ] Too little time of the experiment time spent in analyzed innermost loops (0.58%)

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 ] Cumulative Outermost/In between loops coverage (0.01%) lower than cumulative innermost loop coverage (0.58%)

Having cumulative Outermost/In between loops coverage greater than cumulative innermost loop coverage will make loop optimization more complex

[ 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 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 Libm/SVML (special functions)

Optimizer

Loop IDAnalysisPenalty Score
Loop 252 - xhpl+Execution Time: 0 % - Vectorization Ratio: 0.00 % - Vector Length Use: 12.50 %
Data Access Issues+188
[SA] Presence of constant non unit stride data access - Use array restructuring, perform loop interchange or use gather instructions to lower a bit the cost. There are 32 issues ( = data accesses) costing 2 point each.64
[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 31 issues ( = indirect data accesses) costing 4 point each.124
Vectorization Roadblocks+188
[SA] Presence of constant non unit stride data access - Use array restructuring, perform loop interchange or use gather instructions to lower a bit the cost. There are 32 issues ( = data accesses) costing 2 point each.64
[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 31 issues ( = indirect data accesses) costing 4 point each.124
Loop 303 - xhpl+Execution Time: 0 % - Vectorization Ratio: 0.00 % - Vector Length Use: 12.50 %
Data Access Issues+134
[SA] Presence of constant non unit stride data access - Use array restructuring, perform loop interchange or use gather instructions to lower a bit the cost. There are 63 issues ( = data accesses) costing 2 point each.126
[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 2 issues ( = indirect data accesses) costing 4 point each.8
Vectorization Roadblocks+134
[SA] Presence of constant non unit stride data access - Use array restructuring, perform loop interchange or use gather instructions to lower a bit the cost. There are 63 issues ( = data accesses) costing 2 point each.126
[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 2 issues ( = indirect data accesses) costing 4 point each.8
Loop 289 - xhpl+Execution Time: 0 % - Vectorization Ratio: 0.00 % - Vector Length Use: 12.50 %
Data Access Issues+68
[SA] Presence of constant non unit stride data access - Use array restructuring, perform loop interchange or use gather instructions to lower a bit the cost. There are 32 issues ( = data accesses) costing 2 point each.64
[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 1 issues ( = indirect data accesses) costing 4 point each.4
Vectorization Roadblocks+68
[SA] Presence of constant non unit stride data access - Use array restructuring, perform loop interchange or use gather instructions to lower a bit the cost. There are 32 issues ( = data accesses) costing 2 point each.64
[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 1 issues ( = indirect data accesses) costing 4 point each.4
Loop 177 - xhplExecution Time: 0 % - Vectorization Ratio: 0.00 % - Vector Length Use: 12.50 %
Loop 295 - xhpl+Execution Time: 0 % - Vectorization Ratio: 0.00 % - Vector Length Use: 12.50 %
Data Access Issues+70
[SA] Presence of constant non unit stride data access - Use array restructuring, perform loop interchange or use gather instructions to lower a bit the cost. There are 33 issues ( = data accesses) costing 2 point each.66
[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 1 issues ( = indirect data accesses) costing 4 point each.4
Vectorization Roadblocks+70
[SA] Presence of constant non unit stride data access - Use array restructuring, perform loop interchange or use gather instructions to lower a bit the cost. There are 33 issues ( = data accesses) costing 2 point each.66
[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 1 issues ( = indirect data accesses) costing 4 point each.4
Loop 112 - xhpl+Execution Time: 0 % - Vectorization Ratio: 100.00 % - Vector Length Use: 100.00 %
Loop Computation Issues+4
[SA] Less than 10% of the FP ADD/SUB/MUL arithmetic operations are performed using FMA - Reorganize arithmetic expressions to exhibit potential for FMA. This issue costs 4 points.4
Loop 115 - xhpl+Execution Time: 0 % - Vectorization Ratio: 100.00 % - Vector Length Use: 100.00 %
Loop Computation Issues+4
[SA] Less than 10% of the FP ADD/SUB/MUL arithmetic operations are performed using FMA - Reorganize arithmetic expressions to exhibit potential for FMA. This issue costs 4 points.4

Stylizer  

[ 4 / 4 ] Application profile is long enough (108.24 s)

To have good quality measurements, it is advised that the application profiling time is greater than 10 seconds.

[ 2.39 / 3 ] Most of time spent in analyzed modules comes from functions without compilation information

Functions without compilation information (typically not compiled with -g and -grecord-gcc-switches) cumulate 0.33% of the time spent in analyzed modules. Check that -g and -grecord-gcc-switches are present. Remark: if -g and -grecord-gcc-switches are indeed used, this can also be due to some compiler built-in functions (typically math) or statically linked libraries. This warning can be ignored in that case.

[ 3 / 3 ] Optimization level option is correctly used

[ 3 / 3 ] Host configuration allows retrieval of all necessary metrics.

[ 2.99 / 3 ] Architecture specific option -march=znver is used

[ 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

[ 1 / 1 ] Lstopo present. The Topology lstopo report will be generated.

Strategizer  

[ 0 / 4 ] Too little time of the experiment time spent in analyzed loops (0.43%)

If the time spent in analyzed loops is less than 30%, standard loop optimizations will have a limited impact on application performances.

[ 3 / 4 ] CPU activity is below 90% (77.96%)

CPU cores are idle more than 10% of time. Threads supposed to run on these cores are probably IO/sync waiting. Some hints: use faster filesystems to read/write data, improve parallel load balancing and/or scheduling.

[ 4 / 4 ] Threads activity is good

On average, more than 1236.25% of observed threads are actually active

[ 1 / 4 ] Affinity stability is lower than 90% (47.19%)

Threads are often migrating to other CPU cores/threads. For OpenMP, typically set (OMP_PLACES=cores OMP_PROC_BIND=close) or (OMP_PLACES=threads OMP_PROC_BIND=spread). With OpenMPI + OpenMP, use --bind-to core --map-by node:PE=$OMP_NUM_THREADS --report-bindings. With IntelMPI + OpenMP, set I_MPI_PIN_DOMAIN=omp:compact or I_MPI_PIN_DOMAIN=omp:scatter and use -print-rank-map.

[ 0 / 4 ] Loop profile is flat

No hotspot found in the application (greatest loop coverage is 0.14%), and the twenty hottest loops cumulated coverage is lower than 20% of the application profiled time (0.43%)

[ 0 / 4 ] Too little time of the experiment time spent in analyzed innermost loops (0.43%)

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 ] Cumulative Outermost/In between loops coverage (0.01%) lower than cumulative innermost loop coverage (0.43%)

Having cumulative Outermost/In between loops coverage greater than cumulative innermost loop coverage will make loop optimization more complex

[ 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 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 Libm/SVML (special functions)

Optimizer

Loop IDAnalysisPenalty Score
Loop 252 - xhpl+Execution Time: 0 % - Vectorization Ratio: 0.00 % - Vector Length Use: 12.50 %
Data Access Issues+188
[SA] Presence of constant non unit stride data access - Use array restructuring, perform loop interchange or use gather instructions to lower a bit the cost. There are 32 issues ( = data accesses) costing 2 point each.64
[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 31 issues ( = indirect data accesses) costing 4 point each.124
Vectorization Roadblocks+188
[SA] Presence of constant non unit stride data access - Use array restructuring, perform loop interchange or use gather instructions to lower a bit the cost. There are 32 issues ( = data accesses) costing 2 point each.64
[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 31 issues ( = indirect data accesses) costing 4 point each.124
Loop 303 - xhpl+Execution Time: 0 % - Vectorization Ratio: 0.00 % - Vector Length Use: 12.50 %
Data Access Issues+134
[SA] Presence of constant non unit stride data access - Use array restructuring, perform loop interchange or use gather instructions to lower a bit the cost. There are 63 issues ( = data accesses) costing 2 point each.126
[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 2 issues ( = indirect data accesses) costing 4 point each.8
Vectorization Roadblocks+134
[SA] Presence of constant non unit stride data access - Use array restructuring, perform loop interchange or use gather instructions to lower a bit the cost. There are 63 issues ( = data accesses) costing 2 point each.126
[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 2 issues ( = indirect data accesses) costing 4 point each.8
Loop 289 - xhpl+Execution Time: 0 % - Vectorization Ratio: 0.00 % - Vector Length Use: 12.50 %
Data Access Issues+68
[SA] Presence of constant non unit stride data access - Use array restructuring, perform loop interchange or use gather instructions to lower a bit the cost. There are 32 issues ( = data accesses) costing 2 point each.64
[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 1 issues ( = indirect data accesses) costing 4 point each.4
Vectorization Roadblocks+68
[SA] Presence of constant non unit stride data access - Use array restructuring, perform loop interchange or use gather instructions to lower a bit the cost. There are 32 issues ( = data accesses) costing 2 point each.64
[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 1 issues ( = indirect data accesses) costing 4 point each.4
Loop 177 - xhplExecution Time: 0 % - Vectorization Ratio: 0.00 % - Vector Length Use: 12.50 %
Loop 295 - xhpl+Execution Time: 0 % - Vectorization Ratio: 0.00 % - Vector Length Use: 12.50 %
Data Access Issues+70
[SA] Presence of constant non unit stride data access - Use array restructuring, perform loop interchange or use gather instructions to lower a bit the cost. There are 33 issues ( = data accesses) costing 2 point each.66
[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 1 issues ( = indirect data accesses) costing 4 point each.4
Vectorization Roadblocks+70
[SA] Presence of constant non unit stride data access - Use array restructuring, perform loop interchange or use gather instructions to lower a bit the cost. There are 33 issues ( = data accesses) costing 2 point each.66
[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 1 issues ( = indirect data accesses) costing 4 point each.4
Loop 112 - xhpl+Execution Time: 0 % - Vectorization Ratio: 100.00 % - Vector Length Use: 100.00 %
Loop Computation Issues+4
[SA] Less than 10% of the FP ADD/SUB/MUL arithmetic operations are performed using FMA - Reorganize arithmetic expressions to exhibit potential for FMA. This issue costs 4 points.4
Loop 115 - xhpl+Execution Time: 0 % - Vectorization Ratio: 100.00 % - Vector Length Use: 100.00 %
Loop Computation Issues+4
[SA] Less than 10% of the FP ADD/SUB/MUL arithmetic operations are performed using FMA - Reorganize arithmetic expressions to exhibit potential for FMA. This issue costs 4 points.4

Stylizer  

[ 4 / 4 ] Application profile is long enough (86.43 s)

To have good quality measurements, it is advised that the application profiling time is greater than 10 seconds.

[ 2.39 / 3 ] Most of time spent in analyzed modules comes from functions without compilation information

Functions without compilation information (typically not compiled with -g and -grecord-gcc-switches) cumulate 0.37% of the time spent in analyzed modules. Check that -g and -grecord-gcc-switches are present. Remark: if -g and -grecord-gcc-switches are indeed used, this can also be due to some compiler built-in functions (typically math) or statically linked libraries. This warning can be ignored in that case.

[ 3 / 3 ] Optimization level option is correctly used

[ 3 / 3 ] Host configuration allows retrieval of all necessary metrics.

[ 2.99 / 3 ] Architecture specific option -march=znver is used

[ 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

[ 1 / 1 ] Lstopo present. The Topology lstopo report will be generated.

Strategizer  

[ 0 / 4 ] Too little time of the experiment time spent in analyzed loops (0.35%)

If the time spent in analyzed loops is less than 30%, standard loop optimizations will have a limited impact on application performances.

[ 3 / 4 ] CPU activity is below 90% (74.68%)

CPU cores are idle more than 10% of time. Threads supposed to run on these cores are probably IO/sync waiting. Some hints: use faster filesystems to read/write data, improve parallel load balancing and/or scheduling.

[ 4 / 4 ] Threads activity is good

On average, more than 1772.34% of observed threads are actually active

[ 1 / 4 ] Affinity stability is lower than 90% (42.46%)

Threads are often migrating to other CPU cores/threads. For OpenMP, typically set (OMP_PLACES=cores OMP_PROC_BIND=close) or (OMP_PLACES=threads OMP_PROC_BIND=spread). With OpenMPI + OpenMP, use --bind-to core --map-by node:PE=$OMP_NUM_THREADS --report-bindings. With IntelMPI + OpenMP, set I_MPI_PIN_DOMAIN=omp:compact or I_MPI_PIN_DOMAIN=omp:scatter and use -print-rank-map.

[ 0 / 4 ] Loop profile is flat

No hotspot found in the application (greatest loop coverage is 0.12%), and the twenty hottest loops cumulated coverage is lower than 20% of the application profiled time (0.35%)

[ 0 / 4 ] Too little time of the experiment time spent in analyzed innermost loops (0.35%)

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 ] Cumulative Outermost/In between loops coverage (0.01%) lower than cumulative innermost loop coverage (0.35%)

Having cumulative Outermost/In between loops coverage greater than cumulative innermost loop coverage will make loop optimization more complex

[ 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 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 Libm/SVML (special functions)

Optimizer

Loop IDAnalysisPenalty Score
Loop 252 - xhpl+Execution Time: 0 % - Vectorization Ratio: 0.00 % - Vector Length Use: 12.50 %
Data Access Issues+188
[SA] Presence of constant non unit stride data access - Use array restructuring, perform loop interchange or use gather instructions to lower a bit the cost. There are 32 issues ( = data accesses) costing 2 point each.64
[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 31 issues ( = indirect data accesses) costing 4 point each.124
Vectorization Roadblocks+188
[SA] Presence of constant non unit stride data access - Use array restructuring, perform loop interchange or use gather instructions to lower a bit the cost. There are 32 issues ( = data accesses) costing 2 point each.64
[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 31 issues ( = indirect data accesses) costing 4 point each.124
Loop 303 - xhpl+Execution Time: 0 % - Vectorization Ratio: 0.00 % - Vector Length Use: 12.50 %
Data Access Issues+134
[SA] Presence of constant non unit stride data access - Use array restructuring, perform loop interchange or use gather instructions to lower a bit the cost. There are 63 issues ( = data accesses) costing 2 point each.126
[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 2 issues ( = indirect data accesses) costing 4 point each.8
Vectorization Roadblocks+134
[SA] Presence of constant non unit stride data access - Use array restructuring, perform loop interchange or use gather instructions to lower a bit the cost. There are 63 issues ( = data accesses) costing 2 point each.126
[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 2 issues ( = indirect data accesses) costing 4 point each.8
Loop 289 - xhpl+Execution Time: 0 % - Vectorization Ratio: 0.00 % - Vector Length Use: 12.50 %
Data Access Issues+68
[SA] Presence of constant non unit stride data access - Use array restructuring, perform loop interchange or use gather instructions to lower a bit the cost. There are 32 issues ( = data accesses) costing 2 point each.64
[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 1 issues ( = indirect data accesses) costing 4 point each.4
Vectorization Roadblocks+68
[SA] Presence of constant non unit stride data access - Use array restructuring, perform loop interchange or use gather instructions to lower a bit the cost. There are 32 issues ( = data accesses) costing 2 point each.64
[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 1 issues ( = indirect data accesses) costing 4 point each.4
Loop 177 - xhplExecution Time: 0 % - Vectorization Ratio: 0.00 % - Vector Length Use: 12.50 %
Loop 295 - xhpl+Execution Time: 0 % - Vectorization Ratio: 0.00 % - Vector Length Use: 12.50 %
Data Access Issues+70
[SA] Presence of constant non unit stride data access - Use array restructuring, perform loop interchange or use gather instructions to lower a bit the cost. There are 33 issues ( = data accesses) costing 2 point each.66
[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 1 issues ( = indirect data accesses) costing 4 point each.4
Vectorization Roadblocks+70
[SA] Presence of constant non unit stride data access - Use array restructuring, perform loop interchange or use gather instructions to lower a bit the cost. There are 33 issues ( = data accesses) costing 2 point each.66
[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 1 issues ( = indirect data accesses) costing 4 point each.4
Loop 112 - xhpl+Execution Time: 0 % - Vectorization Ratio: 100.00 % - Vector Length Use: 100.00 %
Loop Computation Issues+4
[SA] Less than 10% of the FP ADD/SUB/MUL arithmetic operations are performed using FMA - Reorganize arithmetic expressions to exhibit potential for FMA. This issue costs 4 points.4
Loop 115 - xhpl+Execution Time: 0 % - Vectorization Ratio: 100.00 % - Vector Length Use: 100.00 %
Loop Computation Issues+4
[SA] Less than 10% of the FP ADD/SUB/MUL arithmetic operations are performed using FMA - Reorganize arithmetic expressions to exhibit potential for FMA. This issue costs 4 points.4
×