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 |
---|
246 | exec - PdV.cpp:70-84 [...] | 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 | 4.5 | 4.55 | 4 | 112 | 235.20 | 100 | 82.69 | 1.14 | 1 | 1 | 1.14 | 2 | 0 | 0 | 0 | 26 |
248 | exec - PdV.cpp:49-64 [...] | 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 | 3.58 | 3.62 | 3.19 | 112 | 195.16 | 99.12 | 78.65 | 1.14 | 1 | 1 | 1.14 | 2 | 0 | 0 | 0 | 17 |
115 | exec - advec_mom.cpp:181-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 | 3.36 | 3.25 | 2.99 | 112 | 190.85 | 99.35 | 82.59 | 1.04 | 1 | 1 | 1.09 | 1.5 | 0 | 0 | 0 | 5.5 |
192 | exec - ideal_gas.cpp:38-46 [...] | ideal_gas_kernel(int, int, int, int, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&) [clone .extracted] | Single | 3.22 | 3.09 | 2.86 | 112 | 249.61 | 97.44 | 86.06 | 1 | 1 | 1 | 1.08 | 0 | 0 | 0 | 0 | 4 |
665 | exec - viscosity.cpp:37-66 [...] | 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 | 3.04 | 2.83 | 2.7 | 112 | 530.04 | 98.29 | 84.16 | 1.03 | 1 | 1 | 1.05 | 2 | 0 | 0 | 0 | 14.5 |
150 | exec - 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... | Single | 3.04 | 2.84 | 2.7 | 112 | 306.14 | 99.24 | 83.3 | 1 | 1 | 1 | 1.05 | 2 | 0 | 0 | 0 | 17 |
123 | exec - advec_mom.cpp:109-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.99 | 2.79 | 2.66 | 112 | 219.47 | 99.34 | 81.16 | 1.05 | 1 | 1 | 1.05 | 1.5 | 0 | 0 | 0 | 7.5 |
95 | exec - accelerate.cpp:41-54 [...] | 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.96 | 2.79 | 2.64 | 112 | 359.23 | 98.82 | 76.91 | 1.18 | 1 | 1 | 1.06 | 2 | 0 | 0 | 0 | 23 |
99 | exec - advec_cell.cpp:158-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 | 2.51 | 2.36 | 2.23 | 112 | 281.83 | 99.11 | 82.54 | 1.11 | 1 | 1 | 1.06 | 2 | 0 | 0 | 0 | 12 |
121 | exec - advec_mom.cpp:147-150 [...] | 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 | 2.19 | 2.02 | 112 | 162.55 | 97.56 | 76.98 | 1.13 | 1 | 1 | 1.09 | 0 | 0 | 0 | 0 | 5 |
107 | exec - advec_cell.cpp:66-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 | 2.26 | 2.15 | 2.01 | 112 | 340.25 | 99.08 | 83.28 | 1.12 | 1 | 1 | 1.07 | 2 | 0 | 0 | 0 | 12 |
113 | exec - advec_mom.cpp:219-222 [...] | 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.23 | 2.17 | 1.99 | 112 | 241.49 | 95.35 | 76.02 | 1.12 | 1 | 1 | 1.1 | 1 | 0 | 0 | 0 | 5 |
168 | exec - flux_calc.cpp:37-41 [...] | 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 | 2.2 | 2.48 | 1.96 | 112 | 278.36 | 98.73 | 76.11 | 1.13 | 1 | 1 | 1.27 | 1 | 0 | 0 | 0 | 11 |
97 | exec - advec_cell.cpp:209-217 [...] | 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.71 | 1.82 | 1.52 | 112 | 307.00 | 97.01 | 79.1 | 1.13 | 1 | 1 | 1.21 | 1 | 0 | 0 | 0 | 9 |
105 | exec - advec_cell.cpp:118-126 [...] | 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.63 | 1.63 | 1.45 | 112 | 170.27 | 96.88 | 78.13 | 1.14 | 1 | 1 | 1.12 | 1 | 0 | 0 | 0 | 9 |
133 | exec - advec_mom.cpp:54-58 [...] | 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.55 | 1.57 | 1.38 | 112 | 147.26 | 98.04 | 74.63 | 1.13 | 1 | 1 | 1.15 | 1 | 0 | 0 | 0 | 7 |
135 | exec - advec_mom.cpp:45-49 [...] | 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.55 | 1.58 | 1.38 | 112 | 149.83 | 96.08 | 74.39 | 1.13 | 1 | 1 | 1.14 | 1 | 0 | 0 | 0 | 6 |
117 | exec - advec_mom.cpp:168-173 [...] | 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.27 | 1.39 | 1.13 | 112 | 490.22 | 100 | 77.5 | 1.14 | 1 | 1 | 1.23 | 1 | 0 | 0 | 0 | 10 |
129 | exec - advec_mom.cpp:72-76 [...] | 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.23 | 1.26 | 1.1 | 112 | 83.55 | 98.61 | 79.95 | 1.13 | 1 | 1 | 1.16 | 1 | 0 | 0 | 0 | 5 |
125 | exec - advec_mom.cpp:96-101 [...] | 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.23 | 1.23 | 1.09 | 112 | 461.47 | 97.18 | 75.26 | 1.15 | 1 | 1 | 1.13 | 1 | 0 | 0 | 0 | 10 |
253 | exec - reset_field.cpp:35-39 [...] | 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 | 1.19 | 1.18 | 1.06 | 112 | 80.61 | 100 | 87.73 | 1.12 | 1 | 1 | 1.11 | 0 | 0 | 0 | 0 | 6 |
251 | exec - reset_field.cpp:45-49 [...] | 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 | 1.19 | 1.22 | 1.06 | 112 | 79.81 | 100 | 87.73 | 1.12 | 1 | 1 | 1.15 | 0 | 0 | 0 | 0 | 6 |
256 | exec - revert.cpp:35-39 [...] | revert_kernel(int, int, int, int, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&, clover::Buffer2D<double>&) [clone .extracted] | Single | 1.18 | 1.19 | 1.05 | 112 | 79.54 | 100 | 87.73 | 1.12 | 1 | 1 | 1.13 | 0 | 0 | 0 | 0 | 6 |
131 | exec - advec_mom.cpp:63-67 [...] | 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.16 | 1.23 | 1.03 | 112 | 130.96 | 97.33 | 79.5 | 1.12 | 1 | 1 | 1.19 | 2 | 0 | 0 | 0 | 5 |
119 | exec - advec_mom.cpp:158-161 [...] | 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.88 | 0.9 | 0.78 | 112 | 60.73 | 97.44 | 76.44 | 1.13 | 1 | 1 | 1.15 | 0 | 0 | 0 | 0 | 4 |
127 | exec - advec_mom.cpp:86-89 [...] | 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.87 | 0.87 | 0.77 | 112 | 55.85 | 97.5 | 75.16 | 1.13 | 1 | 1 | 1.13 | 0 | 0 | 0 | 0 | 5 |
109 | exec - advec_cell.cpp:55-59 [...] | 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.59 | 0.61 | 0.52 | 112 | 82.29 | 98.68 | 79.03 | 1.14 | 1 | 1 | 1.17 | 1 | 0 | 0 | 0 | 5 |
101 | exec - advec_cell.cpp:147-151 [...] | 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.59 | 0.64 | 0.53 | 112 | 111.81 | 92.86 | 75.15 | 1.13 | 1 | 1 | 1.21 | 0 | 0 | 0 | 0 | 4 |
111 | exec - advec_cell.cpp:45-49 [...] | 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.55 | 0.59 | 0.49 | 112 | 364.26 | 98.21 | 75.56 | 1.14 | 1 | 1 | 1.2 | 1 | 0 | 0 | 0 | 7 |
103 | exec - advec_cell.cpp:137-141 [...] | 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.52 | 0.56 | 0.46 | 112 | 328.18 | 98.21 | 75.56 | 1.14 | 1 | 1 | 1.22 | 1 | 0 | 0 | 0 | 7 |
165 | exec - field_summary.cpp:81-82 | field_summary(global_variables&, parallel_&) [clone .extracted] | Innermost | 0.14 | 0.17 | 0.12 | 112 | 174.46 | 77.45 | 62.32 | 1.33 | 1 | 1.51 | 1.42 | 0 | 0 | 0 | 0 | 1 |
163 | exec - field_summary.cpp:76-92 | field_summary(global_variables&, parallel_&) [clone .extracted] | Outermost | 0.09 | 0.12 | 0.08 | 112 | 713.02 | 97.14 | 81.7 | 1.09 | 1 | 1.01 | 1.5 | 2 | 0 | 3 | 0 | 1 |
148 | exec - build_field.cpp:101-114 | build_field(global_variables&) [clone .extracted.37] | Single | 0.04 | 0.09 | 0.04 | 112 | 0.20 | 94.44 | 79.86 | 1.09 | 1 | 1.01 | 2.25 | 1 | 0 | 2 | 0 | 5 |
220 | exec - 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 .extracted] | Innermost | 0.02 | 0.05 | 0.02 | 56 | 0.00 | 0 | 12.5 | 1 | 1 | 8 | 1.67 | 0 | 2 | 0 | 0 | 0 |
190 | exec - generate_chunk.cpp:75-81 | generate_chunk(int, global_variables&) [clone .extracted.7] | Single | 0.02 | 0.04 | 0.02 | 112 | 1.40 | 90.38 | 79.93 | 1.07 | 1 | 1.05 | 2 | 1 | 0 | 1 | 0 | 5 |
144 | exec - build_field.cpp:119-129 | build_field(global_variables&) [clone .extracted.27] | Single | 0.02 | 0.05 | 0.02 | 112 | 0.00 | 92.86 | 79.46 | 1.09 | 1 | 1.01 | 2.5 | 1 | 0 | 2 | 0 | 5 |
226 | exec - 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 .extracted] | Innermost | 0.02 | 0.07 | 0.02 | 56 | 0.00 | 0 | 12.5 | 1 | 1 | 8 | 2.33 | 0 | 1 | 0 | 1 | 0 |
195 | exec - initialise_chunk.cpp:78-83 | initialise_chunk(int, global_variables&) [clone .extracted.7] | Single | 0.02 | 0.02 | 0.02 | 112 | 114.00 | 79.31 | 68.75 | 1.18 | 1 | 1.02 | 1 | 1 | 0 | 0 | 0 | 5 |
181 | exec - generate_chunk.cpp:85-128 [...] | generate_chunk(int, global_variables&) [clone .extracted] | Outermost | 0.01 | 0.04 | 0.01 | 111 | 524.02 | 81.67 | 73.26 | 1.16 | 1 | 1.02 | 4 | NA | NA | NA | NA | NA |
142 | exec - build_field.cpp:144-149 | build_field(global_variables&) [clone .extracted.22] | Single | 0.01 | 0.02 | 0.01 | 112 | 80.00 | 90.48 | 80.65 | 1.07 | 1 | 1.03 | 2 | 0 | 0 | 0 | 0 | 3 |
229 | exec - 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 .extracted] | Innermost | 0.01 | 0.04 | 0.01 | 54 | 0.00 | 0 | 12.5 | 1 | 1 | 8 | 2 | 0 | 2 | 0 | 0 | 0 |
146 | exec - build_field.cpp:134-139 | build_field(global_variables&) [clone .extracted.32] | Single | 0.01 | 0.02 | 0.01 | 110 | 67.60 | 90.48 | 80.65 | 1.07 | 1 | 1.03 | 2 | 0 | 0 | 0 | 0 | 3 |
223 | exec - 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 .extracted] | Innermost | 0.01 | 0.06 | 0.01 | 53 | 0.00 | 0 | 12.5 | 1 | 1 | 8 | 3 | 0 | 2 | 0 | 0 | 0 |
164 | exec - field_summary.cpp:80-82 | field_summary(global_variables&, parallel_&) [clone .extracted] | InBetween | 0.01 | 0.04 | 0.01 | 112 | 426.41 | 71.67 | 58.02 | 1.06 | 1 | 1.6 | 4 | 0 | 0 | 0 | 0 | 0 |