| 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 19 | 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.97 | 115.76 | 43.45 | 1.00 | 1.00 | 4.00 | 1.00 | 1 | 0.00 | 25.00 | 35.13 | 8.00 | 8.00 | 8.00 | 2.00 | 8.00 |
| ○Loop 16 | exec | cg.cpp:86-90 | cg_calc_w(int, int, int, double*, double const*, double*, double const*, double const*) [clone ._omp_fn.0] | Innermost | 87.86 | 86.95 | 32.63 | 1.00 | 1.00 | 4.00 | 1.33 | 1 | 0.00 | 25.00 | 116.74 | 7.33 | 7.33 | 7.33 | 1.83 | 5.50 |
| ○Loop 20 | exec | cg.cpp:128-131 | cg_calc_p(int, int, int, double, double*, double const*) [clone ._omp_fn.0] | Innermost | 56.06 | 55.38 | 20.78 | 1.00 | 1.00 | 4.00 | 4.00 | 1 | 0.00 | 25.00 | 24.52 | 8.00 | 8.00 | 8.00 | 2.00 | 2.00 |
| ○Loop 15 | exec | cg.cpp:86-90 | cg_calc_w(int, int, int, double*, double const*, double*, double const*, double const*) [clone ._omp_fn.0] | Outermost | 0.31 | 0.22 | 0.08 | 1.16 | 1.16 | 3.56 | 1.73 | 4 | 0.00 | 23.01 | 27.55 | 3.25 | 2.79 | 2.79 | 0.91 | 1.88 |
| ○Loop 57 | exec | local_halos.cpp:13-15 | update_left(int, int, int, int, double*, bool) [clone ._omp_fn.0] | Outermost | 0.15 | 0.10 | 0.04 | 1.66 | 1.00 | 4.00 | 16.00 | 15 | 0.00 | 25.00 | 0.00 | 8.00 | 4.83 | 8.00 | 2.00 | 0.50 |
| ○Loop 18 | exec | cg.cpp:108-108,cg.cpp:111-113 | cg_calc_ur(int, int, int, double, double*, double*, double const*, double*, double const*) [clone ._omp_fn.0] | Outermost | 0.10 | 0.07 | 0.03 | 1.10 | 1.10 | 2.21 | 2.94 | 8 | 0.00 | 26.22 | 22.08 | 6.63 | 6.00 | 6.00 | 3.00 | 2.25 |
| ○Loop 59 | exec | local_halos.cpp:28-30 | update_right(int, int, int, int, double*, bool) [clone ._omp_fn.0] | Outermost | 0.13 | 0.06 | 0.02 | 1.34 | 1.00 | 4.00 | 13.00 | 15 | 0.00 | 25.00 | 0.00 | 6.50 | 4.83 | 6.50 | 1.63 | 0.50 |
| ○Loop 17 | 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.11 | 0.04 | 0.02 | 1.00 | 3.00 | 4.00 | 1.00 | 1 | 0.00 | 25.00 | 0.03 | 2.00 | 2.00 | 0.67 | 0.50 | 2.00 |
| ○Loop 13 | 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.33 | 1 | 0.00 | 25.00 | 78.84 | 8.67 | 8.67 | 8.67 | 2.17 | 6.50 |
| ○Loop 91 | 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 | 69.75 | NA | NA | NA | NA | NA |
| ○Loop 14 | exec | cg.cpp:83-83 | cg_calc_w(int, int, int, double*, double const*, double*, double const*, double const*) [clone ._omp_fn.0] | Single | 0.07 | 0.02 | 0.01 | NA | NA | NA | NA | NA | NA | NA | 3.25 | NA | NA | NA | NA | NA |
| ○Loop 9 | 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.04 | 0.01 | 0.00 | NA | NA | NA | NA | NA | NA | NA | 3.87 | NA | NA | NA | NA | NA |
| ○Loop 3 | 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.04 | 0.01 | 0.00 | NA | NA | NA | NA | NA | NA | NA | 38.42 | NA | NA | NA | NA | NA |
| ○Loop 47 | exec | kernel_initialise.cpp:51-56,kernel_initialise.cpp:69-70 | run_set_chunk_state(Chunk*, Settings&, State*) | Innermost | 0.06 | 0.00 | 0.00 | NA | NA | NA | NA | NA | NA | NA | 153.27 | NA | NA | NA | NA | NA |
| ○Loop 6 | exec | cg.cpp:35-37 | cg_init(int, int, int, int, double, double, double*, double const*, double const*, double*, double*, double*, double*, double*, double*) [clone ._omp_fn.1] | Innermost | 0.03 | 0.00 | 0.00 | NA | NA | NA | NA | NA | NA | NA | 0.00 | NA | NA | NA | NA | NA |
| ○Loop 61 | exec | local_halos.cpp:62-62 | update_bottom(int, int, int, int, double*, bool) [clone ._omp_fn.0] | Single | 0.03 | 0.00 | 0.00 | NA | NA | NA | NA | NA | NA | NA | 0.00 | NA | NA | NA | NA | NA |
| ○Loop 195 | exec | remote_halo_driver.cpp:8-11,remote_halo_driver.cpp:34-38,remote_halo_driver.cpp:56-59,remote_halo_driver.cpp:65-70,remote_halo_driver.cpp:76-76 | remote_halo_driver(Chunk*, Settings&, int) | Single | 0.04 | 0.00 | 0.00 | NA | NA | NA | NA | NA | NA | NA | 0.00 | NA | NA | NA | NA | NA |
| ○Loop 101 | exec | solver_methods.cpp:28-35 | run_field_summary(Chunk*, Settings&, double*, double*, double*, double*) | Innermost | 0.03 | 0.00 | 0.00 | NA | NA | NA | NA | NA | NA | NA | 477.12 | NA | NA | NA | NA | NA |
| ○Loop 90 | exec | solver_methods.cpp:53-55 | copy_u(int, int, int, double*, double const*) [clone ._omp_fn.0] | Innermost | 0.03 | 0.00 | 0.00 | NA | NA | NA | NA | NA | NA | NA | 0.00 | NA | NA | NA | NA | NA |
| ○Loop 96 | 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 | 5.33 | NA | NA | NA | NA | NA |