options

exec - 2024-02-21 23:52:51 - MAQAO 2.19.1

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

▼Stylizer  

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

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

[ 3.00 / 3 ] Optimization level option is correctly 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 ] Architecture specific option -axCORE is used

[ 2 / 2 ] Application is correctly profiled ("Others" category represents 0.01 % 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

▼Optimizer

Loop IDModuleAnalysisPenalty ScoreCoverage (%)Vectorization
Ratio (%)
Vector Length
Use (%)
►452execPartial or unexisting vectorization - Use pragma to force vectorization and check potential dependencies between array access.545.7975.6221.81
○[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 13 issues ( = indirect data accesses) costing 4 point each.52
○[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 1 issues ( = data accesses) costing 2 point each.2
►310execPartial or unexisting vectorization - Use pragma to force vectorization and check potential dependencies between array access.365.2576.7121.76
○[SA] Too many paths (32 paths) - Simplify control structure. There are 32 issues ( = paths) costing 1 point each with a malus of 4 points.36
○Warning! Some static analysis are missing because the loop has too many paths. Use a higher value for --maximal_path_number option.0
►454execPartial or unexisting vectorization - Use pragma to force vectorization and check potential dependencies between array access.505.0474.9321.67
○[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 12 issues ( = indirect data accesses) costing 4 point each.48
○[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 1 issues ( = data accesses) costing 2 point each.2
►395execPartial or unexisting vectorization - Use pragma to force vectorization and check potential dependencies between array access.164.9969.6420.98
○[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 4 issues ( = indirect data accesses) costing 4 point each.16
►289execPartial or unexisting vectorization - Use pragma to force vectorization and check potential dependencies between array access.544.9169.2321
○[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 13 issues ( = indirect data accesses) costing 4 point each.52
○[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 1 issues ( = data accesses) costing 2 point each.2
►318execPartial or unexisting vectorization - Use pragma to force vectorization and check potential dependencies between array access.364.8374.8921.51
○[SA] Too many paths (32 paths) - Simplify control structure. There are 32 issues ( = paths) costing 1 point each with a malus of 4 points.36
○Warning! Some static analysis are missing because the loop has too many paths. Use a higher value for --maximal_path_number option.0
►294execPartial or unexisting vectorization - Use pragma to force vectorization and check potential dependencies between array access.204.1179.8422.28
○[SA] Too many paths (16 paths) - Simplify control structure. There are 16 issues ( = paths) costing 1 point each with a malus of 4 points.20
○Warning! Some static analysis are missing because the loop has too many paths. Use a higher value for --maximal_path_number option.0
►905execPartial or unexisting vectorization - Use pragma to force vectorization and check potential dependencies between array access.2604.0877.3521.84
○[SA] Too many paths (256 paths) - Simplify control structure. There are 256 issues ( = paths) costing 1 point each with a malus of 4 points.260
○Warning! Some static analysis are missing because the loop has too many paths. Use a higher value for --maximal_path_number option.0
►316execPartial or unexisting vectorization - Use pragma to force vectorization and check potential dependencies between array access.243.9768.620.76
○[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 6 issues ( = indirect data accesses) costing 4 point each.24
►308execPartial or unexisting vectorization - Use pragma to force vectorization and check potential dependencies between array access.243.9470.5420.93
○[SA] Presence of indirect accesses - Use array restructuring or gather instructions to lower the cost. There are 6 issues ( = indirect data accesses) costing 4 point each.24
×