Function: qmcplusplus::BsplineAllocator<double, 64ul, qmcplusplus::Mallocator<double, 64ul> >::setCo ... | Module: exec | Source: BsplineAllocator.hpp:171-180 [...] | Coverage: 0.2% |
---|
Function: qmcplusplus::BsplineAllocator<double, 64ul, qmcplusplus::Mallocator<double, 64ul> >::setCo ... | Module: exec | Source: BsplineAllocator.hpp:171-180 [...] | Coverage: 0.2% |
---|
/home/kcamus/qaas_runs/169-451-1869/intel/miniqmc/build/miniqmc/src/Numerics/Spline2/BsplineAllocator.hpp: 171 - 180 |
-------------------------------------------------------------------------------- |
171: #pragma omp parallel for collapse(3) |
172: for (int ix = 0; ix < spline->x_grid.num + 3; ix++) |
173: for (int iy = 0; iy < spline->y_grid.num + 3; iy++) |
174: for (int iz = 0; iz < spline->z_grid.num + 3; iz++) |
175: { |
176: intptr_t xs = spline->x_stride; |
177: intptr_t ys = spline->y_stride; |
178: intptr_t zs = spline->z_stride; |
179: for (int ind = first; ind < last; ind++) |
180: spline->coefs[ix * xs + iy * ys + iz * zs + ind] = coeff(ix, iy, iz) * prefactor[ind]; |
/usr/include/c++/13.1.1/bits/stl_vector.h: 1126 - 1126 |
-------------------------------------------------------------------------------- |
1126: return *(this->_M_impl._M_start + __n); |
/home/kcamus/qaas_runs/169-451-1869/intel/miniqmc/build/miniqmc/src/Numerics/OhmmsPETE/OhmmsArray.h: 156 - 156 |
-------------------------------------------------------------------------------- |
156: return X[k + Length[2] * (j + Length[1] * i)]; |
0x450340 PUSH %RBP |
0x450341 MOV %RSP,%RBP |
0x450344 PUSH %R15 |
0x450346 PUSH %R14 |
0x450348 PUSH %R13 |
0x45034a PUSH %R12 |
0x45034c PUSH %RBX |
0x45034d SUB $0x48,%RSP |
0x450351 MOV 0x8(%RDI),%R13 |
0x450355 MOV 0x38(%R13),%EAX |
0x450359 MOV 0x60(%R13),%EBX |
0x45035d MOV 0x88(%R13),%ECX |
0x450364 LEA 0x3(%RBX),%EDX |
0x450367 ADD $0x3,%EAX |
0x45036a MOV %EDX,-0x6c(%RBP) |
0x45036d TEST %EAX,%EAX |
0x45036f JLE 450608 |
0x450375 TEST %EDX,%EDX |
0x450377 JLE 450608 |
0x45037d IMUL %EAX,%EDX |
0x450380 LEA 0x3(%RCX),%R12D |
0x450384 MOV %EDX,%R14D |
0x450387 TEST %R12D,%R12D |
0x45038a JLE 450608 |
0x450390 MOV %RDI,%R15 |
0x450393 CALL 404490 <omp_get_num_threads@plt> |
0x450398 MOV %EAX,%EBX |
0x45039a CALL 4044d0 <omp_get_thread_num@plt> |
0x45039f XOR %EDX,%EDX |
0x4503a1 MOV %EAX,%ESI |
0x4503a3 MOV %R14D,%EAX |
0x4503a6 IMUL %R12D,%EAX |
0x4503aa DIV %EBX |
0x4503ac MOV %EAX,%R8D |
0x4503af CMP %EDX,%ESI |
0x4503b1 JB 450631 |
0x4503b7 IMUL %R8D,%ESI |
0x4503bb LEA (%RSI,%RDX,1),%EAX |
0x4503be LEA (%R8,%RAX,1),%EDI |
0x4503c2 CMP %EDI,%EAX |
0x4503c4 JAE 450608 |
0x4503ca XOR %EDX,%EDX |
0x4503cc MOV 0x20(%R13),%RBX |
0x4503d0 MOV 0x1c(%R15),%R10D |
0x4503d4 LEA -0x1(%R8),%ESI |
0x4503d8 DIV %R12D |
0x4503db MOV 0x18(%R15),%R14D |
0x4503df MOV 0x18(%R13),%RCX |
0x4503e3 MOV %ESI,-0x3c(%RBP) |
0x4503e6 MOV %RBX,-0x58(%RBP) |
0x4503ea MOV (%R15),%RBX |
0x4503ed MOV 0x10(%R15),%R15 |
0x4503f1 MOV 0x10(%R13),%R11 |
0x4503f5 MOV %RCX,-0x50(%RBP) |
0x4503f9 MOV %R12D,-0x34(%RBP) |
0x4503fd MOV %R15,-0x60(%RBP) |
0x450401 MOV %R10D,-0x38(%RBP) |
0x450405 MOV %R11,-0x48(%RBP) |
0x450409 MOVSXD %R14D,%R15 |
0x45040c SUB %R14D,%R10D |
0x45040f XOR %R11D,%R11D |
0x450412 LEA (,%R15,8),%R8 |
0x45041a SAL $0x3,%R10 |
0x45041e MOV %R8,-0x68(%RBP) |
0x450422 MOV %EDX,%R9D |
0x450425 XOR %EDX,%EDX |
0x450427 DIVL -0x6c(%RBP) |
0x45042a MOV %EAX,-0x40(%RBP) |
0x45042d NOPL (%RAX) |
(655) 0x450430 CMP %R14D,-0x38(%RBP) |
(655) 0x450434 JLE 4505ec |
(655) 0x45043a MOVSXD -0x40(%RBP),%R8 |
(655) 0x45043e MOV 0x8(%RBX),%R12 |
(655) 0x450442 MOVSXD %EDX,%RAX |
(655) 0x450445 MOVSXD %R9D,%RCX |
(655) 0x450448 MOV 0x18(%RBX),%RDI |
(655) 0x45044c MOV -0x68(%RBP),%RSI |
(655) 0x450450 IMUL %R8,%R12 |
(655) 0x450454 ADD %RAX,%R12 |
(655) 0x450457 IMUL 0x10(%RBX),%R12 |
(655) 0x45045c ADD %RCX,%R12 |
(655) 0x45045f LEA (%RDI,%R12,8),%RDI |
(655) 0x450463 MOV -0x60(%RBP),%R12 |
(655) 0x450467 ADD (%R12),%RSI |
(655) 0x45046b MOV -0x48(%RBP),%R12 |
(655) 0x45046f IMUL %R12,%R8 |
(655) 0x450473 MOV -0x50(%RBP),%R12 |
(655) 0x450477 IMUL %R12,%RAX |
(655) 0x45047b LEA -0x8(%R10),%R12 |
(655) 0x45047f SHR $0x3,%R12 |
(655) 0x450483 INC %R12 |
(655) 0x450486 ADD %R8,%RAX |
(655) 0x450489 MOV -0x58(%RBP),%R8 |
(655) 0x45048d IMUL %R8,%RCX |
(655) 0x450491 ADD %RCX,%RAX |
(655) 0x450494 MOV 0x8(%R13),%RCX |
(655) 0x450498 ADD %R15,%RAX |
(655) 0x45049b LEA (%RCX,%RAX,8),%RCX |
(655) 0x45049f XOR %EAX,%EAX |
(655) 0x4504a1 AND $0x7,%R12D |
(655) 0x4504a5 JE 450559 |
(655) 0x4504ab CMP $0x1,%R12 |
(655) 0x4504af JE 45053e |
(655) 0x4504b5 CMP $0x2,%R12 |
(655) 0x4504b9 JE 45052c |
(655) 0x4504bb CMP $0x3,%R12 |
(655) 0x4504bf JE 45051a |
(655) 0x4504c1 CMP $0x4,%R12 |
(655) 0x4504c5 JE 450508 |
(655) 0x4504c7 CMP $0x5,%R12 |
(655) 0x4504cb JE 4504f6 |
(655) 0x4504cd CMP $0x6,%R12 |
(655) 0x4504d1 JE 4504e4 |
(655) 0x4504d3 VMOVSD (%RDI),%XMM0 |
(655) 0x4504d7 MOV $0x8,%EAX |
(655) 0x4504dc VMULSD (%RSI),%XMM0,%XMM1 |
(655) 0x4504e0 VMOVSD %XMM1,(%RCX) |
(655) 0x4504e4 VMOVSD (%RDI),%XMM2 |
(655) 0x4504e8 VMULSD (%RSI,%RAX,1),%XMM2,%XMM3 |
(655) 0x4504ed VMOVSD %XMM3,(%RCX,%RAX,1) |
(655) 0x4504f2 ADD $0x8,%RAX |
(655) 0x4504f6 VMOVSD (%RDI),%XMM4 |
(655) 0x4504fa VMULSD (%RSI,%RAX,1),%XMM4,%XMM5 |
(655) 0x4504ff VMOVSD %XMM5,(%RCX,%RAX,1) |
(655) 0x450504 ADD $0x8,%RAX |
(655) 0x450508 VMOVSD (%RDI),%XMM6 |
(655) 0x45050c VMULSD (%RSI,%RAX,1),%XMM6,%XMM7 |
(655) 0x450511 VMOVSD %XMM7,(%RCX,%RAX,1) |
(655) 0x450516 ADD $0x8,%RAX |
(655) 0x45051a VMOVSD (%RDI),%XMM8 |
(655) 0x45051e VMULSD (%RSI,%RAX,1),%XMM8,%XMM9 |
(655) 0x450523 VMOVSD %XMM9,(%RCX,%RAX,1) |
(655) 0x450528 ADD $0x8,%RAX |
(655) 0x45052c VMOVSD (%RDI),%XMM10 |
(655) 0x450530 VMULSD (%RSI,%RAX,1),%XMM10,%XMM11 |
(655) 0x450535 VMOVSD %XMM11,(%RCX,%RAX,1) |
(655) 0x45053a ADD $0x8,%RAX |
(655) 0x45053e VMOVSD (%RDI),%XMM12 |
(655) 0x450542 VMULSD (%RSI,%RAX,1),%XMM12,%XMM13 |
(655) 0x450547 VMOVSD %XMM13,(%RCX,%RAX,1) |
(655) 0x45054c ADD $0x8,%RAX |
(655) 0x450550 CMP %RAX,%R10 |
(655) 0x450553 JE 4505ec |
(655) 0x450559 MOV -0x34(%RBP),%R8D |
(656) 0x45055d VMOVSD (%RDI),%XMM14 |
(656) 0x450561 VMULSD (%RSI,%RAX,1),%XMM14,%XMM15 |
(656) 0x450566 VMOVSD %XMM15,(%RCX,%RAX,1) |
(656) 0x45056b VMOVSD (%RDI),%XMM0 |
(656) 0x45056f VMULSD 0x8(%RSI,%RAX,1),%XMM0,%XMM1 |
(656) 0x450575 VMOVSD %XMM1,0x8(%RCX,%RAX,1) |
(656) 0x45057b VMOVSD (%RDI),%XMM2 |
(656) 0x45057f VMULSD 0x10(%RSI,%RAX,1),%XMM2,%XMM3 |
(656) 0x450585 VMOVSD %XMM3,0x10(%RCX,%RAX,1) |
(656) 0x45058b VMOVSD (%RDI),%XMM4 |
(656) 0x45058f VMULSD 0x18(%RSI,%RAX,1),%XMM4,%XMM5 |
(656) 0x450595 VMOVSD %XMM5,0x18(%RCX,%RAX,1) |
(656) 0x45059b VMOVSD (%RDI),%XMM6 |
(656) 0x45059f VMULSD 0x20(%RSI,%RAX,1),%XMM6,%XMM7 |
(656) 0x4505a5 VMOVSD %XMM7,0x20(%RCX,%RAX,1) |
(656) 0x4505ab VMOVSD (%RDI),%XMM8 |
(656) 0x4505af VMULSD 0x28(%RSI,%RAX,1),%XMM8,%XMM9 |
(656) 0x4505b5 VMOVSD %XMM9,0x28(%RCX,%RAX,1) |
(656) 0x4505bb VMOVSD (%RDI),%XMM10 |
(656) 0x4505bf VMULSD 0x30(%RSI,%RAX,1),%XMM10,%XMM11 |
(656) 0x4505c5 VMOVSD %XMM11,0x30(%RCX,%RAX,1) |
(656) 0x4505cb VMOVSD (%RDI),%XMM12 |
(656) 0x4505cf VMULSD 0x38(%RSI,%RAX,1),%XMM12,%XMM13 |
(656) 0x4505d5 VMOVSD %XMM13,0x38(%RCX,%RAX,1) |
(656) 0x4505db ADD $0x40,%RAX |
(656) 0x4505df CMP %RAX,%R10 |
(656) 0x4505e2 JNE 45055d |
(655) 0x4505e8 MOV %R8D,-0x34(%RBP) |
(655) 0x4505ec CMP %R11D,-0x3c(%RBP) |
(655) 0x4505f0 JE 450608 |
(655) 0x4505f2 INC %R9D |
(655) 0x4505f5 CMP %R9D,-0x34(%RBP) |
(655) 0x4505f9 JLE 450620 |
(655) 0x4505fb INC %R11D |
(655) 0x4505fe JMP 450430 |
0x450603 NOPL (%RAX,%RAX,1) |
0x450608 ADD $0x48,%RSP |
0x45060c POP %RBX |
0x45060d POP %R12 |
0x45060f POP %R13 |
0x450611 POP %R14 |
0x450613 POP %R15 |
0x450615 POP %RBP |
0x450616 RET |
0x450617 NOPW (%RAX,%RAX,1) |
(655) 0x450620 INC %EDX |
(655) 0x450622 XOR %R9D,%R9D |
(655) 0x450625 CMP %EDX,-0x6c(%RBP) |
(655) 0x450628 JG 4505fb |
(655) 0x45062a INCL -0x40(%RBP) |
(655) 0x45062d XOR %EDX,%EDX |
(655) 0x45062f JMP 4505fb |
0x450631 INC %R8D |
0x450634 XOR %EDX,%EDX |
0x450636 JMP 4503b7 |
0x45063b NOPL (%RAX,%RAX,1) |
0x4717b3 NOPL (%RAX,%RAX,1) |
0x4717c7 NOPW (%RAX,%RAX,1) |
0x4717eb NOPL (%RAX,%RAX,1) |
Coverage (%) | Name | Source Location | Module |
---|---|---|---|
○100.00 | GOMP_parallel | libgomp.h:985 | libgomp.so.1.0.0 |
Path / |
Source file and lines | BsplineAllocator.hpp:171-180 |
Module | exec |
nb instructions | 86 |
nb uops | 116 |
loop length | 303 |
used x86 registers | 16 |
used mmx registers | 0 |
used xmm registers | 0 |
used ymm registers | 0 |
used zmm registers | 0 |
nb stack references | 10 |
micro-operation queue | 29.00 cycles |
front end | 29.00 cycles |
P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | |
---|---|---|---|---|---|---|---|---|
uops | 15.00 | 15.00 | 12.33 | 12.33 | 18.00 | 15.00 | 15.00 | 12.33 |
cycles | 15.00 | 16.25 | 12.33 | 12.33 | 18.00 | 15.00 | 15.00 | 12.33 |
Cycles executing div or sqrt instructions | 18.00 |
FE+BE cycles | 24.62-24.57 |
Stall cycles | 1.07-1.02 |
ROB full (events) | 1.50-1.53 |
Front-end | 29.00 |
Dispatch | 18.00 |
DIV/SQRT | 18.00 |
Overall L1 | 29.00 |
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 | 0% |
other | 0% |
all | 8% |
load | 7% |
store | 9% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | 10% |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | 6% |
other | 6% |
Instruction | Nb FU | P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | Latency | Recip. throughput |
---|---|---|---|---|---|---|---|---|---|---|---|
PUSH %RBP | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
MOV %RSP,%RBP | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
PUSH %R15 | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
PUSH %R14 | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
PUSH %R13 | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
PUSH %R12 | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
PUSH %RBX | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
SUB $0x48,%RSP | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
MOV 0x8(%RDI),%R13 | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
MOV 0x38(%R13),%EAX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
MOV 0x60(%R13),%EBX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
MOV 0x88(%R13),%ECX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
LEA 0x3(%RBX),%EDX | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 1 | 0.50 |
ADD $0x3,%EAX | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
MOV %EDX,-0x6c(%RBP) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
TEST %EAX,%EAX | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
JLE 450608 <_ZN11qmcplusplus16BsplineAllocatorIdLm64ENS_10MallocatorIdLm64EEEE26setCoefficientsForOrbitalsEiiR5ArrayIdLj3EEP19multi_UBspline_3d_d._omp_fn.0+0x2c8> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50-1 |
TEST %EDX,%EDX | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
JLE 450608 <_ZN11qmcplusplus16BsplineAllocatorIdLm64ENS_10MallocatorIdLm64EEEE26setCoefficientsForOrbitalsEiiR5ArrayIdLj3EEP19multi_UBspline_3d_d._omp_fn.0+0x2c8> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50-1 |
IMUL %EAX,%EDX | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
LEA 0x3(%RCX),%R12D | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV %EDX,%R14D | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
TEST %R12D,%R12D | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
JLE 450608 <_ZN11qmcplusplus16BsplineAllocatorIdLm64ENS_10MallocatorIdLm64EEEE26setCoefficientsForOrbitalsEiiR5ArrayIdLj3EEP19multi_UBspline_3d_d._omp_fn.0+0x2c8> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50-1 |
MOV %RDI,%R15 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
CALL 404490 | 2 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 1 | 0.33 | 0 | 1 |
MOV %EAX,%EBX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
CALL 4044d0 | 2 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 1 | 0.33 | 0 | 1 |
XOR %EDX,%EDX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
MOV %EAX,%ESI | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
MOV %R14D,%EAX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
IMUL %R12D,%EAX | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
DIV %EBX | 10 | 2.50 | 2.50 | 0 | 0 | 0 | 2.50 | 2.50 | 0 | 26 | 6 |
MOV %EAX,%R8D | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
CMP %EDX,%ESI | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
JB 450631 <_ZN11qmcplusplus16BsplineAllocatorIdLm64ENS_10MallocatorIdLm64EEEE26setCoefficientsForOrbitalsEiiR5ArrayIdLj3EEP19multi_UBspline_3d_d._omp_fn.0+0x2f1> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50-1 |
IMUL %R8D,%ESI | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
LEA (%RSI,%RDX,1),%EAX | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 1 | 0.50 |
LEA (%R8,%RAX,1),%EDI | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 1 | 0.50 |
CMP %EDI,%EAX | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
JAE 450608 <_ZN11qmcplusplus16BsplineAllocatorIdLm64ENS_10MallocatorIdLm64EEEE26setCoefficientsForOrbitalsEiiR5ArrayIdLj3EEP19multi_UBspline_3d_d._omp_fn.0+0x2c8> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50-1 |
XOR %EDX,%EDX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
MOV 0x20(%R13),%RBX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
MOV 0x1c(%R15),%R10D | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
LEA -0x1(%R8),%ESI | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 1 | 0.50 |
DIV %R12D | 10 | 2.50 | 2.50 | 0 | 0 | 0 | 2.50 | 2.50 | 0 | 26 | 6 |
MOV 0x18(%R15),%R14D | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
MOV 0x18(%R13),%RCX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
MOV %ESI,-0x3c(%RBP) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
MOV %RBX,-0x58(%RBP) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
MOV (%R15),%RBX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
MOV 0x10(%R15),%R15 | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
MOV 0x10(%R13),%R11 | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
MOV %RCX,-0x50(%RBP) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
MOV %R12D,-0x34(%RBP) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
MOV %R15,-0x60(%RBP) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
MOV %R10D,-0x38(%RBP) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
MOV %R11,-0x48(%RBP) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
MOVSXD %R14D,%R15 | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
SUB %R14D,%R10D | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
XOR %R11D,%R11D | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
LEA (,%R15,8),%R8 | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 1 | 0.50 |
SAL $0x3,%R10 | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 1 | 0.50 |
MOV %R8,-0x68(%RBP) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
MOV %EDX,%R9D | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
XOR %EDX,%EDX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
DIVL -0x6c(%RBP) | 11 | 2.50 | 2.50 | 0.50 | 0.50 | 0 | 2.50 | 2.50 | 0 | 26 | 6 |
MOV %EAX,-0x40(%RBP) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
NOPL (%RAX) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
NOPL (%RAX,%RAX,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
ADD $0x48,%RSP | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
POP %RBX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 2 | 0.50 |
POP %R12 | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 2 | 0.50 |
POP %R13 | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 2 | 0.50 |
POP %R14 | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 2 | 0.50 |
POP %R15 | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 2 | 0.50 |
POP %RBP | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 2 | 0.50 |
RET | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 1 | 0.33 | 0 | 1 |
NOPW (%RAX,%RAX,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
INC %R8D | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
XOR %EDX,%EDX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
JMP 4503b7 <_ZN11qmcplusplus16BsplineAllocatorIdLm64ENS_10MallocatorIdLm64EEEE26setCoefficientsForOrbitalsEiiR5ArrayIdLj3EEP19multi_UBspline_3d_d._omp_fn.0+0x77> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1-2 |
NOPL (%RAX,%RAX,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
NOPL (%RAX,%RAX,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
NOPW (%RAX,%RAX,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
NOPL (%RAX,%RAX,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
Source file and lines | BsplineAllocator.hpp:171-180 |
Module | exec |
nb instructions | 86 |
nb uops | 116 |
loop length | 303 |
used x86 registers | 16 |
used mmx registers | 0 |
used xmm registers | 0 |
used ymm registers | 0 |
used zmm registers | 0 |
nb stack references | 10 |
micro-operation queue | 29.00 cycles |
front end | 29.00 cycles |
P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | |
---|---|---|---|---|---|---|---|---|
uops | 15.00 | 15.00 | 12.33 | 12.33 | 18.00 | 15.00 | 15.00 | 12.33 |
cycles | 15.00 | 16.25 | 12.33 | 12.33 | 18.00 | 15.00 | 15.00 | 12.33 |
Cycles executing div or sqrt instructions | 18.00 |
FE+BE cycles | 24.62-24.57 |
Stall cycles | 1.07-1.02 |
ROB full (events) | 1.50-1.53 |
Front-end | 29.00 |
Dispatch | 18.00 |
DIV/SQRT | 18.00 |
Overall L1 | 29.00 |
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 | 0% |
other | 0% |
all | 8% |
load | 7% |
store | 9% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | 10% |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | 6% |
other | 6% |
Instruction | Nb FU | P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | Latency | Recip. throughput |
---|---|---|---|---|---|---|---|---|---|---|---|
PUSH %RBP | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
MOV %RSP,%RBP | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
PUSH %R15 | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
PUSH %R14 | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
PUSH %R13 | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
PUSH %R12 | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
PUSH %RBX | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
SUB $0x48,%RSP | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
MOV 0x8(%RDI),%R13 | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
MOV 0x38(%R13),%EAX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
MOV 0x60(%R13),%EBX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
MOV 0x88(%R13),%ECX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
LEA 0x3(%RBX),%EDX | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 1 | 0.50 |
ADD $0x3,%EAX | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
MOV %EDX,-0x6c(%RBP) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
TEST %EAX,%EAX | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
JLE 450608 <_ZN11qmcplusplus16BsplineAllocatorIdLm64ENS_10MallocatorIdLm64EEEE26setCoefficientsForOrbitalsEiiR5ArrayIdLj3EEP19multi_UBspline_3d_d._omp_fn.0+0x2c8> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50-1 |
TEST %EDX,%EDX | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
JLE 450608 <_ZN11qmcplusplus16BsplineAllocatorIdLm64ENS_10MallocatorIdLm64EEEE26setCoefficientsForOrbitalsEiiR5ArrayIdLj3EEP19multi_UBspline_3d_d._omp_fn.0+0x2c8> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50-1 |
IMUL %EAX,%EDX | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
LEA 0x3(%RCX),%R12D | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV %EDX,%R14D | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
TEST %R12D,%R12D | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
JLE 450608 <_ZN11qmcplusplus16BsplineAllocatorIdLm64ENS_10MallocatorIdLm64EEEE26setCoefficientsForOrbitalsEiiR5ArrayIdLj3EEP19multi_UBspline_3d_d._omp_fn.0+0x2c8> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50-1 |
MOV %RDI,%R15 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
CALL 404490 | 2 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 1 | 0.33 | 0 | 1 |
MOV %EAX,%EBX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
CALL 4044d0 | 2 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 1 | 0.33 | 0 | 1 |
XOR %EDX,%EDX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
MOV %EAX,%ESI | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
MOV %R14D,%EAX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
IMUL %R12D,%EAX | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
DIV %EBX | 10 | 2.50 | 2.50 | 0 | 0 | 0 | 2.50 | 2.50 | 0 | 26 | 6 |
MOV %EAX,%R8D | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
CMP %EDX,%ESI | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
JB 450631 <_ZN11qmcplusplus16BsplineAllocatorIdLm64ENS_10MallocatorIdLm64EEEE26setCoefficientsForOrbitalsEiiR5ArrayIdLj3EEP19multi_UBspline_3d_d._omp_fn.0+0x2f1> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50-1 |
IMUL %R8D,%ESI | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
LEA (%RSI,%RDX,1),%EAX | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 1 | 0.50 |
LEA (%R8,%RAX,1),%EDI | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 1 | 0.50 |
CMP %EDI,%EAX | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
JAE 450608 <_ZN11qmcplusplus16BsplineAllocatorIdLm64ENS_10MallocatorIdLm64EEEE26setCoefficientsForOrbitalsEiiR5ArrayIdLj3EEP19multi_UBspline_3d_d._omp_fn.0+0x2c8> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50-1 |
XOR %EDX,%EDX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
MOV 0x20(%R13),%RBX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
MOV 0x1c(%R15),%R10D | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
LEA -0x1(%R8),%ESI | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 1 | 0.50 |
DIV %R12D | 10 | 2.50 | 2.50 | 0 | 0 | 0 | 2.50 | 2.50 | 0 | 26 | 6 |
MOV 0x18(%R15),%R14D | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
MOV 0x18(%R13),%RCX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
MOV %ESI,-0x3c(%RBP) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
MOV %RBX,-0x58(%RBP) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
MOV (%R15),%RBX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
MOV 0x10(%R15),%R15 | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
MOV 0x10(%R13),%R11 | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
MOV %RCX,-0x50(%RBP) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
MOV %R12D,-0x34(%RBP) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
MOV %R15,-0x60(%RBP) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
MOV %R10D,-0x38(%RBP) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
MOV %R11,-0x48(%RBP) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
MOVSXD %R14D,%R15 | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
SUB %R14D,%R10D | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
XOR %R11D,%R11D | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
LEA (,%R15,8),%R8 | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 1 | 0.50 |
SAL $0x3,%R10 | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 1 | 0.50 |
MOV %R8,-0x68(%RBP) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
MOV %EDX,%R9D | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
XOR %EDX,%EDX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
DIVL -0x6c(%RBP) | 11 | 2.50 | 2.50 | 0.50 | 0.50 | 0 | 2.50 | 2.50 | 0 | 26 | 6 |
MOV %EAX,-0x40(%RBP) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
NOPL (%RAX) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
NOPL (%RAX,%RAX,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
ADD $0x48,%RSP | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
POP %RBX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 2 | 0.50 |
POP %R12 | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 2 | 0.50 |
POP %R13 | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 2 | 0.50 |
POP %R14 | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 2 | 0.50 |
POP %R15 | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 2 | 0.50 |
POP %RBP | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 2 | 0.50 |
RET | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 1 | 0.33 | 0 | 1 |
NOPW (%RAX,%RAX,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
INC %R8D | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
XOR %EDX,%EDX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
JMP 4503b7 <_ZN11qmcplusplus16BsplineAllocatorIdLm64ENS_10MallocatorIdLm64EEEE26setCoefficientsForOrbitalsEiiR5ArrayIdLj3EEP19multi_UBspline_3d_d._omp_fn.0+0x77> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1-2 |
NOPL (%RAX,%RAX,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
NOPL (%RAX,%RAX,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
NOPW (%RAX,%RAX,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
NOPL (%RAX,%RAX,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
Name | Coverage (%) | Time (s) |
---|---|---|
▼qmcplusplus::BsplineAllocator | 0.2 | 0.19 |
▼Loop 655 - BsplineAllocator.hpp:171-180 - exec– | 0.01 | 0 |
○Loop 656 - BsplineAllocator.hpp:179-180 - exec | 0.19 | 0.19 |