Loop id | Source Location | Source Function | 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 |
---|
150 | omp-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... | Single | 2.52 | 2.01 | 2.01 | 1 | 1.29 | 98.58 | 43.36 | 1.13 | 1.24 | 2.52 | 1 | 2 | 0 | 0 | 0 | 45 |
178 | omp-cloverleaf - advec_mom.cpp:108-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>&... | Single | 2.31 | 1.84 | 1.84 | 1 | 0.96 | 95.12 | 43.69 | 1.13 | 1.43 | 1.47 | 1 | 2 | 0 | 0 | 0 | 13.5 |
170 | omp-cloverleaf - advec_mom.cpp:180-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>&... | Single | 2.27 | 1.81 | 1.81 | 1 | 0.99 | 97.09 | 44.5 | 1.12 | 1.43 | 1.52 | 1 | 2 | 0 | 0 | 0 | 12.5 |
299 | omp-cloverleaf - PdV.cpp:69-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... | Single | 2.17 | 1.73 | 1.73 | 1 | 1.16 | 98.49 | 44.45 | 1.12 | 1.33 | 2.69 | 1 | 2 | 0 | 11 | 0 | 30 |
253 | omp-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] | Single | 2.05 | 1.64 | 1.64 | 1 | 0.49 | 100 | 47.86 | 1.1 | 1.24 | 1.24 | 1 | 0 | 0 | 0 | 0 | 4 |
688 | omp-cloverleaf - viscosity.cpp:36-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>&... | Single | 2.01 | 1.6 | 1.6 | 1 | 2.55 | 96.11 | 44.31 | 1.11 | 1.11 | 1.11 | 1 | 2 | 0 | 0 | 0.25 | 32.5 |
209 | omp-cloverleaf - 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... | Single | 1.89 | 1.5 | 1.5 | 1 | 1.49 | 98.26 | 45.01 | 1.03 | 1.03 | 1.03 | 1 | 2 | 0 | 0 | 0 | 33 |
301 | omp-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... | Single | 1.51 | 1.2 | 1.2 | 1 | 1.10 | 98.7 | 44.02 | 1.12 | 1.35 | 2.93 | 1 | 2 | 0 | 0 | 0 | 34 |
162 | omp-cloverleaf - advec_cell.cpp:65-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... | Single | 1.5 | 1.2 | 1.2 | 1 | 1.03 | 96.77 | 44.61 | 1.1 | 1.41 | 2.38 | 1 | 3 | 0 | 0 | 0 | 19 |
154 | omp-cloverleaf - advec_cell.cpp:157-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... | Single | 1.32 | 1.05 | 1.05 | 1 | 1.26 | 96.51 | 44.67 | 1.09 | 1.4 | 2.52 | 1 | 2 | 0 | 0 | 1 | 21 |
180 | omp-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>&... | Single | 1.12 | 0.89 | 0.89 | 1 | 0.54 | 96.35 | 42.34 | 1.12 | 1.37 | 3.35 | 1 | 2 | 0 | 0 | 0 | 21 |
176 | omp-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>&... | Single | 1.12 | 0.9 | 0.9 | 1 | 0.13 | 97.4 | 43.34 | 1.14 | 1.39 | 2.84 | 1 | 1 | 0 | 0 | 0 | 9 |
227 | omp-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... | Single | 1.1 | 0.87 | 0.87 | 1 | 0.60 | 97.97 | 43.41 | 1.12 | 1.38 | 3.32 | 1 | 2 | 0 | 0 | 0 | 23 |
168 | omp-cloverleaf - advec_mom.cpp:218-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>&... | Single | 0.96 | 0.77 | 0.77 | 1 | 0.00 | 97.5 | 43.59 | 1.13 | 1.37 | 2.95 | 1 | 1 | 0 | 0 | 0 | 10 |
172 | omp-cloverleaf - advec_mom.cpp:167-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>&... | Single | 0.95 | 0.76 | 0.76 | 1 | 0.79 | 96.43 | 42.5 | 1.12 | 1.36 | 3.38 | 1 | 2 | 0 | 0 | 0 | 20 |
160 | omp-cloverleaf - advec_cell.cpp:117-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... | Single | 0.94 | 0.75 | 0.75 | 1 | 0.32 | 95.93 | 43.29 | 1.15 | 1.41 | 2.44 | 1 | 2 | 0 | 0 | 0 | 18 |
152 | omp-cloverleaf - advec_cell.cpp:208-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... | Single | 0.91 | 0.73 | 0.73 | 1 | 1.10 | 97.69 | 44.23 | 1.12 | 1.36 | 2.55 | 1 | 2 | 0 | 0 | 0 | 17 |
188 | omp-cloverleaf - 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>&... | Single | 0.68 | 0.54 | 0.54 | 1 | 0.52 | 97.87 | 42.69 | 1.11 | 1.38 | 3.62 | 1 | 1 | 0 | 0 | 0 | 11 |
190 | omp-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>&... | Single | 0.63 | 0.51 | 0.51 | 1 | 0.08 | 95.83 | 42.06 | 1.13 | 1.4 | 3.72 | 1 | 1 | 0 | 0 | 0 | 12 |
186 | omp-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>&... | Single | 0.56 | 0.45 | 0.45 | 1 | 0.00 | 97.22 | 44.27 | 1.11 | 1.34 | 3.45 | 1 | 1 | 0 | 0 | 0 | 9 |
304 | omp-cloverleaf - reset_field.cpp:44-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... | Single | 0.55 | 0.43 | 0.43 | 1 | 0.00 | 100 | 48 | 1.1 | 1 | 2.57 | 1 | 0 | 0 | 0 | 0 | 4 |
309 | omp-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] | Single | 0.55 | 0.44 | 0.44 | 1 | 0.00 | 100 | 48 | 1.1 | 1 | 2.57 | 1 | 0 | 0 | 0 | 0 | 4 |
306 | omp-cloverleaf - reset_field.cpp:34-38 [...] | 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... | Single | 0.51 | 0.41 | 0.41 | 1 | 0.00 | 100 | 48 | 1.1 | 1 | 2.57 | 1 | 0 | 0 | 0 | 0 | 4 |
184 | omp-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>&... | Single | 0.51 | 0.41 | 0.41 | 1 | 0.00 | 97.14 | 44.11 | 1.11 | 1.35 | 3.51 | 1 | 1 | 0 | 0 | 0 | 9 |
174 | omp-cloverleaf - advec_mom.cpp:157-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>&... | Single | 0.46 | 0.37 | 0.37 | 1 | 0.00 | 96.2 | 41.46 | 1.14 | 1.44 | 3.89 | 1 | 0 | 0 | 0 | 0 | 8 |
166 | omp-cloverleaf - advec_cell.cpp:44-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... | Single | 0.43 | 0.34 | 0.34 | 1 | 0.47 | 97.2 | 42.29 | 1.13 | 1.41 | 3.68 | 1 | 1 | 0 | 0 | 0 | 14 |
182 | omp-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>&... | Single | 0.42 | 0.34 | 0.34 | 1 | 0.00 | 96.2 | 41.46 | 1.14 | 1.44 | 3.89 | 1 | 0 | 0 | 0 | 0 | 10 |
158 | omp-cloverleaf - advec_cell.cpp:136-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... | Single | 0.39 | 0.31 | 0.31 | 1 | 0.52 | 97.2 | 42.29 | 1.13 | 1.41 | 3.66 | 1 | 1 | 0 | 0 | 0 | 14 |
156 | omp-cloverleaf - advec_cell.cpp:146-150 [...] | 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... | Single | 0.33 | 0.26 | 0.26 | 1 | 0.15 | 97.37 | 43.91 | 1.12 | 1.35 | 3.54 | 1 | 1 | 0 | 0 | 0 | 9 |
164 | omp-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... | Single | 0.28 | 0.23 | 0.23 | 1 | 0.52 | 97.26 | 43.66 | 1.12 | 1.37 | 3.63 | 1 | 1 | 0 | 0 | 0 | 9 |
224 | omp-cloverleaf - field_summary.cpp:81-82 | field_summary(global_variables&, parallel_&) [clone .extracted] | Innermost | 0.11 | 0.09 | 0.09 | 1 | 1.33 | 92.86 | 43.75 | 1.32 | 1.42 | 3.38 | 1 | 0 | 0 | 0 | 0 | 4 |
222 | omp-cloverleaf - field_summary.cpp:75-91 | field_summary(global_variables&, parallel_&) [clone .extracted] | Outermost | 0.06 | 0.05 | 0.05 | 1 | 3.20 | 97.64 | 44.09 | 1.1 | 1.24 | 2.7 | 1 | 6 | 0 | 0 | 6 | 0 |
207 | omp-cloverleaf - build_field.cpp:100-113 | build_field(global_variables&) [clone .extracted.37] | Single | 0.03 | 0.02 | 0.02 | 1 | 0.00 | 98.84 | 49.53 | 1.02 | 1 | 2.04 | 1 | 1 | 0 | 8 | 0 | 16 |
256 | omp-cloverleaf - initialise_chunk.cpp:77-82 | initialise_chunk(int, global_variables&) [clone .extracted.7] | Single | 0.01 | 0.01 | 0.01 | 1 | 0.00 | 96.81 | 46.61 | 1.1 | 1 | 3.19 | 1 | 1 | 0 | 0 | 0 | 20 |
437 | omp-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] | Outermost | 0.01 | 0 | 0 | 1 | 0.00 | 0 | 10.76 | 1 | 1 | 13.97 | 0 | NA | NA | NA | NA | NA |
369 | omp-cloverleaf - update_halo.cpp:451-454 [...] | update_halo_kernel(int, int, int, int, std::array<int, 4ul> const&, std::array<int, 4ul> const&, field_type&, int const*, int) [clone .extracted.107] | Outermost | 0.01 | 0 | 0 | 1 | 0.00 | 0 | 10 | 2.83 | 1 | 13.53 | 0 | NA | NA | NA | NA | NA |
240 | omp-cloverleaf - generate_chunk.cpp:85-123 [...] | generate_chunk(int, global_variables&) [clone .extracted] | Outermost | 0.01 | 0.01 | 0.01 | 1 | 0.00 | 71.88 | 38.02 | 1.31 | 1.27 | 3.78 | 1 | NA | NA | NA | NA | NA |
203 | omp-cloverleaf - build_field.cpp:118-128 | build_field(global_variables&) [clone .extracted.27] | Single | 0.01 | 0.01 | 0.01 | 1 | 0.00 | 97.83 | 49.14 | 1.06 | 1 | 2.78 | 1 | 1 | 0 | 8 | 0 | 16 |
383 | omp-cloverleaf - update_halo.cpp:400-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] | Innermost | 0.01 | 0 | 0 | 1 | 0.00 | 0 | 12.5 | 2.25 | 1 | 8 | 0 | 0 | 0 | 0 | 2 | 0 |
344 | omp-cloverleaf - update_halo.cpp:547-550 [...] | update_halo_kernel(int, int, int, int, std::array<int, 4ul> const&, std::array<int, 4ul> const&, field_type&, int const*, int) [clone .extracted.62] | Outermost | 0.01 | 0 | 0 | 1 | 0.00 | 0 | 11.18 | 1 | 1 | 14 | 0 | NA | NA | NA | NA | NA |
466 | omp-cloverleaf - update_halo.cpp:76-77 | update_halo_kernel(int, int, int, int, std::array<int, 4ul> const&, std::array<int, 4ul> const&, field_type&, int const*, int) [clone .extracted.282] | Innermost | 0.01 | 0 | 0 | 1 | 0.00 | 0 | 12.5 | 2 | 1 | 8 | 0 | 0 | 1 | 0 | 1 | 0 |
314 | omp-cloverleaf - update_halo.cpp:666-669 [...] | update_halo_kernel(int, int, int, int, std::array<int, 4ul> const&, std::array<int, 4ul> const&, field_type&, int const*, int) [clone .extracted.7] | Outermost | 0.01 | 0 | 0 | 1 | 0.00 | 0 | 10 | 2.83 | 1 | 13.53 | 0 | NA | NA | NA | NA | NA |
459 | omp-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] | Outermost | 0.01 | 0 | 0 | 1 | 0.00 | 0 | 10.76 | 1 | 1 | 13.97 | 0 | NA | NA | NA | NA | NA |
356 | omp-cloverleaf - update_halo.cpp:506-507 | update_halo_kernel(int, int, int, int, std::array<int, 4ul> const&, std::array<int, 4ul> const&, field_type&, int const*, int) [clone .extracted.82] | Innermost | 0.01 | 0 | 0 | 1 | 0.00 | 0 | 12.5 | 2 | 1 | 8 | 0 | 0 | 1 | 0 | 1 | 0 |
424 | omp-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] | Outermost | 0.01 | 0.01 | 0.01 | 1 | 0.00 | 0 | 10.25 | 2.76 | 1 | 13.33 | 1 | NA | NA | NA | NA | NA |
378 | omp-cloverleaf - update_halo.cpp:420-421 | update_halo_kernel(int, int, int, int, std::array<int, 4ul> const&, std::array<int, 4ul> const&, field_type&, int const*, int) [clone .extracted.122] | Innermost | 0.01 | 0 | 0 | 1 | 0.00 | 50 | 15.63 | 1.8 | 1 | 8 | 0 | 0 | 1 | 0 | 1 | 0 |
317 | omp-cloverleaf - update_halo.cpp:658-659 | update_halo_kernel(int, int, int, int, std::array<int, 4ul> const&, std::array<int, 4ul> const&, field_type&, int const*, int) [clone .extracted.12] | Innermost | 0.01 | 0 | 0 | 1 | 0.00 | 50 | 15.63 | 2.5 | 1 | 8 | 0 | 0 | 0 | 0 | 2 | 0 |
251 | omp-cloverleaf - generate_chunk.cpp:74-80 | generate_chunk(int, global_variables&) [clone .extracted.7] | Single | 0.01 | 0 | 0 | 1 | 0.00 | 93.55 | 47.51 | 1.08 | 1 | 2.99 | 0 | 2 | 1 | 0 | 0 | 16 |
339 | omp-cloverleaf - update_halo.cpp:572-573 | update_halo_kernel(int, int, int, int, std::array<int, 4ul> const&, std::array<int, 4ul> const&, field_type&, int const*, int) [clone .extracted.52] | Innermost | 0.01 | 0 | 0 | 1 | 0.00 | 0 | 12.5 | 1.25 | 1 | 8 | 0 | 0 | 0 | 0 | 2 | 0 |
446 | omp-cloverleaf - update_halo.cpp:150-153 [...] | update_halo_kernel(int, int, int, int, std::array<int, 4ul> const&, std::array<int, 4ul> const&, field_type&, int const*, int) [clone .extracted.247] | Outermost | 0.01 | 0 | 0 | 1 | 0.00 | 0 | 10.25 | 2.76 | 1 | 13.33 | 0 | NA | NA | NA | NA | NA |