| Function: miniqmcreference::einspline_spo_ref<double>::evaluate(qmcplusplus::ParticleSet const&, int ... | Module: exec | Source: einspline_spo_ref.hpp:180-189 [...] | Coverage (incl. loops): 0.01% | (excl. loops): 0.01% |
|---|
| Function: miniqmcreference::einspline_spo_ref<double>::evaluate(qmcplusplus::ParticleSet const&, int ... | Module: exec | Source: einspline_spo_ref.hpp:180-189 [...] | Coverage (incl. loops): 0.01% | (excl. loops): 0.01% |
|---|
/usr/lib/gcc/aarch64-amazon-linux/14/../../../../include/c++/14/bits/stl_algo.h: 709 - 709 |
-------------------------------------------------------------------------------- |
709: if (__n2 <= 0) |
/home/eoseret/qaas/qaas_runs/178-212-9071/intel/miniqmc/build/miniqmc/src/QMCWaveFunctions/einspline_spo_ref.hpp: 180 - 189 |
-------------------------------------------------------------------------------- |
180: { |
181: evaluate_v(P, iat); |
182: |
183: for (int i = 0; i < nBlocks; ++i) |
184: { |
185: // in real simulation, phase needs to be applied. Here just fake computation |
186: const int first = i * nBlocks; |
187: std::copy_n(psi[i].data(), std::min((i + 1) * nSplinesPerBlock, OrbitalSetSize) - first, psi_v.data() + first); |
188: } |
189: } |
/usr/lib/gcc/aarch64-amazon-linux/14/../../../../include/c++/14/bits/stl_algobase.h: 238 - 452 |
-------------------------------------------------------------------------------- |
238: if (__b < __a) |
[...] |
413: { *__to = *__from; } |
[...] |
450: const ptrdiff_t _Num = __last - __first; |
451: if (__builtin_expect(_Num > 1, true)) |
452: __builtin_memmove(__result, __first, sizeof(_Tp) * _Num); |
0x43ab60 STP X29, X30, [SP, #976]! |
0x43ab64 STP X22, X21, [SP, #16] |
0x43ab68 STP X20, X19, [SP, #32] |
0x43ab6c ADD X29, SP, #0 |
0x43ab70 ORR X19, XZR, X3 |
0x43ab74 ORR X20, XZR, X0 |
0x43ab78 BL 43ba20 |
0x43ab7c LDR W8, [X20, #48] |
0x43ab80 CMP W8, #1 |
0x43ab84 B.LT 43abf8 |
0x43ab88 ORR X21, XZR, XZR |
0x43ab8c ORR X22, XZR, XZR |
0x43ab90 B 43abac |
(799) 0x43ab94 LDR D0, [X1] |
(799) 0x43ab98 STR D0, [X0] |
(799) 0x43ab9c HINT #0 |
(799) 0x43aba0 ADD X21, X21, #24 |
(799) 0x43aba4 CMP X22, W8,SXTW |
(799) 0x43aba8 B.GE 43abf8 |
(799) 0x43abac LDR W10, [X20, #64] |
(799) 0x43abb0 LDR W11, [X20, #8] |
(799) 0x43abb4 MUL W9, W8, W22 |
(799) 0x43abb8 ADD X22, X22, #1 |
(799) 0x43abbc MUL W10, W10, W22 |
(799) 0x43abc0 CMP W11, W10 |
(799) 0x43abc4 CSEL W10, W11, W10, #11 |
(799) 0x43abc8 SUB W10, W10, W9 |
(799) 0x43abcc CMP W10, #1 |
(799) 0x43abd0 B.LT 43aba0 |
(799) 0x43abd4 LDR X11, [X20, #784] |
(799) 0x43abd8 LDR X1, [X11, X21] |
(799) 0x43abdc LDR X11, [X19, #24] |
(799) 0x43abe0 ADD X0, X11, W9,SXTW #3 |
(799) 0x43abe4 B.EQ 43ab94 |
(799) 0x43abe8 UBFM X2, X10, #61, #31 |
(799) 0x43abec BL 4100b0 |
(799) 0x43abf0 LDR W8, [X20, #48] |
(799) 0x43abf4 B 43aba0 |
0x43abf8 LDP X20, X19, [SP, #32] |
0x43abfc LDP X22, X21, [SP, #16] |
0x43ac00 LDP X29, X30, [SP], #48 |
0x43ac04 RET |
0x43ac08 HINT #0 |
0x43ac0c HINT #0 |
0x43ac10 HINT #0 |
0x43ac14 HINT #0 |
0x43ac18 HINT #0 |
0x43ac1c HINT #0 |
| Coverage (%) | Name | Source Location | Module |
|---|---|---|---|
| ►100.00+ | miniqmcreference::DiracDetermi[...] | DiracDeterminantRef.cpp:217 | exec |
| ○ | qmcplusplus::WaveFunction::eva[...] | stl_vector.h:993 | exec |
| ○ | qmcplusplus::NonLocalPP<double[...] | NonLocalPP.hpp:126 | exec |
| ○ | main.omp_outlined.62 | NewTimer.h:249 | exec |
| ○ | __kmp_invoke_microtask | libomp.so | |
| ○ | __kmp_fork_call | libomp.so | |
| ○ | __kmpc_fork_call | libomp.so | |
| ○ | main | miniqmc.cpp:409 | exec |
| ○ | __libc_start_call_main | libc.so.6 | |
| ○ | __libc_start_main | libc.so.6 | |
| ○ | _start | new_allocator.h:172 | exec |
| Coverage (%) | Name | Source Location | Module |
|---|---|---|---|
| ►50.00+ | qmcplusplus::SPOSet::evaluateD[...] | OhmmsVector.h:178 | exec |
| ○ | miniqmcreference::DiracDetermi[...] | DiracDeterminantRef.cpp:217 | exec |
| ○ | qmcplusplus::WaveFunction::eva[...] | stl_vector.h:993 | exec |
| ○ | qmcplusplus::NonLocalPP<double[...] | NonLocalPP.hpp:126 | exec |
| ○ | main.omp_outlined.62 | NewTimer.h:249 | exec |
| ○ | __kmp_invoke_microtask | libomp.so | |
| ○ | __kmp_invoke_task_func | libomp.so | |
| ○ | __kmp_fork_call | libomp.so | |
| ○ | __kmpc_fork_call | libomp.so | |
| ○ | main | miniqmc.cpp:409 | exec |
| ○ | __libc_start_call_main | libc.so.6 | |
| ○ | __libc_start_main | libc.so.6 | |
| ○ | _start | new_allocator.h:172 | exec |
| ►50.00+ | qmcplusplus::SPOSet::evaluateD[...] | OhmmsVector.h:178 | exec |
| ○ | miniqmcreference::DiracDetermi[...] | DiracDeterminantRef.cpp:217 | exec |
| ○ | qmcplusplus::WaveFunction::eva[...] | stl_vector.h:993 | exec |
| ○ | qmcplusplus::NonLocalPP<double[...] | NonLocalPP.hpp:126 | exec |
| ○ | main.omp_outlined.62 | NewTimer.h:249 | exec |
| ○ | __kmp_invoke_microtask | libomp.so | |
| ○ | __kmp_invoke_task_func | libomp.so | |
| ○ | __kmp_launch_thread | libomp.so | |
| ○ | __kmp_launch_worker(void*) | libomp.so | |
| ○ | start_thread | libc.so.6 | |
| ○ | thread_start | libc.so.6 |
| Coverage (%) | Name | Source Location | Module |
|---|---|---|---|
| ►100.00+ | qmcplusplus::SPOSet::evaluateD[...] | OhmmsVector.h:178 | exec |
| ○ | miniqmcreference::DiracDetermi[...] | DiracDeterminantRef.cpp:217 | exec |
| ○ | qmcplusplus::WaveFunction::eva[...] | stl_vector.h:993 | exec |
| ○ | qmcplusplus::NonLocalPP<double[...] | NonLocalPP.hpp:126 | exec |
| ○ | main.omp_outlined.62 | NewTimer.h:249 | exec |
| ○ | __kmp_invoke_microtask | libomp.so | |
| ○ | __kmp_invoke_task_func | libomp.so | |
| ○ | __kmp_launch_thread | libomp.so | |
| ○ | __kmp_launch_worker(void*) | libomp.so | |
| ○ | start_thread | libc.so.6 | |
| ○ | thread_start | libc.so.6 |
| Coverage (%) | Name | Source Location | Module |
|---|---|---|---|
| ►100.00+ | qmcplusplus::SPOSet::evaluateD[...] | OhmmsVector.h:178 | exec |
| ○ | miniqmcreference::DiracDetermi[...] | DiracDeterminantRef.cpp:217 | exec |
| ○ | qmcplusplus::WaveFunction::eva[...] | stl_vector.h:993 | exec |
| ○ | qmcplusplus::NonLocalPP<double[...] | NonLocalPP.hpp:126 | exec |
| ○ | main.omp_outlined.62 | NewTimer.h:249 | exec |
| ○ | __kmp_invoke_microtask | libomp.so | |
| ○ | __kmp_invoke_task_func | libomp.so | |
| ○ | __kmp_launch_thread | libomp.so | |
| ○ | __kmp_launch_worker(void*) | libomp.so | |
| ○ | start_thread | libc.so.6 | |
| ○ | thread_start | libc.so.6 |
| Coverage (%) | Name | Source Location | Module |
|---|---|---|---|
| ►80.00+ | qmcplusplus::SPOSet::evaluateD[...] | OhmmsVector.h:178 | exec |
| ○ | miniqmcreference::DiracDetermi[...] | DiracDeterminantRef.cpp:217 | exec |
| ○ | qmcplusplus::WaveFunction::eva[...] | stl_vector.h:993 | exec |
| ○ | qmcplusplus::NonLocalPP<double[...] | NonLocalPP.hpp:126 | exec |
| ○ | main.omp_outlined.62 | NewTimer.h:249 | exec |
| ○ | __kmp_invoke_microtask | libomp.so | |
| ○ | __kmp_invoke_task_func | libomp.so | |
| ○ | __kmp_launch_thread | libomp.so | |
| ○ | __kmp_launch_worker(void*) | libomp.so | |
| ○ | start_thread | libc.so.6 | |
| ○ | thread_start | libc.so.6 | |
| ►13.33+ | qmcplusplus::SPOSet::evaluateD[...] | OhmmsVector.h:178 | exec |
| ○ | miniqmcreference::DiracDetermi[...] | DiracDeterminantRef.cpp:217 | exec |
| ○ | qmcplusplus::WaveFunction::eva[...] | stl_vector.h:993 | exec |
| ○ | qmcplusplus::NonLocalPP<double[...] | NonLocalPP.hpp:126 | exec |
| ○ | main.omp_outlined.62 | NewTimer.h:249 | exec |
| ○ | __kmp_invoke_microtask | libomp.so | |
| ○ | __kmp_invoke_task_func | libomp.so | |
| ○ | __kmp_fork_call | libomp.so | |
| ○ | __kmpc_fork_call | libomp.so | |
| ○ | main | miniqmc.cpp:409 | exec |
| ○ | __libc_start_call_main | libc.so.6 | |
| ○ | __libc_start_main | libc.so.6 | |
| ○ | _start | new_allocator.h:172 | exec |
| ►6.67+ | miniqmcreference::DiracDetermi[...] | DiracDeterminantRef.cpp:217 | exec |
| ○ | qmcplusplus::WaveFunction::eva[...] | stl_vector.h:993 | exec |
| ○ | qmcplusplus::NonLocalPP<double[...] | NonLocalPP.hpp:126 | exec |
| ○ | main.omp_outlined.62 | NewTimer.h:249 | exec |
| ○ | __kmp_invoke_microtask | libomp.so | |
| ○ | __kmp_invoke_task_func | libomp.so | |
| ○ | __kmp_launch_thread | libomp.so | |
| ○ | __kmp_launch_worker(void*) | libomp.so | |
| ○ | start_thread | libc.so.6 | |
| ○ | thread_start | libc.so.6 |
| Coverage (%) | Name | Source Location | Module |
|---|---|---|---|
| ►100.00+ | qmcplusplus::SPOSet::evaluateD[...] | OhmmsVector.h:178 | exec |
| ○ | miniqmcreference::DiracDetermi[...] | DiracDeterminantRef.cpp:217 | exec |
| ○ | qmcplusplus::WaveFunction::eva[...] | stl_vector.h:993 | exec |
| ○ | qmcplusplus::NonLocalPP<double[...] | NonLocalPP.hpp:126 | exec |
| ○ | main.omp_outlined.62 | NewTimer.h:249 | exec |
| ○ | __kmp_invoke_microtask | libomp.so | |
| ○ | __kmp_invoke_task_func | libomp.so | |
| ○ | __kmp_launch_thread | libomp.so | |
| ○ | __kmp_launch_worker(void*) | libomp.so | |
| ○ | start_thread | libc.so.6 | |
| ○ | thread_start | libc.so.6 |
| Coverage (%) | Name | Source Location | Module |
|---|---|---|---|
| ►100.00+ | qmcplusplus::SPOSet::evaluateD[...] | OhmmsVector.h:178 | exec |
| ○ | miniqmcreference::DiracDetermi[...] | DiracDeterminantRef.cpp:217 | exec |
| ○ | qmcplusplus::WaveFunction::eva[...] | stl_vector.h:993 | exec |
| ○ | qmcplusplus::NonLocalPP<double[...] | NonLocalPP.hpp:126 | exec |
| ○ | main.omp_outlined.62 | NewTimer.h:249 | exec |
| ○ | __kmp_invoke_microtask | libomp.so | |
| ○ | __kmp_invoke_task_func | libomp.so | |
| ○ | __kmp_launch_thread | libomp.so | |
| ○ | __kmp_launch_worker(void*) | libomp.so | |
| ○ | start_thread | libc.so.6 | |
| ○ | thread_start | libc.so.6 |
| Coverage (%) | Name | Source Location | Module |
|---|---|---|---|
| ►86.49+ | qmcplusplus::SPOSet::evaluateD[...] | OhmmsVector.h:178 | exec |
| ○ | miniqmcreference::DiracDetermi[...] | DiracDeterminantRef.cpp:217 | exec |
| ○ | qmcplusplus::WaveFunction::eva[...] | stl_vector.h:993 | exec |
| ○ | qmcplusplus::NonLocalPP<double[...] | NonLocalPP.hpp:126 | exec |
| ○ | main.omp_outlined.62 | NewTimer.h:249 | exec |
| ○ | __kmp_invoke_microtask | libomp.so | |
| ○ | __kmp_invoke_task_func | libomp.so | |
| ○ | __kmp_launch_thread | libomp.so | |
| ○ | __kmp_launch_worker(void*) | libomp.so | |
| ○ | start_thread | libc.so.6 | |
| ○ | thread_start | libc.so.6 | |
| ►8.11+ | qmcplusplus::SPOSet::evaluateD[...] | OhmmsVector.h:178 | exec |
| ○ | miniqmcreference::DiracDetermi[...] | DiracDeterminantRef.cpp:217 | exec |
| ○ | qmcplusplus::WaveFunction::eva[...] | stl_vector.h:993 | exec |
| ○ | qmcplusplus::NonLocalPP<double[...] | NonLocalPP.hpp:126 | exec |
| ○ | main.omp_outlined.62 | NewTimer.h:249 | exec |
| ○ | __kmp_invoke_microtask | libomp.so | |
| ○ | __kmp_invoke_task_func | libomp.so | |
| ○ | __kmp_fork_call | libomp.so | |
| ○ | __kmpc_fork_call | libomp.so | |
| ○ | main | miniqmc.cpp:409 | exec |
| ○ | __libc_start_call_main | libc.so.6 | |
| ○ | __libc_start_main | libc.so.6 | |
| ○ | _start | new_allocator.h:172 | exec |
| ►5.41+ | miniqmcreference::DiracDetermi[...] | DiracDeterminantRef.cpp:217 | exec |
| ○ | qmcplusplus::WaveFunction::eva[...] | stl_vector.h:993 | exec |
| ○ | qmcplusplus::NonLocalPP<double[...] | NonLocalPP.hpp:126 | exec |
| ○ | main.omp_outlined.62 | NewTimer.h:249 | exec |
| ○ | __kmp_invoke_microtask | libomp.so | |
| ○ | __kmp_invoke_task_func | libomp.so | |
| ○ | __kmp_launch_thread | libomp.so | |
| ○ | __kmp_launch_worker(void*) | libomp.so | |
| ○ | start_thread | libc.so.6 | |
| ○ | thread_start | libc.so.6 |
| Coverage (%) | Name | Source Location | Module |
|---|---|---|---|
| ►92.98+ | qmcplusplus::SPOSet::evaluateD[...] | OhmmsVector.h:178 | exec |
| ○ | miniqmcreference::DiracDetermi[...] | DiracDeterminantRef.cpp:217 | exec |
| ○ | qmcplusplus::WaveFunction::eva[...] | stl_vector.h:993 | exec |
| ○ | qmcplusplus::NonLocalPP<double[...] | NonLocalPP.hpp:126 | exec |
| ○ | main.omp_outlined.62 | NewTimer.h:249 | exec |
| ○ | __kmp_invoke_microtask | libomp.so | |
| ○ | __kmp_invoke_task_func | libomp.so | |
| ○ | __kmp_launch_thread | libomp.so | |
| ○ | __kmp_launch_worker(void*) | libomp.so | |
| ○ | start_thread | libc.so.6 | |
| ○ | thread_start | libc.so.6 | |
| ►4.39+ | qmcplusplus::SPOSet::evaluateD[...] | OhmmsVector.h:178 | exec |
| ○ | miniqmcreference::DiracDetermi[...] | DiracDeterminantRef.cpp:217 | exec |
| ○ | qmcplusplus::WaveFunction::eva[...] | stl_vector.h:993 | exec |
| ○ | qmcplusplus::NonLocalPP<double[...] | NonLocalPP.hpp:126 | exec |
| ○ | main.omp_outlined.62 | NewTimer.h:249 | exec |
| ○ | __kmp_invoke_microtask | libomp.so | |
| ○ | __kmp_invoke_task_func | libomp.so | |
| ○ | __kmp_fork_call | libomp.so | |
| ○ | __kmpc_fork_call | libomp.so | |
| ○ | main | miniqmc.cpp:409 | exec |
| ○ | __libc_start_call_main | libc.so.6 | |
| ○ | __libc_start_main | libc.so.6 | |
| ○ | _start | new_allocator.h:172 | exec |
| ►2.63+ | miniqmcreference::DiracDetermi[...] | DiracDeterminantRef.cpp:217 | exec |
| ○ | qmcplusplus::WaveFunction::eva[...] | stl_vector.h:993 | exec |
| ○ | qmcplusplus::NonLocalPP<double[...] | NonLocalPP.hpp:126 | exec |
| ○ | main.omp_outlined.62 | NewTimer.h:249 | exec |
| ○ | __kmp_invoke_microtask | libomp.so | |
| ○ | __kmp_invoke_task_func | libomp.so | |
| ○ | __kmp_launch_thread | libomp.so | |
| ○ | __kmp_launch_worker(void*) | libomp.so | |
| ○ | start_thread | libc.so.6 | |
| ○ | thread_start | libc.so.6 |
| Coverage (%) | Name | Source Location | Module |
|---|---|---|---|
| ►97.48+ | qmcplusplus::SPOSet::evaluateD[...] | OhmmsVector.h:178 | exec |
| ○ | miniqmcreference::DiracDetermi[...] | DiracDeterminantRef.cpp:217 | exec |
| ○ | qmcplusplus::WaveFunction::eva[...] | stl_vector.h:993 | exec |
| ○ | qmcplusplus::NonLocalPP<double[...] | NonLocalPP.hpp:126 | exec |
| ○ | main.omp_outlined.62 | NewTimer.h:249 | exec |
| ○ | __kmp_invoke_microtask | libomp.so | |
| ○ | __kmp_invoke_task_func | libomp.so | |
| ○ | __kmp_launch_thread | libomp.so | |
| ○ | __kmp_launch_worker(void*) | libomp.so | |
| ○ | start_thread | libc.so.6 | |
| ○ | thread_start | libc.so.6 | |
| ►2.52+ | miniqmcreference::DiracDetermi[...] | DiracDeterminantRef.cpp:217 | exec |
| ○ | qmcplusplus::WaveFunction::eva[...] | stl_vector.h:993 | exec |
| ○ | qmcplusplus::NonLocalPP<double[...] | NonLocalPP.hpp:126 | exec |
| ○ | main.omp_outlined.62 | NewTimer.h:249 | exec |
| ○ | __kmp_invoke_microtask | libomp.so | |
| ○ | __kmp_invoke_task_func | libomp.so | |
| ○ | __kmp_launch_thread | libomp.so | |
| ○ | __kmp_launch_worker(void*) | libomp.so | |
| ○ | start_thread | libc.so.6 | |
| ○ | thread_start | libc.so.6 |
| min | med | avg | max |
|---|---|---|---|
| Percentile Index | 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100 |
|---|---|---|---|---|---|---|---|---|---|---|
| Value |
| min | med | avg | max |
|---|---|---|---|
| Percentile Index | 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100 |
|---|---|---|---|---|---|---|---|---|---|---|
| Value |
| Path / |
The code analyzed by CQA in that panel excludes loops and represents 0.01% of application time for run 1x1
| Source file and lines | einspline_spo_ref.hpp:180-189 |
| Module | exec |
| nb instructions | 23 |
| nb uops | 17 |
| loop length | 92 |
| used w registers | 1 |
| used x registers | 9 |
| used b registers | 0 |
| used h registers | 0 |
| used s registers | 1 |
| used d registers | 0 |
| used q registers | 0 |
| used v registers | 0 |
| used z registers | 0 |
| nb stack references | 6 |
| micro-operation queue | 2.13 cycles |
| front end | 2.13 cycles |
| P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | P12 | P13 | P14 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| uops | 2.00 | 2.00 | 2.00 | 2.00 | 2.00 | 2.00 | 0.00 | 0.00 | 0.00 | 0.00 | 2.50 | 2.17 | 2.33 | 1.50 | 1.50 |
| cycles | 2.00 | 2.00 | 2.00 | 2.00 | 2.00 | 2.00 | 0.00 | 0.00 | 0.00 | 0.00 | 2.50 | 2.17 | 2.33 | 1.50 | 1.50 |
| Cycles executing div or sqrt instructions | NA |
| Front-end | 2.13 |
| Dispatch | 2.50 |
| Overall L1 | 2.50 |
| all | 0% |
| load | 0% |
| store | 0% |
| mul | NA (no mul vectorizable/vectorized instructions) |
| add-sub | 0% |
| fma | NA (no fma vectorizable/vectorized instructions) |
| div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
| other | 0% |
| all | 38% |
| load | 50% |
| store | 50% |
| mul | NA (no mul vectorizable/vectorized instructions) |
| add-sub | 25% |
| fma | NA (no fma vectorizable/vectorized instructions) |
| div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
| other | 25% |
| Instruction | Nb FU | P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | P12 | P13 | P14 | Latency | Recip. throughput | Vectorization |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| STP X29, X30, [SP, #976]! | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0.50 | 0.50 | 1 | 0.50 | scal (50.0%) |
| STP X22, X21, [SP, #16] | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0.50 | 0.50 | 1 | 0.50 | scal (50.0%) |
| STP X20, X19, [SP, #32] | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0.50 | 0.50 | 1 | 0.50 | scal (50.0%) |
| ADD X29, SP, #0 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | scal (25.0%) |
| ORR X19, XZR, X3 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | scal (25.0%) |
| ORR X20, XZR, X0 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | N/A |
| BL 43ba20 <_ZN16miniqmcreference17einspline_spo_refIdE10evaluate_vERKN11qmcplusplus11ParticleSetEi> | 1 | 0.50 | 0.50 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 | N/A |
| LDR W8, [X20, #48] | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 4 | 0.33 | N/A |
| CMP W8, #1 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.33 | N/A |
| B.LT 43abf8 <_ZN16miniqmcreference17einspline_spo_refIdE8evaluateERKN11qmcplusplus11ParticleSetEiRNS2_6VectorIdSaIdEEE+0x98> | 1 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 | N/A |
| ORR X21, XZR, XZR | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | scal (25.0%) |
| ORR X22, XZR, XZR | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | scal (25.0%) |
| B 43abac <_ZN16miniqmcreference17einspline_spo_refIdE8evaluateERKN11qmcplusplus11ParticleSetEiRNS2_6VectorIdSaIdEEE+0x4c> | 1 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 | N/A |
| LDP X20, X19, [SP, #32] | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 4 | 1 | N/A |
| LDP X22, X21, [SP, #16] | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 4 | 1 | scal (50.0%) |
| LDP X29, X30, [SP], #48 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 4 | 1 | scal (50.0%) |
| RET | 1 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 | N/A |
| HINT #0 | N/A | ||||||||||||||||||
| HINT #0 | N/A | ||||||||||||||||||
| HINT #0 | N/A | ||||||||||||||||||
| HINT #0 | N/A | ||||||||||||||||||
| HINT #0 | N/A | ||||||||||||||||||
| HINT #0 | N/A |
The code analyzed by CQA in that panel excludes loops and represents 0.01% of application time for run 1x1
| Source file and lines | einspline_spo_ref.hpp:180-189 |
| Module | exec |
| nb instructions | 23 |
| nb uops | 17 |
| loop length | 92 |
| used w registers | 1 |
| used x registers | 9 |
| used b registers | 0 |
| used h registers | 0 |
| used s registers | 1 |
| used d registers | 0 |
| used q registers | 0 |
| used v registers | 0 |
| used z registers | 0 |
| nb stack references | 6 |
| micro-operation queue | 2.13 cycles |
| front end | 2.13 cycles |
| P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | P12 | P13 | P14 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| uops | 2.00 | 2.00 | 2.00 | 2.00 | 2.00 | 2.00 | 0.00 | 0.00 | 0.00 | 0.00 | 2.50 | 2.17 | 2.33 | 1.50 | 1.50 |
| cycles | 2.00 | 2.00 | 2.00 | 2.00 | 2.00 | 2.00 | 0.00 | 0.00 | 0.00 | 0.00 | 2.50 | 2.17 | 2.33 | 1.50 | 1.50 |
| Cycles executing div or sqrt instructions | NA |
| Front-end | 2.13 |
| Dispatch | 2.50 |
| Overall L1 | 2.50 |
| all | 0% |
| load | 0% |
| store | 0% |
| mul | NA (no mul vectorizable/vectorized instructions) |
| add-sub | 0% |
| fma | NA (no fma vectorizable/vectorized instructions) |
| div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
| other | 0% |
| all | 38% |
| load | 50% |
| store | 50% |
| mul | NA (no mul vectorizable/vectorized instructions) |
| add-sub | 25% |
| fma | NA (no fma vectorizable/vectorized instructions) |
| div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
| other | 25% |
| Instruction | Nb FU | P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | P12 | P13 | P14 | Latency | Recip. throughput | Vectorization |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| STP X29, X30, [SP, #976]! | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0.50 | 0.50 | 1 | 0.50 | scal (50.0%) |
| STP X22, X21, [SP, #16] | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0.50 | 0.50 | 1 | 0.50 | scal (50.0%) |
| STP X20, X19, [SP, #32] | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0.50 | 0.50 | 1 | 0.50 | scal (50.0%) |
| ADD X29, SP, #0 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | scal (25.0%) |
| ORR X19, XZR, X3 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | scal (25.0%) |
| ORR X20, XZR, X0 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | N/A |
| BL 43ba20 <_ZN16miniqmcreference17einspline_spo_refIdE10evaluate_vERKN11qmcplusplus11ParticleSetEi> | 1 | 0.50 | 0.50 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 | N/A |
| LDR W8, [X20, #48] | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 4 | 0.33 | N/A |
| CMP W8, #1 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.33 | N/A |
| B.LT 43abf8 <_ZN16miniqmcreference17einspline_spo_refIdE8evaluateERKN11qmcplusplus11ParticleSetEiRNS2_6VectorIdSaIdEEE+0x98> | 1 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 | N/A |
| ORR X21, XZR, XZR | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | scal (25.0%) |
| ORR X22, XZR, XZR | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | scal (25.0%) |
| B 43abac <_ZN16miniqmcreference17einspline_spo_refIdE8evaluateERKN11qmcplusplus11ParticleSetEiRNS2_6VectorIdSaIdEEE+0x4c> | 1 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 | N/A |
| LDP X20, X19, [SP, #32] | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 4 | 1 | N/A |
| LDP X22, X21, [SP, #16] | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 4 | 1 | scal (50.0%) |
| LDP X29, X30, [SP], #48 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 4 | 1 | scal (50.0%) |
| RET | 1 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 | N/A |
| HINT #0 | N/A | ||||||||||||||||||
| HINT #0 | N/A | ||||||||||||||||||
| HINT #0 | N/A | ||||||||||||||||||
| HINT #0 | N/A | ||||||||||||||||||
| HINT #0 | N/A | ||||||||||||||||||
| HINT #0 | N/A |
| Run 1x1 | Number processes: 1Number nodes: NARun Command: <executable> -g "4 2 2" -bMPI Command: mpirun -n <number_processes> --bind-to core --map-by package:PE=64 --rank-by fill --report-bindings Dataset: Run Directory: /home/eoseret/qaas/qaas_runs/178-212-9071/intel/miniqmc/run/oneview_runs/multicore/armclang/oneview_run_1782144418OMP_PROC_BIND: spreadOMP_DISPLAY_AFFINITY: TRUEOMP_AFFINITY_FORMAT: 'OMP: pid %P tid %i thread %n bound to OS proc set {%A}'OMP_DISPLAY_ENV: TRUEOMP_NUM_THREADS: 1OMP_PLACES: threads |
|---|---|
| Run 1x2 | Number processes: 1Run Command: <executable> -g "4 2 2" -bMPI Command: mpirun -n <number_processes> --bind-to core --map-by package:PE=64 --rank-by fill --report-bindings Dataset: Run Directory: /home/eoseret/qaas/qaas_runs/178-212-9071/intel/miniqmc/run/oneview_runs/multicore/armclang/oneview_run_1782144418OMP_NUM_THREADS: 2OMP_PROC_BIND: spreadOMP_DISPLAY_AFFINITY: TRUEOMP_AFFINITY_FORMAT: 'OMP: pid %P tid %i thread %n bound to OS proc set {%A}'OMP_DISPLAY_ENV: TRUEOMP_PLACES: threads |
| Run 1x4 | Number processes: 1Run Command: <executable> -g "4 2 2" -bMPI Command: mpirun -n <number_processes> --bind-to core --map-by package:PE=64 --rank-by fill --report-bindings Dataset: Run Directory: /home/eoseret/qaas/qaas_runs/178-212-9071/intel/miniqmc/run/oneview_runs/multicore/armclang/oneview_run_1782144418OMP_NUM_THREADS: 4OMP_PROC_BIND: spreadOMP_DISPLAY_AFFINITY: TRUEOMP_AFFINITY_FORMAT: 'OMP: pid %P tid %i thread %n bound to OS proc set {%A}'OMP_DISPLAY_ENV: TRUEOMP_PLACES: threads |
| Run 1x8 | Number processes: 1Run Command: <executable> -g "4 2 2" -bMPI Command: mpirun -n <number_processes> --bind-to core --map-by package:PE=64 --rank-by fill --report-bindings Dataset: Run Directory: /home/eoseret/qaas/qaas_runs/178-212-9071/intel/miniqmc/run/oneview_runs/multicore/armclang/oneview_run_1782144418OMP_NUM_THREADS: 8OMP_PROC_BIND: spreadOMP_DISPLAY_AFFINITY: TRUEOMP_AFFINITY_FORMAT: 'OMP: pid %P tid %i thread %n bound to OS proc set {%A}'OMP_DISPLAY_ENV: TRUEOMP_PLACES: threads |
| Run 1x16 | Number processes: 1Run Command: <executable> -g "4 2 2" -bMPI Command: mpirun -n <number_processes> --bind-to core --map-by package:PE=64 --rank-by fill --report-bindings Dataset: Run Directory: /home/eoseret/qaas/qaas_runs/178-212-9071/intel/miniqmc/run/oneview_runs/multicore/armclang/oneview_run_1782144418OMP_NUM_THREADS: 16OMP_PROC_BIND: spreadOMP_DISPLAY_AFFINITY: TRUEOMP_AFFINITY_FORMAT: 'OMP: pid %P tid %i thread %n bound to OS proc set {%A}'OMP_DISPLAY_ENV: TRUEOMP_PLACES: threads |
| Run 1x24 | Number processes: 1Run Command: <executable> -g "4 2 2" -bMPI Command: mpirun -n <number_processes> --bind-to core --map-by package:PE=64 --rank-by fill --report-bindings Dataset: Run Directory: /home/eoseret/qaas/qaas_runs/178-212-9071/intel/miniqmc/run/oneview_runs/multicore/armclang/oneview_run_1782144418OMP_NUM_THREADS: 24OMP_PROC_BIND: spreadOMP_DISPLAY_AFFINITY: TRUEOMP_AFFINITY_FORMAT: 'OMP: pid %P tid %i thread %n bound to OS proc set {%A}'OMP_DISPLAY_ENV: TRUEOMP_PLACES: threads |
| Run 1x32 | Number processes: 1Run Command: <executable> -g "4 2 2" -bMPI Command: mpirun -n <number_processes> --bind-to core --map-by package:PE=64 --rank-by fill --report-bindings Dataset: Run Directory: /home/eoseret/qaas/qaas_runs/178-212-9071/intel/miniqmc/run/oneview_runs/multicore/armclang/oneview_run_1782144418OMP_NUM_THREADS: 32OMP_PROC_BIND: spreadOMP_DISPLAY_AFFINITY: TRUEOMP_AFFINITY_FORMAT: 'OMP: pid %P tid %i thread %n bound to OS proc set {%A}'OMP_DISPLAY_ENV: TRUEOMP_PLACES: threads |
| Run 1x40 | Number processes: 1Run Command: <executable> -g "4 2 2" -bMPI Command: mpirun -n <number_processes> --bind-to core --map-by package:PE=64 --rank-by fill --report-bindings Dataset: Run Directory: /home/eoseret/qaas/qaas_runs/178-212-9071/intel/miniqmc/run/oneview_runs/multicore/armclang/oneview_run_1782144418OMP_NUM_THREADS: 40OMP_PROC_BIND: spreadOMP_DISPLAY_AFFINITY: TRUEOMP_AFFINITY_FORMAT: 'OMP: pid %P tid %i thread %n bound to OS proc set {%A}'OMP_DISPLAY_ENV: TRUEOMP_PLACES: threads |
| Run 1x48 | Number processes: 1Run Command: <executable> -g "4 2 2" -bMPI Command: mpirun -n <number_processes> --bind-to core --map-by package:PE=64 --rank-by fill --report-bindings Dataset: Run Directory: /home/eoseret/qaas/qaas_runs/178-212-9071/intel/miniqmc/run/oneview_runs/multicore/armclang/oneview_run_1782144418OMP_NUM_THREADS: 48OMP_PROC_BIND: spreadOMP_DISPLAY_AFFINITY: TRUEOMP_AFFINITY_FORMAT: 'OMP: pid %P tid %i thread %n bound to OS proc set {%A}'OMP_DISPLAY_ENV: TRUEOMP_PLACES: threads |
| Run 1x56 | Number processes: 1Run Command: <executable> -g "4 2 2" -bMPI Command: mpirun -n <number_processes> --bind-to core --map-by package:PE=64 --rank-by fill --report-bindings Dataset: Run Directory: /home/eoseret/qaas/qaas_runs/178-212-9071/intel/miniqmc/run/oneview_runs/multicore/armclang/oneview_run_1782144418OMP_NUM_THREADS: 56OMP_PROC_BIND: spreadOMP_DISPLAY_AFFINITY: TRUEOMP_AFFINITY_FORMAT: 'OMP: pid %P tid %i thread %n bound to OS proc set {%A}'OMP_DISPLAY_ENV: TRUEOMP_PLACES: threads |
| Run 1x64 | Number processes: 1Run Command: <executable> -g "4 2 2" -bMPI Command: mpirun -n <number_processes> --bind-to core --map-by package:PE=64 --rank-by fill --report-bindings Dataset: Run Directory: /home/eoseret/qaas/qaas_runs/178-212-9071/intel/miniqmc/run/oneview_runs/multicore/armclang/oneview_run_1782144418OMP_NUM_THREADS: 64OMP_PROC_BIND: spreadOMP_DISPLAY_AFFINITY: TRUEOMP_AFFINITY_FORMAT: 'OMP: pid %P tid %i thread %n bound to OS proc set {%A}'OMP_DISPLAY_ENV: TRUEOMP_PLACES: threads |
| (1x1) Efficiency | (1x1) Potential Speed-Up (%) | (1x2) Efficiency | (1x2) Potential Speed-Up (%) | (1x4) Efficiency | (1x4) Potential Speed-Up (%) | (1x8) Efficiency | (1x8) Potential Speed-Up (%) | (1x16) Efficiency | (1x16) Potential Speed-Up (%) | (1x24) Efficiency | (1x24) Potential Speed-Up (%) | (1x32) Efficiency | (1x32) Potential Speed-Up (%) | (1x40) Efficiency | (1x40) Potential Speed-Up (%) | (1x48) Efficiency | (1x48) Potential Speed-Up (%) | (1x56) Efficiency | (1x56) Potential Speed-Up (%) | (1x64) Efficiency | (1x64) Potential Speed-Up (%) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 0 | 1 | 0 | 2.66 | 0 | 1.59 | 0 | 1.6 | 0 | 0.8 | 0 | 1.37 | 0 | 1.29 | 0 | 0.49 | 0 | 0.53 | 0 |
| Run | Number of threads | Efficiency (ideal is 1) | Speedup | Ideal Speedup | Time (s) | Coverage (%) |
|---|---|---|---|---|---|---|
| 1x1 | 1 | 1 | 1 | 1 | 0.0049999998882413 | 0.011381772346795 |
| 1x2 | ||||||
| 1x4 | 3 | 1 | 1 | 4 | 0.0099999997764826 | 0.011058918200433 |
| 1x8 | 2 | 2.66 | 2.66 | 8 | 0.0099999997764826 | 0.0038556014187634 |
| 1x16 | 4 | 1.59 | 1.59 | 16 | 0.015000000596046 | 0.0048949085175991 |
| 1x24 | 7 | 1.6 | 1.6 | 24 | 0.015000000596046 | 0.0039806836284697 |
| 1x32 | 14 | 0.8 | 0.8 | 32 | 0.030000001192093 | 0.0067890626378357 |
| 1x40 | 8 | 1.37 | 1.37 | 40 | 0.029999999329448 | 0.0034052850678563 |
| 1x48 | 11 | 1.29 | 1.29 | 48 | 0.025000000372529 | 0.0031690455507487 |
| 1x56 | 27 | 0.49 | 0.49 | 56 | 0.03999999910593 | 0.0074700862169266 |
| 1x64 | 22 | 0.53 | 0.53 | 64 | 0.050000004470348 | 0.0061637689359486 |
| Name | Coverage (%) | Time (s) |
|---|---|---|
| ▼miniqmcreference::einspline_spo_ref | 0.01 | 0.00 |
| ○Loop 799 - stl_algobase.h:238-452 - exec | 0.00 | 0.00 |
