Function: sortAtomsById | Module: exec | Source: haloExchange.c:653-661 | Coverage: 0.17% |
---|
Function: sortAtomsById | Module: exec | Source: haloExchange.c:653-661 | Coverage: 0.17% |
---|
/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: } |
0x405f60 LDR W2, [X0] |
0x405f64 LDR W0, [X1] |
0x405f68 CMP W2, W0 |
0x405f6c B.EQ 405f7c |
0x405f70 MOVN W6, #0 |
0x405f74 CSINC W0, W6, WZR, #11 |
0x405f78 RET |
0x405f7c ADRP X3, |
0x405f80 ADRP X1, |
0x405f84 STP X29, X30, [SP, #1008]! |
0x405f88 ADD X4, X3, #208 |
0x405f8c ADRP X5, |
0x405f90 ADD X29, SP, #0 |
0x405f94 ADD X3, X4, #48 |
0x405f98 ADD X1, X1, #4072 |
0x405f9c ADD X0, X5, #176 |
0x405fa0 MOVZ W2, #656 |
0x405fa4 BL 401ec0 |
Coverage (%) | Name | Source Location | Module |
---|---|---|---|
►7.14+ | bsearch | libc-2.31.so | |
○ | bsearch | libc-2.31.so | |
○ | bsearch | libc-2.31.so | |
○ | qsort_r | libc-2.31.so | |
○ | sortAtomsInCell | haloExchange.c:635 | exec |
○ | redistributeAtoms._omp_fn.0 | timestep.c:154 | exec |
○ | GOMP_parallel | libomp.so | |
○ | redistributeAtoms | timestep.c:155 | exec |
○ | timestep | timestep.c:47 | exec |
○ | main | CoMD.c:125 | exec |
○ | __libc_start_main | libc-2.31.so | |
○ | _start | CoMD.c:150 | exec |
►7.14+ | 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:635 | exec |
○ | redistributeAtoms._omp_fn.0 | timestep.c:154 | exec |
○ | GOMP_parallel | libomp.so | |
○ | redistributeAtoms | timestep.c:155 | exec |
○ | timestep | timestep.c:47 | exec |
○ | main | CoMD.c:125 | exec |
○ | __libc_start_main | libc-2.31.so | |
○ | _start | CoMD.c:150 | exec |
►7.14+ | bsearch | libc-2.31.so | |
○ | qsort_r | libc-2.31.so | |
○ | sortAtomsInCell | haloExchange.c:635 | exec |
○ | redistributeAtoms._omp_fn.0 | timestep.c:154 | exec |
○ | GOMP_parallel | libomp.so | |
○ | redistributeAtoms | timestep.c:155 | exec |
○ | timestep | timestep.c:47 | exec |
○ | main | CoMD.c:125 | exec |
○ | __libc_start_main | libc-2.31.so | |
○ | _start | CoMD.c:150 | exec |
►7.14+ | bsearch | libc-2.31.so | |
○ | bsearch | libc-2.31.so | |
○ | bsearch | libc-2.31.so | |
○ | qsort_r | libc-2.31.so | |
○ | sortAtomsInCell | haloExchange.c:635 | exec |
○ | redistributeAtoms._omp_fn.0 | timestep.c:154 | exec |
○ | GOMP_parallel | libomp.so | |
○ | redistributeAtoms | timestep.c:155 | exec |
○ | timestep | timestep.c:47 | exec |
○ | main | CoMD.c:125 | exec |
○ | __libc_start_main | libc-2.31.so | |
○ | _start | CoMD.c:150 | exec |
►7.14+ | bsearch | libc-2.31.so | |
○ | qsort_r | libc-2.31.so | |
○ | sortAtomsInCell | haloExchange.c:635 | exec |
○ | redistributeAtoms._omp_fn.0 | timestep.c:154 | exec |
○ | GOMP_parallel | libomp.so | |
○ | redistributeAtoms | timestep.c:155 | exec |
○ | timestep | timestep.c:47 | exec |
○ | main | CoMD.c:125 | exec |
○ | __libc_start_main | libc-2.31.so | |
○ | _start | CoMD.c:150 | exec |
►7.14+ | bsearch | libc-2.31.so | |
○ | bsearch | libc-2.31.so | |
○ | qsort_r | libc-2.31.so | |
○ | sortAtomsInCell | haloExchange.c:635 | exec |
○ | redistributeAtoms._omp_fn.0 | timestep.c:154 | exec |
○ | GOMP_parallel | libomp.so | |
○ | redistributeAtoms | timestep.c:155 | exec |
○ | timestep | timestep.c:47 | exec |
○ | main | CoMD.c:125 | exec |
○ | __libc_start_main | libc-2.31.so | |
○ | _start | CoMD.c:150 | exec |
►7.14+ | bsearch | libc-2.31.so | |
○ | bsearch | libc-2.31.so | |
○ | bsearch | libc-2.31.so | |
○ | qsort_r | libc-2.31.so | |
○ | sortAtomsInCell | haloExchange.c:635 | exec |
○ | redistributeAtoms._omp_fn.0 | timestep.c:154 | exec |
○ | GOMP_parallel | libomp.so | |
○ | redistributeAtoms | timestep.c:155 | exec |
○ | timestep | timestep.c:47 | exec |
○ | main | CoMD.c:125 | exec |
○ | __libc_start_main | libc-2.31.so | |
○ | _start | CoMD.c:150 | exec |
►7.14+ | qsort_r | libc-2.31.so | |
○ | sortAtomsInCell | haloExchange.c:635 | exec |
○ | redistributeAtoms._omp_fn.0 | timestep.c:154 | exec |
○ | GOMP_parallel | libomp.so | |
○ | redistributeAtoms | timestep.c:155 | exec |
○ | timestep | timestep.c:47 | exec |
○ | main | CoMD.c:125 | exec |
○ | __libc_start_main | libc-2.31.so | |
○ | _start | CoMD.c:150 | exec |
►7.14+ | bsearch | libc-2.31.so | |
○ | qsort_r | libc-2.31.so | |
○ | sortAtomsInCell | haloExchange.c:635 | exec |
○ | redistributeAtoms._omp_fn.0 | timestep.c:154 | exec |
○ | GOMP_parallel | libomp.so | |
○ | redistributeAtoms | timestep.c:155 | exec |
○ | timestep | timestep.c:47 | exec |
○ | main | CoMD.c:125 | exec |
○ | __libc_start_main | libc-2.31.so | |
○ | _start | CoMD.c:150 | exec |
►7.14+ | qsort_r | libc-2.31.so | |
○ | sortAtomsInCell | haloExchange.c:635 | exec |
○ | redistributeAtoms._omp_fn.0 | timestep.c:154 | exec |
○ | GOMP_parallel | libomp.so | |
○ | redistributeAtoms | timestep.c:155 | exec |
○ | timestep | timestep.c:47 | exec |
○ | main | CoMD.c:125 | exec |
○ | __libc_start_main | libc-2.31.so | |
○ | _start | CoMD.c:150 | exec |
►7.14+ | qsort_r | libc-2.31.so | |
○ | sortAtomsInCell | haloExchange.c:635 | exec |
○ | redistributeAtoms._omp_fn.0 | timestep.c:154 | exec |
○ | GOMP_parallel | libomp.so | |
○ | redistributeAtoms | timestep.c:155 | exec |
○ | timestep | timestep.c:47 | exec |
○ | main | CoMD.c:125 | exec |
○ | __libc_start_main | libc-2.31.so | |
○ | _start | CoMD.c:150 | exec |
►7.14+ | bsearch | libc-2.31.so | |
○ | bsearch | libc-2.31.so | |
○ | bsearch | libc-2.31.so | |
○ | qsort_r | libc-2.31.so | |
○ | sortAtomsInCell | haloExchange.c:635 | exec |
○ | redistributeAtoms._omp_fn.0 | timestep.c:154 | exec |
○ | GOMP_parallel | libomp.so | |
○ | redistributeAtoms | timestep.c:155 | exec |
○ | timestep | timestep.c:47 | exec |
○ | main | CoMD.c:125 | exec |
○ | __libc_start_main | libc-2.31.so | |
○ | _start | CoMD.c:150 | exec |
►7.14+ | bsearch | libc-2.31.so | |
○ | bsearch | libc-2.31.so | |
○ | qsort_r | libc-2.31.so | |
○ | sortAtomsInCell | haloExchange.c:635 | exec |
○ | redistributeAtoms._omp_fn.0 | timestep.c:154 | exec |
○ | GOMP_parallel | libomp.so | |
○ | redistributeAtoms | timestep.c:155 | exec |
○ | timestep | timestep.c:47 | exec |
○ | main | CoMD.c:125 | exec |
○ | __libc_start_main | libc-2.31.so | |
○ | _start | CoMD.c:150 | exec |
►7.14+ | qsort_r | libc-2.31.so | |
○ | sortAtomsInCell | haloExchange.c:635 | exec |
○ | redistributeAtoms._omp_fn.0 | timestep.c:154 | exec |
○ | GOMP_parallel | libomp.so | |
○ | redistributeAtoms | timestep.c:155 | exec |
○ | timestep | timestep.c:47 | exec |
○ | main | CoMD.c:125 | exec |
○ | __libc_start_main | libc-2.31.so | |
○ | _start | CoMD.c:150 | exec |
Path / |
Source file and lines | haloExchange.c:653-661 |
Module | exec |
nb instructions | 16.50 |
loop length | 66 |
nb stack references | 0 |
front end | 2.06 cycles |
P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | P12 | P13 | P14 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
uops | 1.25 | 1.25 | 3.25 | 3.25 | 3.25 | 3.25 | 0.00 | 0.00 | 0.00 | 0.00 | 1.17 | 0.83 | 1.00 | 0.50 | 0.50 |
cycles | 1.25 | 1.25 | 3.25 | 3.25 | 3.25 | 3.25 | 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 | 2.06 |
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% |
Source file and lines | haloExchange.c:653-661 |
Module | exec |
nb instructions | 18 |
loop length | 72 |
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.50 | 3.50 | 3.50 | 3.50 | 0.00 | 0.00 | 0.00 | 0.00 | 1.17 | 0.83 | 1.00 | 0.50 | 0.50 |
cycles | 1.50 | 1.50 | 3.50 | 3.50 | 3.50 | 3.50 | 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 | 2.25 |
Overall L1 | 3.50 |
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
LDR W2, [X0] | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 4 | 0.33 |
LDR W0, [X1] | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 4 | 0.33 |
CMP W2, W0 | 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 405f7c <sortAtomsById+0x1c> | 1 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 |
MOVN W6, #0 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
CSINC W0, W6, WZR, #11 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
RET | 1 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 |
ADRP X3, <40ef7c> | 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, <40df80> | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
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 X4, X3, #208 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
ADRP X5, <40ef8c> | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
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 |
ADD X3, X4, #48 | 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, #4072 | 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, X5, #176 | 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@+0x160> | 1 | 0.50 | 0.50 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 |
Source file and lines | haloExchange.c:653-661 |
Module | exec |
nb instructions | 15 |
loop length | 60 |
nb stack references | 0 |
front end | 1.88 cycles |
P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | P12 | P13 | P14 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
uops | 1.00 | 1.00 | 3.00 | 3.00 | 3.00 | 3.00 | 0.00 | 0.00 | 0.00 | 0.00 | 1.17 | 0.83 | 1.00 | 0.50 | 0.50 |
cycles | 1.00 | 1.00 | 3.00 | 3.00 | 3.00 | 3.00 | 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.88 |
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% |
Instruction | Nb FU | P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | P12 | P13 | P14 | Latency | Recip. throughput |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
LDR W2, [X0] | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 4 | 0.33 |
LDR W0, [X1] | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 4 | 0.33 |
CMP W2, W0 | 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 405f7c <sortAtomsById+0x1c> | 1 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 |
ADRP X3, <40ef7c> | 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, <40df80> | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
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 X4, X3, #208 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
ADRP X5, <40ef8c> | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
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 |
ADD X3, X4, #48 | 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, #4072 | 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, X5, #176 | 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@+0x160> | 1 | 0.50 | 0.50 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 |
Name | Coverage (%) | Time (s) |
---|---|---|
○sortAtomsById | 0.17 | 0.07 |