Loop Id: 456 | Module: libqmcparticle_omptarget.so | Source: ParticleBConds3DSoa.h:280-298 [...] | Coverage: 4.05% |
---|
Loop Id: 456 | Module: libqmcparticle_omptarget.so | Source: ParticleBConds3DSoa.h:280-298 [...] | Coverage: 4.05% |
---|
0x46d40 MOV -0x78(%RBP),%RCX [6] |
0x46d44 VPBROADCASTQ -0x3f33e(%RIP),%ZMM31 [5] |
0x46d4e VMOVUPD (%RCX,%RSI,8),%ZMM24 [1] |
0x46d55 MOV %R14,%RCX |
0x46d58 MOV -0x80(%RBP),%R14 [6] |
0x46d5c VMOVDQA64 %ZMM31,%ZMM29 |
0x46d62 VMOVDQA64 %ZMM31,%ZMM30 |
0x46d68 VMOVUPD (%R14,%RSI,8),%ZMM25 [3] |
0x46d6f MOV %RCX,%R14 |
0x46d72 MOV -0x68(%RBP),%RCX [6] |
0x46d76 VSUBPD %ZMM21,%ZMM24,%ZMM24 |
0x46d7c VMOVUPD (%RCX,%RSI,8),%ZMM26 [7] |
0x46d83 MOV -0x40(%RBP),%RCX [6] |
0x46d87 VMULPD %ZMM24,%ZMM0,%ZMM27 |
0x46d8d VMULPD %ZMM24,%ZMM3,%ZMM28 |
0x46d93 VMULPD %ZMM24,%ZMM6,%ZMM24 |
0x46d99 VSUBPD %ZMM22,%ZMM25,%ZMM25 |
0x46d9f VFMADD231PD %ZMM25,%ZMM1,%ZMM27 |
0x46da5 VFMADD231PD %ZMM25,%ZMM4,%ZMM28 |
0x46dab VFMADD231PD %ZMM25,%ZMM7,%ZMM24 |
0x46db1 VPBROADCASTQ -0x3f34b(%RIP),%ZMM25 [5] |
0x46dbb VSUBPD %ZMM23,%ZMM26,%ZMM26 |
0x46dc1 VFMADD231PD %ZMM26,%ZMM2,%ZMM27 |
0x46dc7 VFMADD231PD %ZMM26,%ZMM5,%ZMM28 |
0x46dcd VFMADD231PD %ZMM26,%ZMM8,%ZMM24 |
0x46dd3 VPTERNLOGQ $-0x8,%ZMM25,%ZMM27,%ZMM29 |
0x46dda VPTERNLOGQ $-0x8,%ZMM25,%ZMM28,%ZMM30 |
0x46de1 VPTERNLOGQ $-0x8,%ZMM25,%ZMM24,%ZMM31 |
0x46de8 VADDPD %ZMM29,%ZMM27,%ZMM29 |
0x46dee VADDPD %ZMM31,%ZMM24,%ZMM25 |
0x46df4 VRNDSCALEPD $0xb,%ZMM29,%ZMM29 |
0x46dfb VRNDSCALEPD $0xb,%ZMM25,%ZMM25 |
0x46e02 VSUBPD %ZMM29,%ZMM27,%ZMM27 |
0x46e08 VADDPD %ZMM30,%ZMM28,%ZMM29 |
0x46e0e VSUBPD %ZMM25,%ZMM24,%ZMM24 |
0x46e14 VRNDSCALEPD $0xb,%ZMM29,%ZMM29 |
0x46e1b VMULPD %ZMM27,%ZMM12,%ZMM26 |
0x46e21 VSUBPD %ZMM29,%ZMM28,%ZMM28 |
0x46e27 VMULPD %ZMM27,%ZMM9,%ZMM29 |
0x46e2d VMULPD %ZMM27,%ZMM15,%ZMM27 |
0x46e33 VFMADD231PD %ZMM28,%ZMM10,%ZMM29 |
0x46e39 VFMADD231PD %ZMM28,%ZMM16,%ZMM27 |
0x46e3f VFMADD231PD %ZMM28,%ZMM13,%ZMM26 |
0x46e45 VFMADD231PD %ZMM11,%ZMM24,%ZMM29 |
0x46e4b VFMADD231PD %ZMM24,%ZMM17,%ZMM27 |
0x46e51 VFMADD231PD %ZMM24,%ZMM14,%ZMM26 |
0x46e57 VMULPD %ZMM29,%ZMM29,%ZMM24 |
0x46e5d VMOVUPD %ZMM29,(%R14,%RSI,8) [4] |
0x46e64 VMOVUPD %ZMM26,(%RCX,%RSI,8) [8] |
0x46e6b MOV -0x48(%RBP),%RCX [6] |
0x46e6f VFMADD231PD %ZMM27,%ZMM27,%ZMM24 |
0x46e75 VMOVUPD %ZMM27,(%RCX,%RSI,8) [9] |
0x46e7c MOV -0x50(%RBP),%RCX [6] |
0x46e80 VFMADD231PD %ZMM26,%ZMM26,%ZMM24 |
0x46e86 VSQRTPD %ZMM24,%ZMM24 |
0x46e8c VMOVUPD %ZMM24,(%RCX,%RSI,8) [2] |
0x46e93 ADD $0x8,%RSI |
0x46e97 CMP %RSI,%RDX |
0x46e9a JNE 46d40 |
/home/kcamus/qaas_runs/170-254-9426/intel/miniqmc/build/miniqmc/src/Particle/Lattice/ParticleBConds3DSoa.h: 280 - 298 |
-------------------------------------------------------------------------------- |
280: T displ_0 = px[iat] - x0; |
281: T displ_1 = py[iat] - y0; |
282: T displ_2 = pz[iat] - z0; |
283: |
284: T ar_0 = displ_0 * g00 + displ_1 * g10 + displ_2 * g20; |
285: T ar_1 = displ_0 * g01 + displ_1 * g11 + displ_2 * g21; |
286: T ar_2 = displ_0 * g02 + displ_1 * g12 + displ_2 * g22; |
287: |
288: //put them in the box |
289: ar_0 -= round(ar_0); |
290: ar_1 -= round(ar_1); |
291: ar_2 -= round(ar_2); |
292: |
293: //unit2cart |
294: dx[iat] = ar_0 * r00 + ar_1 * r10 + ar_2 * r20; |
295: dy[iat] = ar_0 * r01 + ar_1 * r11 + ar_2 * r21; |
296: dz[iat] = ar_0 * r02 + ar_1 * r12 + ar_2 * r22; |
297: |
298: temp_r[iat] = std::sqrt(dx[iat] * dx[iat] + dy[iat] * dy[iat] + dz[iat] * dz[iat]); |
/home/kcamus/qaas_runs/170-254-9426/intel/miniqmc/build/miniqmc/src/Particle/SoaDistanceTableABOMPTarget.h: 228 - 228 |
-------------------------------------------------------------------------------- |
228: for (int iel = first; iel < last; iel++) |
Path / |
Metric | Value |
---|---|
CQA speedup if no scalar integer | 1.00 |
CQA speedup if FP arith vectorized | 1.00 |
CQA speedup if fully vectorized | 1.00 |
CQA speedup if no inter-iteration dependency | NA |
CQA speedup if next bottleneck killed | NA |
Bottlenecks | P8, P9, |
Function | qmcplusplus::SoaDistanceTableABOMPTarget |
Source | ParticleBConds3DSoa.h:280-298,SoaDistanceTableABOMPTarget.h:228-228 |
Source loop unroll info | unrolled by 2 |
Source loop unroll confidence level | high |
Unroll/vectorization loop type | main |
Unroll factor | 2 |
CQA cycles | 22.00 |
CQA cycles if no scalar integer | 22.00 |
CQA cycles if FP arith vectorized | 22.00 |
CQA cycles if fully vectorized | 22.00 |
Front-end cycles | 10.33 |
DIV/SQRT cycles | 0.50 |
P0 cycles | 0.50 |
P1 cycles | 0.25 |
P2 cycles | 0.25 |
P3 cycles | 0.50 |
P4 cycles | 6.00 |
P5 cycles | 6.00 |
P6 cycles | 6.00 |
P7 cycles | 22.00 |
P8 cycles | 22.00 |
P9 cycles | 12.00 |
P10 cycles | 12.00 |
P11 cycles | 4.00 |
P12 cycles | 4.00 |
P13 cycles | 16.00 |
Inter-iter dependencies cycles | 1 |
FE+BE cycles (UFS) | NA |
Stall cycles (UFS) | NA |
Nb insns | 59.00 |
Nb uops | 62.00 |
Nb loads | 11.00 |
Nb stores | 4.00 |
Nb stack references | 6.00 |
FLOP/cycle | 16.36 |
Nb FLOP add-sub | 72.00 |
Nb FLOP mul | 56.00 |
Nb FLOP fma | 112.00 |
Nb FLOP div | 0.00 |
Nb FLOP rcp | 0.00 |
Nb FLOP sqrt | 8.00 |
Nb FLOP rsqrt | 0.00 |
Bytes/cycle | 23.27 |
Bytes prefetched | 0.00 |
Bytes loaded | 256.00 |
Bytes stored | 256.00 |
Stride 0 | 2.00 |
Stride 1 | 1.00 |
Stride n | 0.00 |
Stride unknown | 1.00 |
Stride indirect | 0.00 |
Vectorization ratio all | 95.83 |
Vectorization ratio load | 60.00 |
Vectorization ratio store | 100.00 |
Vectorization ratio mul | 100.00 |
Vectorization ratio add_sub | 100.00 |
Vectorization ratio fma | 100.00 |
Vectorization ratio div_sqrt | 100.00 |
Vectorization ratio other | 80.00 |
Vector-efficiency ratio all | 96.35 |
Vector-efficiency ratio load | 65.00 |
Vector-efficiency ratio store | 100.00 |
Vector-efficiency ratio mul | 100.00 |
Vector-efficiency ratio add_sub | 100.00 |
Vector-efficiency ratio fma | 100.00 |
Vector-efficiency ratio div_sqrt | 100.00 |
Vector-efficiency ratio other | 82.50 |
Metric | Value |
---|---|
CQA speedup if no scalar integer | 1.00 |
CQA speedup if FP arith vectorized | 1.00 |
CQA speedup if fully vectorized | 1.00 |
CQA speedup if no inter-iteration dependency | NA |
CQA speedup if next bottleneck killed | NA |
Bottlenecks | P8, P9, |
Function | qmcplusplus::SoaDistanceTableABOMPTarget |
Source | ParticleBConds3DSoa.h:280-298,SoaDistanceTableABOMPTarget.h:228-228 |
Source loop unroll info | unrolled by 2 |
Source loop unroll confidence level | high |
Unroll/vectorization loop type | main |
Unroll factor | 2 |
CQA cycles | 22.00 |
CQA cycles if no scalar integer | 22.00 |
CQA cycles if FP arith vectorized | 22.00 |
CQA cycles if fully vectorized | 22.00 |
Front-end cycles | 10.33 |
DIV/SQRT cycles | 0.50 |
P0 cycles | 0.50 |
P1 cycles | 0.25 |
P2 cycles | 0.25 |
P3 cycles | 0.50 |
P4 cycles | 6.00 |
P5 cycles | 6.00 |
P6 cycles | 6.00 |
P7 cycles | 22.00 |
P8 cycles | 22.00 |
P9 cycles | 12.00 |
P10 cycles | 12.00 |
P11 cycles | 4.00 |
P12 cycles | 4.00 |
P13 cycles | 16.00 |
Inter-iter dependencies cycles | 1 |
FE+BE cycles (UFS) | NA |
Stall cycles (UFS) | NA |
Nb insns | 59.00 |
Nb uops | 62.00 |
Nb loads | 11.00 |
Nb stores | 4.00 |
Nb stack references | 6.00 |
FLOP/cycle | 16.36 |
Nb FLOP add-sub | 72.00 |
Nb FLOP mul | 56.00 |
Nb FLOP fma | 112.00 |
Nb FLOP div | 0.00 |
Nb FLOP rcp | 0.00 |
Nb FLOP sqrt | 8.00 |
Nb FLOP rsqrt | 0.00 |
Bytes/cycle | 23.27 |
Bytes prefetched | 0.00 |
Bytes loaded | 256.00 |
Bytes stored | 256.00 |
Stride 0 | 2.00 |
Stride 1 | 1.00 |
Stride n | 0.00 |
Stride unknown | 1.00 |
Stride indirect | 0.00 |
Vectorization ratio all | 95.83 |
Vectorization ratio load | 60.00 |
Vectorization ratio store | 100.00 |
Vectorization ratio mul | 100.00 |
Vectorization ratio add_sub | 100.00 |
Vectorization ratio fma | 100.00 |
Vectorization ratio div_sqrt | 100.00 |
Vectorization ratio other | 80.00 |
Vector-efficiency ratio all | 96.35 |
Vector-efficiency ratio load | 65.00 |
Vector-efficiency ratio store | 100.00 |
Vector-efficiency ratio mul | 100.00 |
Vector-efficiency ratio add_sub | 100.00 |
Vector-efficiency ratio fma | 100.00 |
Vector-efficiency ratio div_sqrt | 100.00 |
Vector-efficiency ratio other | 82.50 |
Path / |
Function | qmcplusplus::SoaDistanceTableABOMPTarget |
Source file and lines | ParticleBConds3DSoa.h:280-298 |
Module | libqmcparticle_omptarget.so |
nb instructions | 59 |
nb uops | 62 |
loop length | 352 |
used x86 registers | 5 |
used mmx registers | 0 |
used xmm registers | 0 |
used ymm registers | 0 |
used zmm registers | 29 |
nb stack references | 6 |
ADD-SUB / MUL ratio | 1.29 |
micro-operation queue | 10.33 cycles |
front end | 10.33 cycles |
ALU0/BRU0 | ALU1 | ALU2 | ALU3 | BRU1 | AGU0 | AGU1 | AGU2 | FP0 | FP1 | FP2 | FP3 | FP4 | FP5 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
uops | 0.50 | 0.50 | 0.25 | 0.25 | 0.50 | 5.00 | 5.00 | 5.00 | 11.00 | 11.00 | 7.50 | 7.50 | 4.00 | 4.00 |
cycles | 0.50 | 0.50 | 0.25 | 0.25 | 0.50 | 6.00 | 6.00 | 6.00 | 22.00 | 22.00 | 12.00 | 12.00 | 4.00 | 4.00 |
Cycles executing div or sqrt instructions | 16.00 |
Longest recurrence chain latency (RecMII) | 1.00 |
Front-end | 10.33 |
Dispatch | 22.00 |
DIV/SQRT | 16.00 |
Data deps. | 1.00 |
Overall L1 | 22.00 |
all | 71% |
load | 0% |
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) |
other | 71% |
all | 100% |
load | 100% |
store | 100% |
mul | 100% |
add-sub | 100% |
fma | 100% |
div/sqrt | 100% |
other | 100% |
all | 95% |
load | 60% |
store | 100% |
mul | 100% |
add-sub | 100% |
fma | 100% |
div/sqrt | 100% |
other | 80% |
all | 75% |
load | 12% |
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) |
other | 75% |
all | 100% |
load | 100% |
store | 100% |
mul | 100% |
add-sub | 100% |
fma | 100% |
div/sqrt | 100% |
other | 100% |
all | 96% |
load | 65% |
store | 100% |
mul | 100% |
add-sub | 100% |
fma | 100% |
div/sqrt | 100% |
other | 82% |
Instruction | Nb FU | ALU0/BRU0 | ALU1 | ALU2 | ALU3 | BRU1 | AGU0 | AGU1 | AGU2 | FP0 | FP1 | FP2 | FP3 | FP4 | FP5 | Latency | Recip. throughput |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
MOV -0x78(%RBP),%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.33 |
VPBROADCASTQ -0x3f33e(%RIP),%ZMM31 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 5 | 0.50 |
VMOVUPD (%RCX,%RSI,8),%ZMM24 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
MOV %R14,%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
MOV -0x80(%RBP),%R14 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.33 |
VMOVDQA64 %ZMM31,%ZMM29 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
VMOVDQA64 %ZMM31,%ZMM30 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
VMOVUPD (%R14,%RSI,8),%ZMM25 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
MOV %RCX,%R14 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
MOV -0x68(%RBP),%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.33 |
VSUBPD %ZMM21,%ZMM24,%ZMM24 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
VMOVUPD (%RCX,%RSI,8),%ZMM26 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
MOV -0x40(%RBP),%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.33 |
VMULPD %ZMM24,%ZMM0,%ZMM27 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 1 |
VMULPD %ZMM24,%ZMM3,%ZMM28 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 1 |
VMULPD %ZMM24,%ZMM6,%ZMM24 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 1 |
VSUBPD %ZMM22,%ZMM25,%ZMM25 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
VFMADD231PD %ZMM25,%ZMM1,%ZMM27 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 |
VFMADD231PD %ZMM25,%ZMM4,%ZMM28 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 |
VFMADD231PD %ZMM25,%ZMM7,%ZMM24 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 |
VPBROADCASTQ -0x3f34b(%RIP),%ZMM25 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 5 | 0.50 |
VSUBPD %ZMM23,%ZMM26,%ZMM26 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
VFMADD231PD %ZMM26,%ZMM2,%ZMM27 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 |
VFMADD231PD %ZMM26,%ZMM5,%ZMM28 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 |
VFMADD231PD %ZMM26,%ZMM8,%ZMM24 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 |
VPTERNLOGQ $-0x8,%ZMM25,%ZMM27,%ZMM29 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 1 | 0.50 |
VPTERNLOGQ $-0x8,%ZMM25,%ZMM28,%ZMM30 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 1 | 0.50 |
VPTERNLOGQ $-0x8,%ZMM25,%ZMM24,%ZMM31 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 1 | 0.50 |
VADDPD %ZMM29,%ZMM27,%ZMM29 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
VADDPD %ZMM31,%ZMM24,%ZMM25 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
VRNDSCALEPD $0xb,%ZMM29,%ZMM29 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
VRNDSCALEPD $0xb,%ZMM25,%ZMM25 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
VSUBPD %ZMM29,%ZMM27,%ZMM27 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
VADDPD %ZMM30,%ZMM28,%ZMM29 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
VSUBPD %ZMM25,%ZMM24,%ZMM24 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
VRNDSCALEPD $0xb,%ZMM29,%ZMM29 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
VMULPD %ZMM27,%ZMM12,%ZMM26 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 1 |
VSUBPD %ZMM29,%ZMM28,%ZMM28 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
VMULPD %ZMM27,%ZMM9,%ZMM29 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 1 |
VMULPD %ZMM27,%ZMM15,%ZMM27 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 1 |
VFMADD231PD %ZMM28,%ZMM10,%ZMM29 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 |
VFMADD231PD %ZMM28,%ZMM16,%ZMM27 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 |
VFMADD231PD %ZMM28,%ZMM13,%ZMM26 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 |
VFMADD231PD %ZMM11,%ZMM24,%ZMM29 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 |
VFMADD231PD %ZMM24,%ZMM17,%ZMM27 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 |
VFMADD231PD %ZMM24,%ZMM14,%ZMM26 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 |
VMULPD %ZMM29,%ZMM29,%ZMM24 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 1 |
VMOVUPD %ZMM29,(%R14,%RSI,8) | 2 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 1 | 1 | 5 | 2 |
VMOVUPD %ZMM26,(%RCX,%RSI,8) | 2 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 1 | 1 | 5 | 2 |
MOV -0x48(%RBP),%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.33 |
VFMADD231PD %ZMM27,%ZMM27,%ZMM24 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 |
VMOVUPD %ZMM27,(%RCX,%RSI,8) | 2 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 1 | 1 | 5 | 2 |
MOV -0x50(%RBP),%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.33 |
VFMADD231PD %ZMM26,%ZMM26,%ZMM24 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 |
VSQRTPD %ZMM24,%ZMM24 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 21 | 16 |
VMOVUPD %ZMM24,(%RCX,%RSI,8) | 2 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 1 | 1 | 5 | 2 |
ADD $0x8,%RSI | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
CMP %RSI,%RDX | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
JNE 46d40 <_ZN11qmcplusplus27SoaDistanceTableABOMPTargetIdLj3ELi40EE8evaluateERNS_11ParticleSetE+0x690> | 1 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50-1 |
Function | qmcplusplus::SoaDistanceTableABOMPTarget |
Source file and lines | ParticleBConds3DSoa.h:280-298 |
Module | libqmcparticle_omptarget.so |
nb instructions | 59 |
nb uops | 62 |
loop length | 352 |
used x86 registers | 5 |
used mmx registers | 0 |
used xmm registers | 0 |
used ymm registers | 0 |
used zmm registers | 29 |
nb stack references | 6 |
ADD-SUB / MUL ratio | 1.29 |
micro-operation queue | 10.33 cycles |
front end | 10.33 cycles |
ALU0/BRU0 | ALU1 | ALU2 | ALU3 | BRU1 | AGU0 | AGU1 | AGU2 | FP0 | FP1 | FP2 | FP3 | FP4 | FP5 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
uops | 0.50 | 0.50 | 0.25 | 0.25 | 0.50 | 5.00 | 5.00 | 5.00 | 11.00 | 11.00 | 7.50 | 7.50 | 4.00 | 4.00 |
cycles | 0.50 | 0.50 | 0.25 | 0.25 | 0.50 | 6.00 | 6.00 | 6.00 | 22.00 | 22.00 | 12.00 | 12.00 | 4.00 | 4.00 |
Cycles executing div or sqrt instructions | 16.00 |
Longest recurrence chain latency (RecMII) | 1.00 |
Front-end | 10.33 |
Dispatch | 22.00 |
DIV/SQRT | 16.00 |
Data deps. | 1.00 |
Overall L1 | 22.00 |
all | 71% |
load | 0% |
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) |
other | 71% |
all | 100% |
load | 100% |
store | 100% |
mul | 100% |
add-sub | 100% |
fma | 100% |
div/sqrt | 100% |
other | 100% |
all | 95% |
load | 60% |
store | 100% |
mul | 100% |
add-sub | 100% |
fma | 100% |
div/sqrt | 100% |
other | 80% |
all | 75% |
load | 12% |
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) |
other | 75% |
all | 100% |
load | 100% |
store | 100% |
mul | 100% |
add-sub | 100% |
fma | 100% |
div/sqrt | 100% |
other | 100% |
all | 96% |
load | 65% |
store | 100% |
mul | 100% |
add-sub | 100% |
fma | 100% |
div/sqrt | 100% |
other | 82% |
Instruction | Nb FU | ALU0/BRU0 | ALU1 | ALU2 | ALU3 | BRU1 | AGU0 | AGU1 | AGU2 | FP0 | FP1 | FP2 | FP3 | FP4 | FP5 | Latency | Recip. throughput |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
MOV -0x78(%RBP),%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.33 |
VPBROADCASTQ -0x3f33e(%RIP),%ZMM31 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 5 | 0.50 |
VMOVUPD (%RCX,%RSI,8),%ZMM24 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
MOV %R14,%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
MOV -0x80(%RBP),%R14 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.33 |
VMOVDQA64 %ZMM31,%ZMM29 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
VMOVDQA64 %ZMM31,%ZMM30 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
VMOVUPD (%R14,%RSI,8),%ZMM25 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
MOV %RCX,%R14 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
MOV -0x68(%RBP),%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.33 |
VSUBPD %ZMM21,%ZMM24,%ZMM24 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
VMOVUPD (%RCX,%RSI,8),%ZMM26 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
MOV -0x40(%RBP),%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.33 |
VMULPD %ZMM24,%ZMM0,%ZMM27 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 1 |
VMULPD %ZMM24,%ZMM3,%ZMM28 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 1 |
VMULPD %ZMM24,%ZMM6,%ZMM24 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 1 |
VSUBPD %ZMM22,%ZMM25,%ZMM25 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
VFMADD231PD %ZMM25,%ZMM1,%ZMM27 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 |
VFMADD231PD %ZMM25,%ZMM4,%ZMM28 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 |
VFMADD231PD %ZMM25,%ZMM7,%ZMM24 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 |
VPBROADCASTQ -0x3f34b(%RIP),%ZMM25 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 5 | 0.50 |
VSUBPD %ZMM23,%ZMM26,%ZMM26 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
VFMADD231PD %ZMM26,%ZMM2,%ZMM27 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 |
VFMADD231PD %ZMM26,%ZMM5,%ZMM28 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 |
VFMADD231PD %ZMM26,%ZMM8,%ZMM24 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 |
VPTERNLOGQ $-0x8,%ZMM25,%ZMM27,%ZMM29 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 1 | 0.50 |
VPTERNLOGQ $-0x8,%ZMM25,%ZMM28,%ZMM30 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 1 | 0.50 |
VPTERNLOGQ $-0x8,%ZMM25,%ZMM24,%ZMM31 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 1 | 0.50 |
VADDPD %ZMM29,%ZMM27,%ZMM29 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
VADDPD %ZMM31,%ZMM24,%ZMM25 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
VRNDSCALEPD $0xb,%ZMM29,%ZMM29 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
VRNDSCALEPD $0xb,%ZMM25,%ZMM25 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
VSUBPD %ZMM29,%ZMM27,%ZMM27 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
VADDPD %ZMM30,%ZMM28,%ZMM29 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
VSUBPD %ZMM25,%ZMM24,%ZMM24 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
VRNDSCALEPD $0xb,%ZMM29,%ZMM29 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
VMULPD %ZMM27,%ZMM12,%ZMM26 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 1 |
VSUBPD %ZMM29,%ZMM28,%ZMM28 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
VMULPD %ZMM27,%ZMM9,%ZMM29 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 1 |
VMULPD %ZMM27,%ZMM15,%ZMM27 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 1 |
VFMADD231PD %ZMM28,%ZMM10,%ZMM29 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 |
VFMADD231PD %ZMM28,%ZMM16,%ZMM27 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 |
VFMADD231PD %ZMM28,%ZMM13,%ZMM26 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 |
VFMADD231PD %ZMM11,%ZMM24,%ZMM29 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 |
VFMADD231PD %ZMM24,%ZMM17,%ZMM27 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 |
VFMADD231PD %ZMM24,%ZMM14,%ZMM26 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 |
VMULPD %ZMM29,%ZMM29,%ZMM24 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 1 |
VMOVUPD %ZMM29,(%R14,%RSI,8) | 2 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 1 | 1 | 5 | 2 |
VMOVUPD %ZMM26,(%RCX,%RSI,8) | 2 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 1 | 1 | 5 | 2 |
MOV -0x48(%RBP),%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.33 |
VFMADD231PD %ZMM27,%ZMM27,%ZMM24 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 |
VMOVUPD %ZMM27,(%RCX,%RSI,8) | 2 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 1 | 1 | 5 | 2 |
MOV -0x50(%RBP),%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.33 |
VFMADD231PD %ZMM26,%ZMM26,%ZMM24 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 |
VSQRTPD %ZMM24,%ZMM24 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 21 | 16 |
VMOVUPD %ZMM24,(%RCX,%RSI,8) | 2 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 1 | 1 | 5 | 2 |
ADD $0x8,%RSI | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
CMP %RSI,%RDX | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
JNE 46d40 <_ZN11qmcplusplus27SoaDistanceTableABOMPTargetIdLj3ELi40EE8evaluateERNS_11ParticleSetE+0x690> | 1 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50-1 |