| ID | Module | Source Location | Source Function | Level | Max Time Over Threads (s) | Time w.r.t. Wall Time (s) | Coverage (% app. time) | Speedup if no scalar integer | Speedup if FP arith vectorized | Speedup if fully vectorized | Speedup if FP only | Number of paths | Vectorization Ratio (%) | Vector Length Use (%) | Flops (GFLOP/s) | CQA cycles | CQA cycles if no scalar integer | CQA cycles if FP arith vectorized | CQA cycles if fully vectorized | CQA cycles if FP only |
| ○Loop 26 | exec | cg.cpp:108-113 | cg_calc_ur(int, int, int, double, double*, double*, double const*, double*, double const*) [clone ._omp_fn.0] | Innermost | 116.32 | 115.23 | 43.21 | 1.00 | 1.67 | 2.50 | 1.00 | 1 | 75.00 | 43.75 | 35.22 | 4.00 | 4.00 | 2.40 | 1.60 | 4.00 |
| ○Loop 21 | exec | cg.cpp:86-90 | cg_calc_w(int, int, int, double*, double const*, double*, double const*, double const*) [clone ._omp_fn.0] | Innermost | 88.79 | 87.84 | 32.94 | 1.00 | 1.04 | 2.09 | 1.00 | 1 | 88.46 | 47.12 | 123.17 | 4.00 | 4.00 | 3.83 | 1.92 | 4.00 |
| ○Loop 30 | exec | cg.cpp:128-131 | cg_calc_p(int, int, int, double, double*, double const*) [clone ._omp_fn.0] | Innermost | 55.84 | 55.32 | 20.75 | 1.00 | 1.00 | 2.00 | 1.17 | 1 | 100.00 | 50.00 | 24.53 | 1.17 | 1.17 | 1.17 | 0.58 | 1.00 |
| ○Loop 22 | exec | cg.cpp:83-83,cg.cpp:86-90 | cg_calc_w(int, int, int, double*, double const*, double*, double const*, double const*) [clone ._omp_fn.0] | InBetween | 0.40 | 0.31 | 0.11 | 1.29 | 1.25 | 4.23 | 1.58 | 2 | 0.00 | 24.78 | 36.61 | 12.63 | 9.75 | 10.09 | 2.98 | 8.00 |
| ○Loop 27 | exec | cg.cpp:105-105,cg.cpp:108-113 | cg_calc_ur(int, int, int, double, double*, double*, double const*, double*, double const*) [clone ._omp_fn.0] | InBetween | 0.29 | 0.22 | 0.08 | 1.00 | 1.13 | 2.22 | 1.00 | 2 | 0.00 | 25.20 | 17.40 | 8.00 | 8.00 | 7.06 | 3.61 | 8.00 |
| ○Loop 80 | exec | local_halos.cpp:13-15 | update_left(int, int, int, int, double*, bool) [clone ._omp_fn.0] | Innermost | 0.16 | 0.08 | 0.03 | 1.00 | 1.00 | 4.00 | 1.00 | 1 | 0.00 | 25.00 | 0.00 | 1.00 | 1.00 | 1.00 | 0.25 | 1.00 |
| ○Loop 85 | exec | local_halos.cpp:28-30 | update_right(int, int, int, int, double*, bool) [clone ._omp_fn.0] | Innermost | 0.07 | 0.04 | 0.01 | 1.00 | 1.00 | 4.00 | 3.33 | 1 | 0.00 | 25.00 | 0.00 | 0.83 | 0.83 | 0.83 | 0.21 | 0.25 |
| ○Loop 17 | exec | cg.cpp:62-68 | cg_init(int, int, int, int, double, double, double*, double const*, double const*, double*, double*, double*, double*, double*, double*) [clone ._omp_fn.3] | Innermost | 0.05 | 0.03 | 0.01 | 1.00 | 1.00 | 4.00 | 1.50 | 1 | 0.00 | 25.00 | 69.60 | 4.50 | 4.50 | 4.50 | 1.13 | 3.00 |
| ○Loop 14 | exec | cg.cpp:21-25 | cg_init(int, int, int, int, double, double, double*, double const*, double const*, double*, double*, double*, double*, double*, double*) [clone ._omp_fn.0] | Innermost | 0.05 | 0.02 | 0.01 | NA | NA | NA | NA | NA | NA | NA | 2.45 | NA | NA | NA | NA | NA |
| ○Loop 138 | exec | solver_methods.cpp:69-72 | calculate_residual(int, int, int, double const*, double const*, double*, double const*, double const*) [clone ._omp_fn.0] | Innermost | 0.04 | 0.02 | 0.01 | NA | NA | NA | NA | NA | NA | NA | 67.56 | NA | NA | NA | NA | NA |
| ○Loop 91 | exec | local_halos.cpp:46-46 | update_top(int, int, int, int, double*, bool) [clone ._omp_fn.0] | Single | 0.04 | 0.01 | 0.01 | NA | NA | NA | NA | NA | NA | NA | 0.00 | NA | NA | NA | NA | NA |
| ○Loop 93 | exec | local_halos.cpp:62-62 | update_bottom(int, int, int, int, double*, bool) [clone ._omp_fn.0] | Single | 0.05 | 0.01 | 0.00 | NA | NA | NA | NA | NA | NA | NA | 0.00 | NA | NA | NA | NA | NA |
| ○Loop 23 | exec | cg.cpp:105-105 | cg_calc_ur(int, int, int, double, double*, double*, double const*, double*, double const*) [clone ._omp_fn.0] | Single | 0.05 | 0.01 | 0.00 | NA | NA | NA | NA | NA | NA | NA | 0.00 | NA | NA | NA | NA | NA |
| ○Loop 144 | exec | solver_methods.cpp:103-105 | finalise(int, int, int, double*, double const*, double*) [clone ._omp_fn.0] | Innermost | 0.03 | 0.00 | 0.00 | NA | NA | NA | NA | NA | NA | NA | 4.44 | NA | NA | NA | NA | NA |
| ○Loop 71 | exec | kernel_initialise.cpp:51-56,kernel_initialise.cpp:69-70 | run_set_chunk_state(Chunk*, Settings&, State*) | Innermost | 0.08 | 0.00 | 0.00 | NA | NA | NA | NA | NA | NA | NA | 121.54 | NA | NA | NA | NA | NA |
| ○Loop 4 | exec | cg.cpp:47-50 | cg_init(int, int, int, int, double, double, double*, double const*, double const*, double*, double*, double*, double*, double*, double*) [clone ._omp_fn.2] | Innermost | 0.03 | 0.00 | 0.00 | NA | NA | NA | NA | NA | NA | NA | 53.31 | NA | NA | NA | NA | NA |
| ○Loop 149 | exec | solver_methods.cpp:28-35 | run_field_summary(Chunk*, Settings&, double*, double*, double*, double*) | Innermost | 0.04 | 0.00 | 0.00 | NA | NA | NA | NA | NA | NA | NA | 355.82 | NA | NA | NA | NA | NA |
| ○Loop 31 | exec | cg.cpp:127-131 | cg_calc_p(int, int, int, double, double*, double const*) [clone ._omp_fn.0] | InBetween | 0.03 | 0.00 | 0.00 | NA | NA | NA | NA | NA | NA | NA | 8.00 | NA | NA | NA | NA | NA |