options

Loops Index

2 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
378omp-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...Innermost8.942.12.110.8239.5324.0911.025.77110018
374omp-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...Innermost7.961.871.8711.2145.118.1411.125.471100111
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...Innermost7.851.841.8411.6040.2317.5311.025.581201013
197omp-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>&...Innermost6.511.531.5310.9461.2832.6211.112.63120113
165omp-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.381.51.511.2061.6533.211.123.1130005
210omp-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>&...Innermost5.591.311.3111.0748.9526.9611.143.75120.50.513
796omp-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>&...Innermost5.571.311.3112.3331.416.4211.511.5112.33360.670.67
261omp-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...Innermost5.171.211.2112.2616.3314.541221212000
178omp-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.081.191.1911.4851.6728.5611.094.3112101.53.5
320omp-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.860.910.9111.299.0913.64122103100
219omp-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>&...Innermost3.50.820.8211.0240.5717.5711.175.84120013
204omp-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>&...Innermost3.420.80.810.9840.5717.5711.175.88120004
284omp-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...Innermost3.310.770.7711.0440.3517.541.011.095.541100210
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.070.720.7211.1137.0923.111.0141100012
182omp-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...Innermost2.840.670.6711.1942.3324.2311.024.131100111
230omp-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>&...Innermost2.430.570.5710.5635.4522.6111.076.3100006
226omp-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>&...Innermost2.160.50.510.5635.4522.6111.076.3100006
191omp-cloverleaf - advec_mom.cpp:220-221advec_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.030.480.4811.42012.511.62105000
212omp-cloverleaf - advec_mom.cpp:148-149advec_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.960.460.4611.20012.511.62103100
385omp-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...Innermost1.240.290.2910.00012.5118104000
222omp-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.220.280.2810.64012.5118105000
186omp-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.170.280.2810.9336.4917.0611.237100006
169omp-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.090.250.2510.8836.4917.0611.237100005
382omp-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.070.250.2510.00012.5118104000
189omp-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.020.240.2410.71012.5118103100
389omp-cloverleaf - revert.cpp:36-38revert_kernel(int, int, int, int, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&) [clone .extracted]Innermost0.980.230.2310.00012.5118104000
200omp-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.880.20.211.65012.51.031.198101200
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.550.130.1310.77012.511.068104100
172omp-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.550.130.1310.54012.511.068102200
279omp-cloverleaf - field_summary.cpp:81-82field_summary(global_variables&, parallel_&) [clone .extracted]Innermost0.470.110.1110.3689.0129.71.021.073.0210.50001
215omp-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.10.113.20012.511.198101200
277omp-cloverleaf - field_summary.cpp:76-91 [...]field_summary(global_variables&, parallel_&) [clone .extracted]Outermost0.380.090.0912.2274.8435.891.031.12.99120114
258omp-cloverleaf - build_field.cpp:102-113build_field(global_variables&) [clone .extracted.37]Innermost0.190.040.0410.0007.761115.01110050
403omp-cloverleaf - update_halo.cpp:623-626 [...]update_halo_kernel(int, int, int, int, std::array<int, 4ul> const&, std::array<int, 4ul> const&, field_type&, int const*, int) [clone .extracted.27]Outermost0.090.020.0210.00010.162.83113.531NANANANANA
249omp-cloverleaf - build_field.cpp:120-128build_field(global_variables&) [clone .extracted.27]Innermost0.060.020.0210.0006.251116110080
511omp-cloverleaf - update_halo.cpp:205-206update_halo_kernel(int, int, int, int, std::array<int, 4ul> const&, std::array<int, 4ul> const&, field_type&, int const*, int) [clone .extracted.222]Innermost0.060.020.0210.00012.5218101010
193omp-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.040.010.0110.0023.5614.881.362.573.8111202.51
533omp-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.040.010.0110.00012.5218101010
515omp-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.040.010.0110.00010.2911141NANANANANA
434omp-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.040.010.0110.00012.5218101010
278omp-cloverleaf - field_summary.cpp:80-82field_summary(global_variables&, parallel_&) [clone .extracted]InBetween0.040.010.0110.0085.5434.281.0313.3311.670000
513omp-cloverleaf - update_halo.cpp:193-196 [...]update_halo_kernel(int, int, int, int, std::array<int, 4ul> const&, std::array<int, 4ul> const&, field_type&, int const*, int) [clone .extracted.227]Outermost0.020010.00010.422.76113.330NANANANANA
218omp-cloverleaf - advec_mom.cpp:95-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.020010.0072.0319.981.1114.630300.50.50.5
260omp-cloverleaf - calc_dt.cpp:50-76 [...]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.020010.0009.753.313.3114.6901.670.673.3311.330.67
220omp-cloverleaf - 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.020010.00011.011113.870NANANANANA
328omp-cloverleaf - initialise_chunk.cpp:80-82 [...]initialise_chunk(int, global_variables&) [clone .extracted.7]Innermost0.020010.0022.0619.671.2916.030210100
151omp-cloverleaf - accelerate.cpp:40-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.020010.0067.3619.231.2114.9103.500.504.5
187omp-cloverleaf - advec_mom.cpp:71-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.020010.0009.821114.670NANANANANA
401omp-cloverleaf - update_halo.cpp:633-636 [...]update_halo_kernel(int, int, int, int, std::array<int, 4ul> const&, std::array<int, 4ul> const&, field_type&, int const*, int) [clone .extracted.22]Outermost0.020010.00010.252.48113.090NANANANANA
377omp-cloverleaf - PdV.cpp:48-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.020010.0066.929.031.2412.6020113.5
537omp-cloverleaf - update_halo.cpp:97-100 [...]update_halo_kernel(int, int, int, int, std::array<int, 4ul> const&, std::array<int, 4ul> const&, field_type&, int const*, int) [clone .extracted.272]Outermost0.020010.00010.2911140NANANANANA
318omp-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.0009.661115.10NANANANANA
500omp-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
255omp-cloverleaf - build_field.cpp:136-138 [...]build_field(global_variables&) [clone .extracted.32]Innermost0.020010.0023.8916.811.3317.97010340
414omp-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.020010.0042.4213.451.81113.750NANANANANA
229omp-cloverleaf - 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.020010.0051.8425.291.1712.53040001
317omp-cloverleaf - generate_chunk.cpp:76-80generate_chunk(int, global_variables&) [clone .extracted.7]Innermost0.020010.00012.51.27180100100
213omp-cloverleaf - advec_mom.cpp:85-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.020010.0009.091115.520NANANANANA
439omp-cloverleaf - update_halo.cpp:486-487update_halo_kernel(int, int, int, int, std::array<int, 4ul> const&, std::array<int, 4ul> const&, field_type&, int const*, int) [clone .extracted.92]Innermost0.020010.005015.632.518000020
423omp-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
460omp-cloverleaf - update_halo.cpp:398-401 [...]update_halo_kernel(int, int, int, int, std::array<int, 4ul> const&, std::array<int, 4ul> const&, field_type&, int const*, int) [clone .extracted.132]Outermost0.020010.00010.2911140NANANANANA
442omp-cloverleaf - update_halo.cpp:476-477update_halo_kernel(int, int, int, int, std::array<int, 4ul> const&, std::array<int, 4ul> const&, field_type&, int const*, int) [clone .extracted.97]Innermost0.020010.0066.6716.671.518000020
441omp-cloverleaf - update_halo.cpp:474-477 [...]update_halo_kernel(int, int, int, int, std::array<int, 4ul> const&, std::array<int, 4ul> const&, field_type&, int const*, int) [clone .extracted.97]Outermost0.020010.00011.031113.520NANANANANA
412omp-cloverleaf - update_halo.cpp:592-593update_halo_kernel(int, int, int, int, std::array<int, 4ul> const&, std::array<int, 4ul> const&, field_type&, int const*, int) [clone .extracted.42]Innermost0.020010.005015.631.818001010
×