options

Loops Index

3 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...Innermost102.512.5111.2198.4642.51.071.072.131100022
367omp-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.612.162.1610.9898.243.471.041.032.071102025
191omp-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>&...Innermost7.291.831.8311.5797.4444.341.091.21.211.503.5010
371omp-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...Innermost7.091.781.7810.9497.3743.091.131.182.361000017
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...Innermost5.41.361.3612.0698.9945.481.081.42.051200020
273omp-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.541.141.1410.7797.7843.611.121.212.411100023
253omp-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.51.131.1312.4416.514.561221012000
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...Innermost4.441.121.1212.1494.1843.191.111.461.891110015
202omp-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>&...Innermost4.341.091.0912.5987.7840.051.141.511.56110.50.509.5
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...Innermost4.081.021.0210.6797.4443.271.111.221.771100017
789omp-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.061.021.0212.9728.9816.1211.681.6811362.670
309omp-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.670.920.9211.359.0913.64122103100
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...Innermost3.410.860.8611.1697.4443.271.121.231.791100017
222omp-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.330.840.8310.4393.8842.61.11.352.961000012
198omp-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.150.790.7911.3797.6743.311.111.222.441100022
218omp-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.110.780.7810.4693.8842.61.11.352.961000012
211omp-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.050.770.7711.0497.6743.311.111.252.51100023
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.750.440.4410.7395.0842.421.111.352.691000013
187omp-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>&...Innermost1.710.430.4311.44012.511.62105000
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.670.420.4210.3895.0842.421.111.352.691000014
204omp-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.650.410.4111.56012.511.62103100
378omp-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.20.30.310.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.140.280.2810.50012.5118103100
214omp-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.140.280.2810.39012.5118105000
382omp-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.10.280.2810.00012.5118104000
375omp-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.10.280.2810.00012.5118104000
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.50.130.1310.62012.511.068104100
194omp-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.460.120.1212.83012.51.031.198101200
207omp-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.440.110.1112.64012.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.110.1110.91012.511.068102200
268omp-cloverleaf - field_summary.cpp:81-82field_summary(global_variables&, parallel_&) [clone .extracted]Innermost0.380.090.0910.8986.6741.671.321.453.48100002
250omp-cloverleaf - build_field.cpp:102-113build_field(global_variables&) [clone .extracted.37]Innermost0.180.040.0410.0095.6548.371.0512.661000011
266omp-cloverleaf - field_summary.cpp:75-91field_summary(global_variables&, parallel_&) [clone .extracted]Outermost0.180.040.0412.0095.6540.581.131.263.23140030
380omp-cloverleaf - revert.cpp:34-38 [...]revert_kernel(int, int, int, int, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&) [clone .extracted]Outermost0.060.010.0210.0009.661115.11NANANANANA
495omp-cloverleaf - update_halo.cpp:236-239 [...]update_halo_kernel(int, int, int, int, std::array<int, 4ul> const&, std::array<int, 4ul> const&, field_type&, int const*, int) [clone .extracted.207]Outermost0.060.010.0210.00010.422.76113.331NANANANANA
252omp-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.040.010.0110.0009.643.153.2514.721107.339.330
407omp-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.040.010.0110.0042.4213.451.81113.751NANANANANA
384omp-cloverleaf - update_halo.cpp:676-679 [...]update_halo_kernel(int, int, int, int, std::array<int, 4ul> const&, std::array<int, 4ul> const&, field_type&, int const*, int) [clone .extracted]Outermost0.040.010.0110.00010.252.48113.091NANANANANA
241omp-cloverleaf - build_field.cpp:120-128build_field(global_variables&) [clone .extracted.27]Innermost0.040.010.0110.0094.1247.791.0512.67100008
205omp-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.040.010.0110.0009.091115.521NANANANANA
267omp-cloverleaf - field_summary.cpp:80-82field_summary(global_variables&, parallel_&) [clone .extracted]InBetween0.020010.0072.535.471.2615.13010000
389omp-cloverleaf - update_halo.cpp:658-659update_halo_kernel(int, int, int, int, std::array<int, 4ul> const&, std::array<int, 4ul> const&, field_type&, int const*, int) [clone .extracted.12]Innermost0.020010.005015.632.518000020
317omp-cloverleaf - initialise_chunk.cpp:80-82initialise_chunk(int, global_variables&) [clone .extracted.7]Innermost0.020010.008845.51.0512.66011006
247omp-cloverleaf - build_field.cpp:136-138build_field(global_variables&) [clone .extracted.32]Innermost0.020010.0093.7547.661.0512.55000006
272omp-cloverleaf - flux_calc.cpp:36-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.020010.0059.1731.721.0512.1302000.512
161omp-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...Innermost0.020010.0014.5214.161.493.194.4701109.50
493omp-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
418omp-cloverleaf - update_halo.cpp:537-540 [...]update_halo_kernel(int, int, int, int, std::array<int, 4ul> const&, std::array<int, 4ul> const&, field_type&, int const*, int) [clone .extracted.67]Outermost0.020010.0042.4213.451.81113.750NANANANANA
396omp-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.020010.00010.162.83113.530NANANANANA
503omp-cloverleaf - update_halo.cpp:203-206 [...]update_halo_kernel(int, int, int, int, std::array<int, 4ul> const&, std::array<int, 4ul> const&, field_type&, int const*, int) [clone .extracted.222]Outermost0.020010.00011.141113.410NANANANANA
528omp-cloverleaf - update_halo.cpp:107-110 [...]update_halo_kernel(int, int, int, int, std::array<int, 4ul> const&, std::array<int, 4ul> const&, field_type&, int const*, int) [clone .extracted.267]Outermost0.020010.00010.422.76113.330NANANANANA
307omp-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
453omp-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
203omp-cloverleaf - advec_mom.cpp:146-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.020010.00011.113.273.4410.630NANANANANA
237omp-cloverleaf - build_field.cpp:146-148build_field(global_variables&) [clone .extracted.22]Innermost0.020010.0093.7547.661.0512.55000006
405omp-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
306omp-cloverleaf - generate_chunk.cpp:76-80generate_chunk(int, global_variables&) [clone .extracted.7]Innermost0.020010.0076.1941.071.0512.73040008
509omp-cloverleaf - update_halo.cpp:185-186update_halo_kernel(int, int, int, int, std::array<int, 4ul> const&, std::array<int, 4ul> const&, field_type&, int const*, int) [clone .extracted.232]Innermost0.020010.00012.52.2518000020
168omp-cloverleaf - advec_cell.cpp:54-58 [...]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.020010.0009.821114.650NANANANANA
500omp-cloverleaf - update_halo.cpp:216-219 [...]update_halo_kernel(int, int, int, int, std::array<int, 4ul> const&, std::array<int, 4ul> const&, field_type&, int const*, int) [clone .extracted.217]Outermost0.020010.00011.361112.50NANANANANA
298omp-cloverleaf - generate_chunk.cpp:85-98 [...]generate_chunk(int, global_variables&) [clone .extracted]InBetween0.020010.0027.4522.672.0117.650NANANANANA
497omp-cloverleaf - update_halo.cpp:226-229 [...]update_halo_kernel(int, int, int, int, std::array<int, 4ul> const&, std::array<int, 4ul> const&, field_type&, int const*, int) [clone .extracted.212]Outermost0.020010.00010.2911140NANANANANA
180omp-cloverleaf - advec_cell.cpp:46-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...Innermost0.020010.00012.51.061.218005100
504omp-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.020010.00012.5218001010
462omp-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.451.81113.750NANANANANA
399omp-cloverleaf - update_halo.cpp:615-616update_halo_kernel(int, int, int, int, std::array<int, 4ul> const&, std::array<int, 4ul> const&, field_type&, int const*, int) [clone .extracted.32]Innermost0.020010.005015.632.518000020
×