Function: gasdev | Module: exec | Source: random.c:22-48 [...] | Coverage: 0.03% |
---|
Function: gasdev | Module: exec | Source: random.c:22-48 [...] | Coverage: 0.03% |
---|
/scratch_na/users/xoserete/qaas_runs/171-416-1926/intel/CoMD/build/CoMD/CoMD/src-openmp/random.c: 22 - 48 |
-------------------------------------------------------------------------------- |
22: { |
23: real_t rsq,v1,v2; |
24: do |
25: { |
26: v1 = 2.0*lcg61(seed)-1.0; |
27: v2 = 2.0*lcg61(seed)-1.0; |
28: rsq = v1*v1+v2*v2; |
29: } while (rsq >= 1.0 || rsq == 0.0); |
30: |
31: return v2 * sqrt(-2.0*log(rsq)/rsq); |
32: } |
[...] |
45: *seed *= UINT64_C(437799614237992725); |
46: *seed %= UINT64_C(2305843009213693951); |
47: |
48: return *seed*convertToDouble; |
0x40e520 PUSH %RBP |
0x40e521 MOV %RDI,%R8 |
0x40e524 VXORPS %XMM5,%XMM5,%XMM5 |
0x40e528 MOV $0x9,%ESI |
0x40e52d VXORPD %XMM7,%XMM7,%XMM7 |
0x40e531 MOV %RSP,%RBP |
0x40e534 SUB $0x10,%RSP |
0x40e538 VMOVSD 0x3440(%RIP),%XMM4 |
0x40e540 MOV (%RDI),%RCX |
0x40e543 VMOVSD 0x278d(%RIP),%XMM3 |
0x40e54b VMOVSD 0x21e5(%RIP),%XMM6 |
0x40e553 MOV $0x613606df9756715,%RDI |
0x40e55d NOPL (%RAX) |
(90) 0x40e560 IMUL %RDI,%RCX |
(90) 0x40e564 MOV %RCX,%RAX |
(90) 0x40e567 MOV %RCX,%R9 |
(90) 0x40e56a MUL %RSI |
(90) 0x40e56d SUB %RDX,%R9 |
(90) 0x40e570 SHR $0x1,%R9 |
(90) 0x40e573 ADD %R9,%RDX |
(90) 0x40e576 SHR $0x3c,%RDX |
(90) 0x40e57a MOV %RDX,%R10 |
(90) 0x40e57d SAL $0x3d,%R10 |
(90) 0x40e581 SUB %RDX,%R10 |
(90) 0x40e584 SUB %R10,%RCX |
(90) 0x40e587 VCVTSI2SD %RCX,%XMM5,%XMM0 |
(90) 0x40e58c IMUL %RDI,%RCX |
(90) 0x40e590 MOV %RCX,%RAX |
(90) 0x40e593 VFMADD132SD %XMM4,%XMM3,%XMM0 |
(90) 0x40e598 MOV %RCX,%R11 |
(90) 0x40e59b MUL %RSI |
(90) 0x40e59e SUB %RDX,%R11 |
(90) 0x40e5a1 SHR $0x1,%R11 |
(90) 0x40e5a4 ADD %R11,%RDX |
(90) 0x40e5a7 SHR $0x3c,%RDX |
(90) 0x40e5ab MOV %RDX,%R9 |
(90) 0x40e5ae SAL $0x3d,%R9 |
(90) 0x40e5b2 SUB %RDX,%R9 |
(90) 0x40e5b5 SUB %R9,%RCX |
(90) 0x40e5b8 VCVTSI2SD %RCX,%XMM5,%XMM2 |
(90) 0x40e5bd VFMADD132SD %XMM4,%XMM3,%XMM2 |
(90) 0x40e5c2 VMULSD %XMM2,%XMM2,%XMM1 |
(90) 0x40e5c6 VFMADD231SD %XMM0,%XMM0,%XMM1 |
(90) 0x40e5cb VCOMISD %XMM6,%XMM1 |
(90) 0x40e5cf JAE 40e560 |
(90) 0x40e5d1 VCOMISD %XMM7,%XMM1 |
(90) 0x40e5d5 JE 40e560 |
0x40e5d7 MOV %RCX,(%R8) |
0x40e5da VMOVSD %XMM1,%XMM1,%XMM0 |
0x40e5de VMOVSD %XMM2,-0x10(%RBP) |
0x40e5e3 VMOVSD %XMM1,-0x8(%RBP) |
0x40e5e8 CALL 403050 <__log_finite@plt> |
0x40e5ed VMOVSD -0x8(%RBP),%XMM9 |
0x40e5f2 VMOVSD -0x10(%RBP),%XMM11 |
0x40e5f7 VMULSD 0x3389(%RIP),%XMM0,%XMM8 |
0x40e5ff LEAVE |
0x40e600 VDIVSD %XMM9,%XMM8,%XMM10 |
0x40e605 VSQRTSD %XMM10,%XMM10,%XMM10 |
0x40e60a VMULSD %XMM11,%XMM10,%XMM0 |
0x40e60f RET |
Coverage (%) | Name | Source Location | Module |
---|---|---|---|
○51.24 | gomp_thread_start | team.c:130 | libgomp.so.1.0.0 |
►32.50+ | setTemperature._omp_fn.0 | initAtoms.c:160 | exec |
○ | gomp_thread_start | team.c:130 | libgomp.so.1.0.0 |
►7.51+ | setTemperature._omp_fn.0 | initAtoms.c:162 | exec |
○ | gomp_thread_start | team.c:130 | libgomp.so.1.0.0 |
►7.50+ | setTemperature._omp_fn.0 | initAtoms.c:161 | exec |
○ | gomp_thread_start | team.c:130 | libgomp.so.1.0.0 |
►1.25+ | setTemperature._omp_fn.0 | initAtoms.c:160 | exec |
○ | GOMP_parallel | libgomp.h:985 | libgomp.so.1.0.0 |
Path / |
Source file and lines | random.c:22-48 |
Module | exec |
nb instructions | 26 |
nb uops | 29 |
loop length | 121 |
used x86 registers | 7 |
used mmx registers | 0 |
used xmm registers | 12 |
used ymm registers | 0 |
used zmm registers | 0 |
nb stack references | 2 |
micro-operation queue | 4.83 cycles |
front end | 4.83 cycles |
P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
uops | 2.20 | 2.20 | 3.00 | 3.00 | 2.50 | 2.20 | 2.20 | 2.50 | 2.50 | 2.50 | 2.20 | 3.00 |
cycles | 2.20 | 2.20 | 3.00 | 3.00 | 2.50 | 2.20 | 2.20 | 2.50 | 2.50 | 2.50 | 2.20 | 3.00 |
Cycles executing div or sqrt instructions | 8.50 |
FE+BE cycles | 9.42-9.37 |
Stall cycles | 3.90-3.85 |
ROB full (events) | 4.50-4.46 |
Front-end | 4.83 |
Dispatch | 3.00 |
DIV/SQRT | 8.50 |
Overall L1 | 8.50 |
all | 0% |
load | 0% |
store | 0% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | NA (no add-sub vectorizable/vectorized instructions) |
fma | NA (no fma vectorizable/vectorized instructions) |
other | 0% |
all | 14% |
load | 0% |
store | 0% |
mul | 0% |
add-sub | NA (no add-sub vectorizable/vectorized instructions) |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | 0% |
other | 66% |
all | 11% |
load | 0% |
store | 0% |
mul | 0% |
add-sub | NA (no add-sub vectorizable/vectorized instructions) |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | 0% |
other | 50% |
all | 10% |
load | 12% |
store | 12% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | NA (no add-sub vectorizable/vectorized instructions) |
fma | NA (no fma vectorizable/vectorized instructions) |
other | 6% |
all | 14% |
load | 12% |
store | 12% |
mul | 12% |
add-sub | NA (no add-sub vectorizable/vectorized instructions) |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | 12% |
other | 20% |
all | 13% |
load | 12% |
store | 12% |
mul | 12% |
add-sub | NA (no add-sub vectorizable/vectorized instructions) |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | 12% |
other | 17% |
Instruction | Nb FU | P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | Latency | Recip. throughput |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PUSH %RBP | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 5-12 | 0.50 |
MOV %RDI,%R8 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
VXORPS %XMM5,%XMM5,%XMM5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
MOV $0x9,%ESI | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
VXORPD %XMM7,%XMM7,%XMM7 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
MOV %RSP,%RBP | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
SUB $0x10,%RSP | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
VMOVSD 0x3440(%RIP),%XMM4 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV (%RDI),%RCX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
VMOVSD 0x278d(%RIP),%XMM3 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
VMOVSD 0x21e5(%RIP),%XMM6 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV $0x613606df9756715,%RDI | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.28 |
NOPL (%RAX) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
MOV %RCX,(%R8) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
VMOVSD %XMM1,%XMM1,%XMM0 | 1 | 0.33 | 0.33 | 0 | 0 | 0 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.33 |
VMOVSD %XMM2,-0x10(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
VMOVSD %XMM1,-0x8(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
CALL 403050 <__log_finite@plt> | 2 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 0 | 1 |
VMOVSD -0x8(%RBP),%XMM9 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
VMOVSD -0x10(%RBP),%XMM11 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
VMULSD 0x3389(%RIP),%XMM0,%XMM8 | 1 | 0.50 | 0.50 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 4 | 0.50 |
LEAVE | 3 | 0.60 | 0.60 | 0.33 | 0.33 | 0 | 0.60 | 0.60 | 0 | 0 | 0 | 0.60 | 0.33 | 2-6 | 2 |
VDIVSD %XMM9,%XMM8,%XMM10 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 13-15 | 4 |
VSQRTSD %XMM10,%XMM10,%XMM10 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 13-19 | 4.50 |
VMULSD %XMM11,%XMM10,%XMM0 | 1 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 0.50 |
RET | 1 | 0.50 | 0 | 0.33 | 0.33 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0.33 | 0 | 2.13 |
Source file and lines | random.c:22-48 |
Module | exec |
nb instructions | 26 |
nb uops | 29 |
loop length | 121 |
used x86 registers | 7 |
used mmx registers | 0 |
used xmm registers | 12 |
used ymm registers | 0 |
used zmm registers | 0 |
nb stack references | 2 |
micro-operation queue | 4.83 cycles |
front end | 4.83 cycles |
P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
uops | 2.20 | 2.20 | 3.00 | 3.00 | 2.50 | 2.20 | 2.20 | 2.50 | 2.50 | 2.50 | 2.20 | 3.00 |
cycles | 2.20 | 2.20 | 3.00 | 3.00 | 2.50 | 2.20 | 2.20 | 2.50 | 2.50 | 2.50 | 2.20 | 3.00 |
Cycles executing div or sqrt instructions | 8.50 |
FE+BE cycles | 9.42-9.37 |
Stall cycles | 3.90-3.85 |
ROB full (events) | 4.50-4.46 |
Front-end | 4.83 |
Dispatch | 3.00 |
DIV/SQRT | 8.50 |
Overall L1 | 8.50 |
all | 0% |
load | 0% |
store | 0% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | NA (no add-sub vectorizable/vectorized instructions) |
fma | NA (no fma vectorizable/vectorized instructions) |
other | 0% |
all | 14% |
load | 0% |
store | 0% |
mul | 0% |
add-sub | NA (no add-sub vectorizable/vectorized instructions) |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | 0% |
other | 66% |
all | 11% |
load | 0% |
store | 0% |
mul | 0% |
add-sub | NA (no add-sub vectorizable/vectorized instructions) |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | 0% |
other | 50% |
all | 10% |
load | 12% |
store | 12% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | NA (no add-sub vectorizable/vectorized instructions) |
fma | NA (no fma vectorizable/vectorized instructions) |
other | 6% |
all | 14% |
load | 12% |
store | 12% |
mul | 12% |
add-sub | NA (no add-sub vectorizable/vectorized instructions) |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | 12% |
other | 20% |
all | 13% |
load | 12% |
store | 12% |
mul | 12% |
add-sub | NA (no add-sub vectorizable/vectorized instructions) |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | 12% |
other | 17% |
Instruction | Nb FU | P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | Latency | Recip. throughput |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PUSH %RBP | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 5-12 | 0.50 |
MOV %RDI,%R8 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
VXORPS %XMM5,%XMM5,%XMM5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
MOV $0x9,%ESI | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
VXORPD %XMM7,%XMM7,%XMM7 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
MOV %RSP,%RBP | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
SUB $0x10,%RSP | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
VMOVSD 0x3440(%RIP),%XMM4 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV (%RDI),%RCX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
VMOVSD 0x278d(%RIP),%XMM3 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
VMOVSD 0x21e5(%RIP),%XMM6 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV $0x613606df9756715,%RDI | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.28 |
NOPL (%RAX) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
MOV %RCX,(%R8) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
VMOVSD %XMM1,%XMM1,%XMM0 | 1 | 0.33 | 0.33 | 0 | 0 | 0 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.33 |
VMOVSD %XMM2,-0x10(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
VMOVSD %XMM1,-0x8(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
CALL 403050 <__log_finite@plt> | 2 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 0 | 1 |
VMOVSD -0x8(%RBP),%XMM9 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
VMOVSD -0x10(%RBP),%XMM11 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
VMULSD 0x3389(%RIP),%XMM0,%XMM8 | 1 | 0.50 | 0.50 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 4 | 0.50 |
LEAVE | 3 | 0.60 | 0.60 | 0.33 | 0.33 | 0 | 0.60 | 0.60 | 0 | 0 | 0 | 0.60 | 0.33 | 2-6 | 2 |
VDIVSD %XMM9,%XMM8,%XMM10 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 13-15 | 4 |
VSQRTSD %XMM10,%XMM10,%XMM10 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 13-19 | 4.50 |
VMULSD %XMM11,%XMM10,%XMM0 | 1 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 0.50 |
RET | 1 | 0.50 | 0 | 0.33 | 0.33 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0.33 | 0 | 2.13 |
Name | Coverage (%) | Time (s) |
---|---|---|
▼gasdev– | 0.03 | 0.01 |
○Loop 90 - random.c:26-48 - exec | 0.01 | 0 |