| Function: sortAtomsById | Module: exec | Source: haloExchange.c:655-661 | Coverage (incl. loops): 0.10% | (excl. loops): 0.10% |
|---|
| Function: sortAtomsById | Module: exec | Source: haloExchange.c:655-661 | Coverage (incl. loops): 0.10% | (excl. loops): 0.10% |
|---|
/home/eoseret/qaas_runs_GNR/173-814-1858/intel/CoMD/build/CoMD/CoMD/src-openmp/haloExchange.c: 655 - 661 |
-------------------------------------------------------------------------------- |
655: int bId = ((AtomMsg*) b)->gid; |
656: assert(aId != bId); |
657: |
658: if (aId < bId) |
659: return -1; |
660: return 1; |
661: } |
0x409330 MOV (%RSI),%EAX |
0x409332 CMP %EAX,(%RDI) |
0x409334 JE 409380 |
0x409336 SETGE %AL |
0x409339 MOVZX %AL,%EAX |
0x40933c LEA -0x1(%RAX,%RAX,1),%EAX |
0x409340 RET |
0x409341 NOPW %CS:(%RAX,%RAX,1) |
0x409350 NOPW %CS:(%RAX,%RAX,1) |
0x40935f NOPW %CS:(%RAX,%RAX,1) |
0x40936e NOPW %CS:(%RAX,%RAX,1) |
0x40937d NOPL (%RAX) |
0x409380 PUSH %RBP |
0x409381 MOV %RSP,%RBP |
0x409384 MOV $0x4191eb,%EDI |
0x409389 MOV $0x419027,%ESI |
0x40938e MOV $0x4191f6,%ECX |
0x409393 MOV $0x290,%EDX |
0x409398 CALL 4030c0 <__assert_fail@plt> |
0x40939d NOPW %CS:(%RAX,%RAX,1) |
0x4093a7 NOPW %CS:(%RAX,%RAX,1) |
0x4093b1 NOPW %CS:(%RAX,%RAX,1) |
0x4093bb NOPL (%RAX,%RAX,1) |
| Coverage (%) | Name | Source Location | Module |
|---|
| Path / |
The code analyzed by CQA in that panel excludes loops and represents 0.10% of application time for run icx_1
| Source file and lines | haloExchange.c:655-661 |
| Module | exec |
| nb instructions | 8.50 |
| nb uops | 9 |
| loop length | 26 |
| used x86 registers | 5 |
| used mmx registers | 0 |
| used xmm registers | 0 |
| used ymm registers | 0 |
| used zmm registers | 0 |
| nb stack references | 0 |
| micro-operation queue | 1.50 cycles |
| front end | 1.50 cycles |
| P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| uops | 1.40 | 1.10 | 0.83 | 0.83 | 0.50 | 1.10 | 1.30 | 0.50 | 0.50 | 0.50 | 1.10 | 0.83 |
| cycles | 1.40 | 1.30 | 0.83 | 0.83 | 0.50 | 1.10 | 1.30 | 0.50 | 0.50 | 0.50 | 1.10 | 0.83 |
| Cycles executing div or sqrt instructions | NA |
| Front-end | 1.50 |
| Dispatch | 1.40 |
| Overall L1 | 1.67 |
| 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 | NA (no add-sub vectorizable/vectorized instructions) |
| fma | NA (no fma vectorizable/vectorized instructions) |
| div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
| other | 0% |
| all | 8% |
| load | NA (no load vectorizable/vectorized instructions) |
| store | NA (no store vectorizable/vectorized instructions) |
| mul | NA (no mul vectorizable/vectorized instructions) |
| add-sub | NA (no add-sub vectorizable/vectorized instructions) |
| fma | NA (no fma vectorizable/vectorized instructions) |
| div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
| other | 8% |
The code analyzed by CQA in that panel excludes loops and represents 0.10% of application time for run icx_1
| Source file and lines | haloExchange.c:655-661 |
| Module | exec |
| nb instructions | 7 |
| nb uops | 7 |
| loop length | 17 |
| used x86 registers | 3 |
| used mmx registers | 0 |
| used xmm registers | 0 |
| used ymm registers | 0 |
| used zmm registers | 0 |
| nb stack references | 0 |
| micro-operation queue | 1.17 cycles |
| front end | 1.17 cycles |
| P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| uops | 1.50 | 1.00 | 1.00 | 1.00 | 0.00 | 1.00 | 1.50 | 0.00 | 0.00 | 0.00 | 1.00 | 1.00 |
| cycles | 1.50 | 1.40 | 1.00 | 1.00 | 0.00 | 1.00 | 1.50 | 0.00 | 0.00 | 0.00 | 1.00 | 1.00 |
| Cycles executing div or sqrt instructions | NA |
| Front-end | 1.17 |
| Dispatch | 1.50 |
| Overall L1 | 1.50 |
| Instruction | Nb FU | P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | Latency | Recip. throughput | Vectorization |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| MOV (%RSI),%EAX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 | N/A |
| CMP %EAX,(%RDI) | 1 | 0.20 | 0.20 | 0.33 | 0.33 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.33 | 1 | 0.33 | N/A |
| JE 409380 <sortAtomsById+0x50> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | N/A |
| SETGE %AL | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 | N/A |
| MOVZX %AL,%EAX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 | N/A |
| LEA -0x1(%RAX,%RAX,1),%EAX | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 | N/A |
| RET | 1 | 0.50 | 0 | 0.33 | 0.33 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0.33 | 0 | 2.13 | N/A |
The code analyzed by CQA in that panel excludes loops and represents 0.10% of application time for run icx_1
| Source file and lines | haloExchange.c:655-661 |
| Module | exec |
| nb instructions | 10 |
| nb uops | 11 |
| loop length | 35 |
| used x86 registers | 7 |
| used mmx registers | 0 |
| used xmm registers | 0 |
| used ymm registers | 0 |
| used zmm registers | 0 |
| nb stack references | 0 |
| micro-operation queue | 1.83 cycles |
| front end | 1.83 cycles |
| P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| uops | 1.30 | 1.20 | 0.67 | 0.67 | 1.00 | 1.20 | 1.10 | 1.00 | 1.00 | 1.00 | 1.20 | 0.67 |
| cycles | 1.30 | 1.20 | 0.67 | 0.67 | 1.00 | 1.20 | 1.10 | 1.00 | 1.00 | 1.00 | 1.20 | 0.67 |
| Cycles executing div or sqrt instructions | NA |
| Front-end | 1.83 |
| Dispatch | 1.30 |
| Overall L1 | 1.83 |
| 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 | NA (no add-sub vectorizable/vectorized instructions) |
| fma | NA (no fma vectorizable/vectorized instructions) |
| div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
| other | 0% |
| all | 8% |
| load | NA (no load vectorizable/vectorized instructions) |
| store | NA (no store vectorizable/vectorized instructions) |
| mul | NA (no mul vectorizable/vectorized instructions) |
| add-sub | NA (no add-sub vectorizable/vectorized instructions) |
| fma | NA (no fma vectorizable/vectorized instructions) |
| div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
| other | 8% |
| Instruction | Nb FU | P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | Latency | Recip. throughput | Vectorization |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| MOV (%RSI),%EAX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 | N/A |
| CMP %EAX,(%RDI) | 1 | 0.20 | 0.20 | 0.33 | 0.33 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.33 | 1 | 0.33 | N/A |
| JE 409380 <sortAtomsById+0x50> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | N/A |
| PUSH %RBP | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 5-12 | 0.50 | N/A |
| MOV %RSP,%RBP | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 | scal (12.5%) |
| MOV $0x4191eb,%EDI | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 | N/A |
| MOV $0x419027,%ESI | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 | N/A |
| MOV $0x4191f6,%ECX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 | scal (6.3%) |
| MOV $0x290,%EDX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 | scal (6.3%) |
| CALL 4030c0 <__assert_fail@plt> | 2 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 0 | 1 | N/A |
| Name | Coverage (%) | Time (s) |
|---|---|---|
| ○sortAtomsById | 0.10 | 0.00 |
