options

Loops Index

69 loops have been discarded from the report because their coverage is lower than the threshold set by object_coverage_threshold (0.01%). It represents about 0% of the application. To include them, change the value of object_coverage_threshold in the experiment directory configuration file, then rerun the command with the additionnal parameter --force-static-analysis

Colums Filter

Level Coverage run_0 (%) Max Time Over Threads run_0 (s) Time w.r.t. Wall Time run_0 (s) Nb Threads run_0 GFLOPS run_0 Vectorization Ratio (%) Vector Length Use (%) Speedup If No Scalar Integer Speedup If FP Vectorized Speedup If Fully Vectorized Speedup If Perfect Load Balancing run_0 Stride 0 Stride 1 Stride n Stride Unknown Stride Indirect
Loop idSource LocationSource FunctionLevelCoverage run_0 (%)Max Time Over Threads run_0 (s)Time w.r.t. Wall Time run_0 (s)Nb Threads run_0GFLOPS run_0Vectorization Ratio (%)Vector Length Use (%)Speedup If No Scalar IntegerSpeedup If FP VectorizedSpeedup If Fully VectorizedSpeedup If Perfect Load Balancing run_0Stride 0Stride 1Stride nStride UnknownStride Indirect
473exec - viscosity.cpp:39-64 [...]viscosity_kernel(int, int, int, int, clover::Buffer1D<double>&, clover::Buffer1D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&...Innermost7.42.482.36112336.0710.5913.8211.81.81.05NANANANANA
210exec - PdV.cpp:72-83 [...]PdV_kernel(bool, int, int, int, int, double, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double...Innermost5.9221.89112314.601001001111.06111110
155exec - calc_dt.cpp:52-75 [...]calc_dt_kernel(int, int, int, int, double, double, double, double, double, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer1D<double>&, clover::Buffer1D<double>&, clover::Buffer1D<double>&am...Innermost5.741.891.83112426.1199.2198.121111.03200014
207exec - PdV.cpp:51-63 [...]PdV_kernel(bool, int, int, int, int, double, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double...Innermost4.761.611.52112337.591001001111.07111110
94exec - accelerate.cpp:43-53accelerate_kernel(int, int, int, int, double, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<doubl...Innermost4.651.651.48112498.571001001.06111.11101120
137exec - advec_mom.cpp:186-211 [...]advec_mom_kernel(int, int, int, int, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&...Innermost4.51.61.43112546.9296.1591.111111.1232006
190exec - flux_calc.cpp:39-40flux_calc_kernel(int, int, int, int, double, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double...Innermost4.341.461.38112148.581001001111.06112000
128exec - advec_mom.cpp:114-139advec_mom_kernel(int, int, int, int, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&...Innermost4.231.541.35112607.4110094.021111.1423006
462exec - ideal_gas.cpp:40-45ideal_gas_kernel(int, int, int, int, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&) [clone ._omp_fn.0]Innermost4.031.371.28112272.341001001111.0703100
139exec - advec_mom.cpp:221-221 [...]advec_mom_kernel(int, int, int, int, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&...Innermost3.441.181.1112148.981001001111.0705000
130exec - advec_mom.cpp:149-149 [...]advec_mom_kernel(int, int, int, int, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&...Innermost3.411.181.09112150.051001001111.0905000
111exec - advec_cell.cpp:163-202 [...]advec_cell_kernel(int, int, int, int, int, int, clover::Buffer1D<double>&, clover::Buffer1D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<dou...Innermost3.291.111.05112684.0198.8794.351.09111.06321015
101exec - advec_cell.cpp:71-110 [...]advec_cell_kernel(int, int, int, int, int, int, clover::Buffer1D<double>&, clover::Buffer1D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<dou...Innermost2.961.010.94112764.4110094.441.0511.011.07231016
134exec - advec_mom.cpp:170-172 [...]advec_mom_kernel(int, int, int, int, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&...Innermost2.730.910.87112234.611001001111.05112000
125exec - advec_mom.cpp:98-100 [...]advec_mom_kernel(int, int, int, int, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&...Innermost2.730.920.87112236.601001001111.06112000
113exec - advec_cell.cpp:211-216advec_cell_kernel(int, int, int, int, int, int, clover::Buffer1D<double>&, clover::Buffer1D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<dou...Innermost2.730.930.87112237.321001001111.0719000
115exec - advec_mom.cpp:47-48advec_mom_kernel(int, int, int, int, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&...Innermost2.650.880.8511297.721001001111.0507000
103exec - advec_cell.cpp:120-125advec_cell_kernel(int, int, int, int, int, int, clover::Buffer1D<double>&, clover::Buffer1D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<dou...Innermost2.650.910.85112239.851001001111.0819000
117exec - advec_mom.cpp:56-57advec_mom_kernel(int, int, int, int, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&...Innermost2.590.860.8311298.011001001111.0507000
121exec - advec_mom.cpp:74-75advec_mom_kernel(int, int, int, int, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&...Innermost2.070.710.6611262.181001001111.0815000
119exec - advec_mom.cpp:65-66advec_mom_kernel(int, int, int, int, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&...Innermost2.040.690.6511261.721001001111.0605000
214exec - reset_field.cpp:47-48reset_field_kernel(int, int, int, int, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&a...Innermost1.910.660.611120.001001001111.0814000
212exec - reset_field.cpp:37-38reset_field_kernel(int, int, int, int, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&a...Innermost1.650.570.531120.001001001111.0814000
204exec - revert.cpp:37-38revert_kernel(int, int, int, int, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&) [clone ._omp_fn.0]Innermost1.60.550.511120.001001001111.0814000
96exec - advec_cell.cpp:47-48advec_cell_kernel(int, int, int, int, int, int, clover::Buffer1D<double>&, clover::Buffer1D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<dou...Innermost1.340.450.43112145.801001001111.0505200
105exec - advec_cell.cpp:139-140advec_cell_kernel(int, int, int, int, int, int, clover::Buffer1D<double>&, clover::Buffer1D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<dou...Innermost1.310.440.42112144.751001001111.0505200
107exec - advec_cell.cpp:149-150advec_cell_kernel(int, int, int, int, int, int, clover::Buffer1D<double>&, clover::Buffer1D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<dou...Innermost1.050.390.3411260.921001001111.1504100
98exec - advec_cell.cpp:57-58advec_cell_kernel(int, int, int, int, int, int, clover::Buffer1D<double>&, clover::Buffer1D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<dou...Innermost1.040.360.3311261.461001001111.0904100
123exec - advec_mom.cpp:88-88advec_mom_kernel(int, int, int, int, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&...Innermost0.740.290.23112357.971001001111.2605000
132exec - advec_mom.cpp:160-160advec_mom_kernel(int, int, int, int, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&...Innermost0.730.280.23112353.851001001111.2205000
457exec - context.h:69-69 [...]field_summary(global_variables&, parallel_&) [clone ._omp_fn.0]Single0.650.220.21112347.3246.1517.791.992.6510.61.0510070
192exec - generate_chunk.cpp:77-80generate_chunk(int, global_variables&) [clone ._omp_fn.0] [clone .lto_priv.0]Innermost0.040.010.011120.005056.25111144000
201exec - pack_kernel.cpp:122-124 [...]clover_pack_message_right(global_variables&, int, int, int, int, clover::Buffer2D<double>&, clover::Buffer1D<double>&, int, int, int, int, int, int, int) [clone ._omp_fn.0] [clone .lto_priv.0]Outermost0.030.050.01550.00011.722.06112.222.5NANANANANA
187exec - pack_kernel.cpp:90-92 [...]clover_unpack_message_left(global_variables&, int, int, int, int, clover::Buffer2D<double>&, clover::Buffer1D<double>&, int, int, int, int, int, int, int) [clone ._omp_fn.0]Outermost0.030.040.01540.00011.722.09112.272NANANANANA
198exec - initialise_chunk.cpp:80-82initialise_chunk(int, global_variables&) [clone ._omp_fn.4] [clone .lto_priv.0]Innermost0.030.010.011120.008082.5111124000
199exec - pack_kernel.cpp:57-59 [...]clover_pack_message_left(global_variables&, int, int, int, int, clover::Buffer2D<double>&, clover::Buffer1D<double>&, int, int, int, int, int, int, int) [clone ._omp_fn.0] [clone .lto_priv.0]Outermost0.030.040.01540.00011.961.93111.752NANANANANA
185exec - pack_kernel.cpp:158-160 [...]clover_unpack_message_right(global_variables&, int, int, int, int, clover::Buffer2D<double>&, clover::Buffer1D<double>&, int, int, int, int, int, int, int) [clone ._omp_fn.0]Outermost0.030.040.01550.00011.961.93111.752NANANANANA
135exec - advec_mom.cpp:182-211 [...]advec_mom_kernel(int, int, int, int, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&...Outermost0.020.030.019437.4565.3834.461.161.161.163NANANANANA
460exec - context.h:46-69 [...]generate_chunk(int, global_variables&) [clone ._omp_fn.1] [clone .lto_priv.0]Innermost0.020.030.011010.00012.52.98183NANANANANA
189exec - flux_calc.cpp:39-40 [...]flux_calc_kernel(int, int, int, int, double, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double...Outermost0.010.010970.0026.4528.272.621.061.310NANANANANA
109exec - advec_cell.cpp:159-202 [...]advec_cell_kernel(int, int, int, int, int, int, clover::Buffer1D<double>&, clover::Buffer1D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<dou...Outermost0.010.010650.0013.2119.14.0511.390NANANANANA
205exec - PdV.cpp:51-63 [...]PdV_kernel(bool, int, int, int, int, double, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double...Outermost0.010.010880.0038.4625.822.471.652.470NANANANANA
461exec - ideal_gas.cpp:40-45 [...]ideal_gas_kernel(int, int, int, int, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&) [clone ._omp_fn.0]Outermost0.010.020560.0046.8147.0111.11.10NANANANANA
213exec - reset_field.cpp:47-48 [...]reset_field_kernel(int, int, int, int, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&a...Outermost0.010.010340.0049.2351.632.6111.211NANANANANA
122exec - advec_mom.cpp:87-88 [...]advec_mom_kernel(int, int, int, int, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&...Outermost0.010.010660.0043.0843.852.171.061.280NANANANANA
124exec - advec_mom.cpp:97-100 [...]advec_mom_kernel(int, int, int, int, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&...Outermost0.010.0101030.0027.5228.92.811.061.320NANANANANA
129exec - advec_mom.cpp:149-149 [...]advec_mom_kernel(int, int, int, int, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&...Outermost0.010.010560.0039.3441.1911.11.10NANANANANA
126exec - advec_mom.cpp:114-139 [...]advec_mom_kernel(int, int, int, int, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&...Outermost0.010.030880.0074.2237.451110NANANANANA
112exec - advec_cell.cpp:211-216 [...]advec_cell_kernel(int, int, int, int, int, int, clover::Buffer1D<double>&, clover::Buffer1D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<dou...Outermost0.010.010540.0027.6629.0111.21.20NANANANANA
208exec - PdV.cpp:72-83 [...]PdV_kernel(bool, int, int, int, int, double, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double...Outermost0.010.010860.0032.7723.953.181.633.180NANANANANA
120exec - advec_mom.cpp:74-75 [...]advec_mom_kernel(int, int, int, int, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&...Outermost0.010.020610.0051.953.42.241.021.220NANANANANA
131exec - advec_mom.cpp:160-160 [...]advec_mom_kernel(int, int, int, int, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&...Outermost0.010.010680.0043.0843.942.111.061.280NANANANANA
102exec - advec_cell.cpp:120-125 [...]advec_cell_kernel(int, int, int, int, int, int, clover::Buffer1D<double>&, clover::Buffer1D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<dou...Outermost0.010.020640.0029.0329.711.21.20NANANANANA
116exec - advec_mom.cpp:53-57 [...]advec_mom_kernel(int, int, int, int, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&...Outermost0.010.020660.0039.0241.082.691.031.250NANANANANA
138exec - advec_mom.cpp:220-221 [...]advec_mom_kernel(int, int, int, int, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&...Outermost0.010.020760.0038.140.0811.11.12NANANANANA
114exec - advec_mom.cpp:44-48 [...]advec_mom_kernel(int, int, int, int, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&...Outermost0.010.010760.004041.82.611.031.240NANANANANA
133exec - advec_mom.cpp:169-172 [...]advec_mom_kernel(int, int, int, int, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&...Outermost0.010.020970.0027.2728.752.881.061.320NANANANANA
92exec - accelerate.cpp:42-53 [...]accelerate_kernel(int, int, int, int, double, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<doubl...Outermost0.010.0101030.0037.0725.484.971.68.110NANANANANA
99exec - advec_cell.cpp:71-110 [...]advec_cell_kernel(int, int, int, int, int, int, clover::Buffer1D<double>&, clover::Buffer1D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<dou...Outermost0.010.010600.0015.7920.07511.30NANANANANA
153exec - calc_dt.cpp:49-75 [...]calc_dt_kernel(int, int, int, int, double, double, double, double, double, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer1D<double>&, clover::Buffer1D<double>&, clover::Buffer1D<double>&am...Outermost0.010.010590.0021.1830.152.1711.410NANANANANA
118exec - advec_mom.cpp:62-66 [...]advec_mom_kernel(int, int, int, int, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&...Outermost0.010.010560.0050.6352.932.311.011.210NANANANANA
228exec - update_halo.cpp:99-100update_halo_kernel(int, int, int, int, std::array<int, 4ul> const&, std::array<int, 4ul> const&, field_type&, int const*, int) [clone ._omp_fn.5]Outermost0.010.010320.00010.052.22113.011NANANANANA
×