options

Loops Index

4 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
152omp-cloverleaf - 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...Innermost9.172.422.4211.2298.4642.51.071.072.131100022
362omp-cloverleaf - PdV.cpp:71-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...Innermost8.252.182.1811.1698.1843.411.041.042.081101026
193omp-cloverleaf - context.h:46-69 [...]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>&...Innermost6.961.841.8411.7497.4444.341.091.21.211.503.509
366omp-cloverleaf - PdV.cpp:50-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...Innermost6.91.821.8210.7797.3743.091.131.192.381000116
163omp-cloverleaf - 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...Innermost6.661.761.7611.5799.5145.791.081.412.091200119
174omp-cloverleaf - advec_cell.cpp:67-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...Innermost5.351.411.4111.9093.8842.981.111.461.941110019
275omp-cloverleaf - flux_calc.cpp:38-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...Innermost4.751.251.2510.5497.7843.611.121.232.461100023
178omp-cloverleaf - advec_cell.cpp:119-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...Innermost4.241.121.1210.6497.4443.271.121.251.81100017
255omp-cloverleaf - calc_dt.cpp:52-76calc_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...Innermost4.161.11.112.4516.514.561221112000
756omp-cloverleaf - viscosity.cpp:38-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>&...Innermost4.091.081.0812.8129.116.1411.681.6813261.670
204omp-cloverleaf - advec_mom.cpp:110-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>&...Innermost3.931.041.0412.8887.7840.051.151.521.5611.5000.513
159omp-cloverleaf - advec_cell.cpp:210-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...Innermost3.730.990.9910.6998.743.671.111.231.781100017
311omp-cloverleaf - ideal_gas.cpp:39-45ideal_gas_kernel(int, int, int, int, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&) [clone .extracted]Innermost3.440.910.9111.409.0913.64122103100
226omp-cloverleaf - advec_mom.cpp:46-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>&...Innermost3.220.850.8510.2495.8343.231.11.372.961000012
222omp-cloverleaf - advec_mom.cpp:55-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>&...Innermost3.030.80.810.3095.8343.231.11.372.961000012
200omp-cloverleaf - 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>&...Innermost2.970.790.7911.1197.6743.311.111.222.441100022
215omp-cloverleaf - 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>&...Innermost2.870.760.7611.2697.6743.311.111.252.51100022
189omp-cloverleaf - 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>&...Innermost2.250.590.5910.8897.4442.631.121.261.891000010
208omp-cloverleaf - advec_mom.cpp:148-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>&...Innermost2.230.590.5911.229541.881.111.251.881000010
182omp-cloverleaf - advec_cell.cpp:46-48 [...]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...Innermost1.680.450.4510.4496.6742.921.111.352.691000013
167omp-cloverleaf - advec_cell.cpp:138-140 [...]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...Innermost1.570.410.4110.3996.6742.921.111.352.691000014
370omp-cloverleaf - reset_field.cpp:36-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.270.330.3310.00012.5118104000
185omp-cloverleaf - advec_mom.cpp:73-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>&...Innermost1.210.320.3210.53012.5118103100
377omp-cloverleaf - revert.cpp:36-38revert_kernel(int, int, int, int, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&) [clone .extracted]Innermost1.120.290.2910.00012.5118104000
218omp-cloverleaf - advec_mom.cpp:64-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>&...Innermost1.040.280.2810.64012.5118105000
373omp-cloverleaf - reset_field.cpp:46-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...Innermost0.960.250.2510.00012.5118104000
211omp-cloverleaf - advec_mom.cpp:87-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.450.120.1212.50012.511.198101200
170omp-cloverleaf - advec_cell.cpp:56-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...Innermost0.440.120.1210.67012.511.068102200
155omp-cloverleaf - advec_cell.cpp:148-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...Innermost0.440.110.1110.73012.511.068104100
196omp-cloverleaf - advec_mom.cpp:159-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.340.090.0913.11012.51.031.198101200
270omp-cloverleaf - field_summary.cpp:81-82field_summary(global_variables&, parallel_&) [clone .extracted]Innermost0.230.060.0612.0092.8643.751.321.423.38100004
268omp-cloverleaf - field_summary.cpp:75-91field_summary(global_variables&, parallel_&) [clone .extracted]Outermost0.170.040.0512.4097.6444.091.11.242.7160060
253omp-cloverleaf - build_field.cpp:102-113build_field(global_variables&) [clone .extracted.37]Innermost0.150.040.0410.0095.6548.371.0512.661000011
404omp-cloverleaf - update_halo.cpp:580-583 [...]update_halo_kernel(int, int, int, int, std::array<int, 4ul> const&, std::array<int, 4ul> const&, field_type&, int const*, int) [clone .extracted.47]Outermost0.060.010.0110.0042.4213.261.98113.871NANANANANA
448omp-cloverleaf - update_halo.cpp:408-411 [...]update_halo_kernel(int, int, int, int, std::array<int, 4ul> const&, std::array<int, 4ul> const&, field_type&, int const*, int) [clone .extracted.127]Outermost0.040.010.0110.0042.4213.261.98113.871NANANANANA
380omp-cloverleaf - update_halo.cpp:678-679update_halo_kernel(int, int, int, int, std::array<int, 4ul> const&, std::array<int, 4ul> const&, field_type&, int const*, int) [clone .extracted]Innermost0.040.010.0110.00012.51.2518102000
534omp-cloverleaf - update_halo.cpp:76-77update_halo_kernel(int, int, int, int, std::array<int, 4ul> const&, std::array<int, 4ul> const&, field_type&, int const*, int) [clone .extracted.282]Innermost0.040.010.0110.00012.5218101010
269omp-cloverleaf - field_summary.cpp:80-82field_summary(global_variables&, parallel_&) [clone .extracted]InBetween0.040.010.0114.0082.8639.351.0515.49120000
244omp-cloverleaf - build_field.cpp:120-128build_field(global_variables&) [clone .extracted.27]Innermost0.040.010.0110.0094.1247.791.0512.67100008
249omp-cloverleaf - build_field.cpp:135-138build_field(global_variables&) [clone .extracted.32]Innermost0.020010.0092.3147.121.0512.69000006
308omp-cloverleaf - generate_chunk.cpp:76-80generate_chunk(int, global_variables&) [clone .extracted.7]Innermost0.020010.0076.1941.071.0512.73040008
224omp-cloverleaf - advec_mom.cpp:46-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>&...Innermost0.020010.00012.51.041.28005100
523omp-cloverleaf - update_halo.cpp:119-120update_halo_kernel(int, int, int, int, std::array<int, 4ul> const&, std::array<int, 4ul> const&, field_type&, int const*, int) [clone .extracted.262]Innermost0.020010.00012.5218001010
240omp-cloverleaf - build_field.cpp:145-148build_field(global_variables&) [clone .extracted.22]Innermost0.020010.0092.3147.121.0512.69000006
424omp-cloverleaf - update_halo.cpp:506-507update_halo_kernel(int, int, int, int, std::array<int, 4ul> const&, std::array<int, 4ul> const&, field_type&, int const*, int) [clone .extracted.82]Innermost0.020010.00012.5218001010
401omp-cloverleaf - update_halo.cpp:590-593 [...]update_halo_kernel(int, int, int, int, std::array<int, 4ul> const&, std::array<int, 4ul> const&, field_type&, int const*, int) [clone .extracted.42]Outermost0.020010.00011.1811140NANANANANA
317omp-cloverleaf - initialise_chunk.cpp:79-82initialise_chunk(int, global_variables&) [clone .extracted.7]Innermost0.020010.0087.545.311.0512.75011006
459omp-cloverleaf - update_halo.cpp:365-368 [...]update_halo_kernel(int, int, int, int, std::array<int, 4ul> const&, std::array<int, 4ul> const&, field_type&, int const*, int) [clone .extracted.147]Outermost0.020010.0042.4213.261.98113.870NANANANANA
541omp-cloverleaf - update_halo.cpp:44-47 [...]update_halo_kernel(int, int, int, int, std::array<int, 4ul> const&, std::array<int, 4ul> const&, field_type&, int const*, int) [clone .extracted.297]Outermost0.020010.00010.551113.930NANANANANA
300omp-cloverleaf - generate_chunk.cpp:85-98 [...]generate_chunk(int, global_variables&) [clone .extracted]InBetween0.020010.0027.5921.881.9117.70NANANANANA
409omp-cloverleaf - update_halo.cpp:560-563 [...]update_halo_kernel(int, int, int, int, std::array<int, 4ul> const&, std::array<int, 4ul> const&, field_type&, int const*, int) [clone .extracted.57]Outermost0.020010.00010.5511140NANANANANA
273omp-cloverleaf - flux_calc.cpp:38-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...Innermost0.020010.00201511.386.86008200
309omp-cloverleaf - ideal_gas.cpp:37-45 [...]ideal_gas_kernel(int, int, int, int, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&) [clone .extracted]Outermost0.020010.00010.581114.760NANANANANA
505omp-cloverleaf - update_halo.cpp:183-186 [...]update_halo_kernel(int, int, int, int, std::array<int, 4ul> const&, std::array<int, 4ul> const&, field_type&, int const*, int) [clone .extracted.232]Outermost0.020010.00010.761113.970NANANANANA
490omp-cloverleaf - update_halo.cpp:248-249update_halo_kernel(int, int, int, int, std::array<int, 4ul> const&, std::array<int, 4ul> const&, field_type&, int const*, int) [clone .extracted.202]Innermost0.020010.00012.5218001010
413omp-cloverleaf - update_halo.cpp:549-550update_halo_kernel(int, int, int, int, std::array<int, 4ul> const&, std::array<int, 4ul> const&, field_type&, int const*, int) [clone .extracted.62]Innermost0.020010.005015.631.818001010
426omp-cloverleaf - update_halo.cpp:494-497 [...]update_halo_kernel(int, int, int, int, std::array<int, 4ul> const&, std::array<int, 4ul> const&, field_type&, int const*, int) [clone .extracted.87]Outermost0.020010.000102.83113.530NANANANANA
191omp-cloverleaf - 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>&...Innermost0.020010.0023.1615.081.432.43.72012.5130
165omp-cloverleaf - advec_cell.cpp:138-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...Innermost0.020010.00012.51.061.218003300
×