Function: sortAtomsById | Module: exec | Source: haloExchange.c:653-661 | Coverage: 0.2% |
---|
Function: sortAtomsById | Module: exec | Source: haloExchange.c:653-661 | Coverage: 0.2% |
---|
/home/hbollore/qaas/qaas-runs/169-814-5713/intel/CoMD/build/CoMD/CoMD/src-openmp/haloExchange.c: 653 - 661 |
-------------------------------------------------------------------------------- |
653: { |
654: int aId = ((AtomMsg*) a)->gid; |
655: int bId = ((AtomMsg*) b)->gid; |
656: assert(aId != bId); |
657: |
658: if (aId < bId) |
659: return -1; |
660: return 1; |
661: } |
0x406420 STP X29, X30, [SP, #1008]! |
0x406424 ADD X29, SP, #0 |
0x406428 LDR W8, [X0] |
0x40642c LDR W9, [X1] |
0x406430 CMP W8, W9 |
0x406434 B.EQ 406448 |
0x406438 MOVN W8, #0 |
0x40643c CSNEG W0, W8, W8, #11 |
0x406440 LDP X29, X30, [SP], #16 |
0x406444 RET |
0x406448 ADRP X0, |
0x40644c ADD X0, X0, #3339 |
0x406450 ADRP X1, |
0x406454 ADD X1, X1, #2885 |
0x406458 ADRP X3, |
0x40645c ADD X3, X3, #3350 |
0x406460 MOVZ W2, #656 |
0x406464 BL 401ec0 |
0x406468 HINT #0 |
0x40646c HINT #0 |
0x406470 HINT #0 |
0x406474 HINT #0 |
0x406478 HINT #0 |
0x40647c HINT #0 |
Coverage (%) | Name | Source Location | Module |
---|---|---|---|
►22.22+ | bsearch | libc-2.31.so | |
○ | qsort_r | libc-2.31.so | |
○ | sortAtomsInCell | haloExchange.c:632 | exec |
○ | .omp_outlined..6#0x40b860 | timestep.c:153 | exec |
○ | __kmp_invoke_microtask | libomp.so | |
►16.67+ | bsearch | libc-2.31.so | |
○ | bsearch | libc-2.31.so | |
○ | qsort_r | libc-2.31.so | |
○ | sortAtomsInCell | haloExchange.c:632 | exec |
○ | .omp_outlined..6#0x40b860 | timestep.c:153 | exec |
○ | __kmp_invoke_microtask | libomp.so | |
►11.11+ | bsearch | libc-2.31.so | |
○ | bsearch | libc-2.31.so | |
○ | qsort_r | libc-2.31.so | |
○ | sortAtomsInCell | haloExchange.c:632 | exec |
○ | .omp_outlined..6#0x40b860 | timestep.c:153 | exec |
○ | __kmp_invoke_microtask | libomp.so | |
►11.11+ | bsearch | libc-2.31.so | |
○ | bsearch | libc-2.31.so | |
○ | bsearch | libc-2.31.so | |
○ | bsearch | libc-2.31.so | |
○ | qsort_r | libc-2.31.so | |
○ | sortAtomsInCell | haloExchange.c:632 | exec |
○ | .omp_outlined..6#0x40b860 | timestep.c:153 | exec |
○ | __kmp_invoke_microtask | libomp.so | |
►5.56+ | bsearch | libc-2.31.so | |
○ | bsearch | libc-2.31.so | |
○ | bsearch | libc-2.31.so | |
○ | bsearch | libc-2.31.so | |
○ | qsort_r | libc-2.31.so | |
○ | sortAtomsInCell | haloExchange.c:632 | exec |
○ | .omp_outlined..6#0x40b860 | timestep.c:153 | exec |
○ | __kmp_invoke_microtask | libomp.so | |
►5.56+ | bsearch | libc-2.31.so | |
○ | bsearch | libc-2.31.so | |
○ | bsearch | libc-2.31.so | |
○ | bsearch | libc-2.31.so | |
○ | bsearch | libc-2.31.so | |
○ | qsort_r | libc-2.31.so | |
○ | sortAtomsInCell | haloExchange.c:632 | exec |
○ | .omp_outlined..6#0x40b860 | timestep.c:153 | exec |
○ | __kmp_invoke_microtask | libomp.so | |
►5.56+ | bsearch | libc-2.31.so | |
○ | bsearch | libc-2.31.so | |
○ | bsearch | libc-2.31.so | |
○ | bsearch | libc-2.31.so | |
○ | qsort_r | libc-2.31.so | |
○ | sortAtomsInCell | haloExchange.c:632 | exec |
○ | .omp_outlined..6#0x40b860 | timestep.c:153 | exec |
○ | __kmp_invoke_microtask | libomp.so | |
►5.56+ | bsearch | libc-2.31.so | |
○ | bsearch | libc-2.31.so | |
○ | bsearch | libc-2.31.so | |
○ | qsort_r | libc-2.31.so | |
○ | sortAtomsInCell | haloExchange.c:632 | exec |
○ | .omp_outlined..6#0x40b860 | timestep.c:153 | exec |
○ | __kmp_invoke_microtask | libomp.so | |
►5.56+ | bsearch | libc-2.31.so | |
○ | bsearch | libc-2.31.so | |
○ | bsearch | libc-2.31.so | |
○ | qsort_r | libc-2.31.so | |
○ | sortAtomsInCell | haloExchange.c:632 | exec |
○ | .omp_outlined..6#0x40b860 | timestep.c:153 | exec |
○ | __kmp_invoke_microtask | libomp.so | |
►5.56+ | bsearch | libc-2.31.so | |
○ | bsearch | libc-2.31.so | |
○ | bsearch | libc-2.31.so | |
○ | qsort_r | libc-2.31.so | |
○ | sortAtomsInCell | haloExchange.c:632 | exec |
○ | .omp_outlined..6#0x40b860 | timestep.c:153 | exec |
○ | __kmp_invoke_microtask | libomp.so | |
►5.56+ | bsearch | libc-2.31.so | |
○ | bsearch | libc-2.31.so | |
○ | bsearch | libc-2.31.so | |
○ | bsearch | libc-2.31.so | |
○ | bsearch | libc-2.31.so | |
○ | qsort_r | libc-2.31.so | |
○ | sortAtomsInCell | haloExchange.c:632 | exec |
○ | .omp_outlined..6#0x40b860 | timestep.c:153 | exec |
○ | __kmp_invoke_microtask | libomp.so |
Path / |
Source file and lines | haloExchange.c:653-661 |
Module | exec |
nb instructions | 22 |
loop length | 88 |
nb stack references | 0 |
front end | 2.00 cycles |
P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | P12 | P13 | P14 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
uops | 1.25 | 1.25 | 3.00 | 3.00 | 3.00 | 3.00 | 0.00 | 0.00 | 0.00 | 0.00 | 1.33 | 1.00 | 1.17 | 0.50 | 0.50 |
cycles | 1.25 | 1.25 | 3.00 | 3.00 | 3.00 | 3.00 | 0.00 | 0.00 | 0.00 | 0.00 | 1.33 | 1.00 | 1.17 | 0.50 | 0.50 |
Cycles executing div or sqrt instructions | NA |
Front-end | 2.00 |
Overall L1 | 3.00 |
all | 0% |
load | NA (no load vectorizable/vectorized instructions) |
store | NA (no store vectorizable/vectorized instructions) |
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% |
Source file and lines | haloExchange.c:653-661 |
Module | exec |
nb instructions | 24 |
loop length | 96 |
nb stack references | 0 |
front end | 2.25 cycles |
P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | P12 | P13 | P14 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
uops | 1.50 | 1.50 | 3.25 | 3.25 | 3.25 | 3.25 | 0.00 | 0.00 | 0.00 | 0.00 | 1.50 | 1.17 | 1.33 | 0.50 | 0.50 |
cycles | 1.50 | 1.50 | 3.25 | 3.25 | 3.25 | 3.25 | 0.00 | 0.00 | 0.00 | 0.00 | 1.50 | 1.17 | 1.33 | 0.50 | 0.50 |
Cycles executing div or sqrt instructions | NA |
Front-end | 2.25 |
Overall L1 | 3.25 |
all | 0% |
load | NA (no load vectorizable/vectorized instructions) |
store | NA (no store vectorizable/vectorized instructions) |
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% |
Instruction | Nb FU | P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | P12 | P13 | P14 | Latency | Recip. throughput |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
STP X29, X30, [SP, #1008]! | 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 |
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 |
LDR W8, [X0] | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 4 | 0.33 |
LDR W9, [X1] | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 4 | 0.33 |
CMP W8, W9 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.33 |
B.EQ 406448 <sortAtomsById+0x28> | 1 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 |
MOVN W8, #0 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
CSNEG W0, W8, W8, #11 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
LDP X29, X30, [SP], #16 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 4 | 1 |
RET | 1 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 |
ADRP X0, <40c448> | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
ADD X0, X0, #3339 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
ADRP X1, <40c450> | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
ADD X1, X1, #2885 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
ADRP X3, <40c458> | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
ADD X3, X3, #3350 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
MOVZ W2, #656 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
BL 401ec0 <@plt_start@+0x180> | 1 | 0.50 | 0.50 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 |
HINT #0 | ||||||||||||||||||
HINT #0 | ||||||||||||||||||
HINT #0 | ||||||||||||||||||
HINT #0 | ||||||||||||||||||
HINT #0 | ||||||||||||||||||
HINT #0 |
Source file and lines | haloExchange.c:653-661 |
Module | exec |
nb instructions | 20 |
loop length | 80 |
nb stack references | 0 |
front end | 1.75 cycles |
P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | P12 | P13 | P14 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
uops | 1.00 | 1.00 | 2.75 | 2.75 | 2.75 | 2.75 | 0.00 | 0.00 | 0.00 | 0.00 | 1.17 | 0.83 | 1.00 | 0.50 | 0.50 |
cycles | 1.00 | 1.00 | 2.75 | 2.75 | 2.75 | 2.75 | 0.00 | 0.00 | 0.00 | 0.00 | 1.17 | 0.83 | 1.00 | 0.50 | 0.50 |
Cycles executing div or sqrt instructions | NA |
Front-end | 1.75 |
Overall L1 | 2.75 |
all | 0% |
load | NA (no load vectorizable/vectorized instructions) |
store | NA (no store vectorizable/vectorized instructions) |
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% |
Instruction | Nb FU | P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | P12 | P13 | P14 | Latency | Recip. throughput |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
STP X29, X30, [SP, #1008]! | 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 |
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 |
LDR W8, [X0] | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 4 | 0.33 |
LDR W9, [X1] | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 4 | 0.33 |
CMP W8, W9 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.33 |
B.EQ 406448 <sortAtomsById+0x28> | 1 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 |
ADRP X0, <40c448> | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
ADD X0, X0, #3339 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
ADRP X1, <40c450> | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
ADD X1, X1, #2885 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
ADRP X3, <40c458> | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
ADD X3, X3, #3350 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
MOVZ W2, #656 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
BL 401ec0 <@plt_start@+0x180> | 1 | 0.50 | 0.50 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 |
HINT #0 | ||||||||||||||||||
HINT #0 | ||||||||||||||||||
HINT #0 | ||||||||||||||||||
HINT #0 | ||||||||||||||||||
HINT #0 | ||||||||||||||||||
HINT #0 |
Name | Coverage (%) | Time (s) |
---|---|---|
○sortAtomsById | 0.2 | 0.09 |