Loop Id: 1756 | Module: libgromacs_mpi.so.9.0.0 | Source: pairlist_simd_2xmm.h:185-229 [...] | Coverage: 0.09% |
---|
Loop Id: 1756 | Module: libgromacs_mpi.so.9.0.0 | Source: pairlist_simd_2xmm.h:185-229 [...] | Coverage: 0.09% |
---|
0x65fec0 MOVSXD %R9D,%R8 |
0x65fec3 SAL $0x5,%R8 |
0x65fec7 VMOVAPS (%RDX,%R8,1),%XMM2 [2] |
0x65fecd VSUBPS 0x10(%RDX,%R8,1),%XMM0,%XMM3 [2] |
0x65fed4 VSUBPS %XMM1,%XMM2,%XMM2 |
0x65fed8 VMAXPS %XMM2,%XMM3,%XMM2 |
0x65fedc VMAXPS -0x301ae4(%RIP),%XMM2,%XMM2 [3] |
0x65fee4 VMULPS %XMM2,%XMM2,%XMM2 |
0x65fee8 VMOVSHDUP %XMM2,%XMM3 |
0x65feec VADDSS %XMM3,%XMM2,%XMM3 |
0x65fef0 VPERMILPD $0x1,%XMM2,%XMM2 |
0x65fef6 VADDSS %XMM3,%XMM2,%XMM2 |
0x65fefa LEA 0x2(%RBX),%R12D |
0x65fefe VUCOMISS %XMM2,%XMM10 |
0x65ff02 JBE 65ff10 |
0x65ff04 MOV $0x1,%DIL |
0x65ff07 JMP 65ffeb |
0x65ff10 VUCOMISS %XMM2,%XMM11 |
0x65ff14 JBE 65ffeb |
0x65ff1a LEA (%R9,%RSI,1),%EDI |
0x65ff1e SAL $0x3,%EDI |
0x65ff21 LEA (%RDI,%RDI,2),%EDI |
0x65ff24 MOVSXD %EDI,%RDI |
0x65ff27 VBROADCASTF64X4 (%RAX,%RDI,4),%ZMM2 [5] |
0x65ff2e VBROADCASTF64X4 0x20(%RAX,%RDI,4),%ZMM3 [5] |
0x65ff36 VBROADCASTF64X4 0x40(%RAX,%RDI,4),%ZMM4 [5] |
0x65ff3e VMOVAPS (%R14),%ZMM5 [4] |
0x65ff44 VMOVAPS 0x40(%R14),%ZMM6 [4] |
0x65ff4b VMOVAPS 0x80(%R14),%ZMM7 [4] |
0x65ff52 VMOVAPS 0xc0(%R14),%ZMM8 [4] |
0x65ff59 VSUBPS %ZMM2,%ZMM5,%ZMM5 |
0x65ff5f VSUBPS %ZMM3,%ZMM6,%ZMM6 |
0x65ff65 VSUBPS %ZMM4,%ZMM7,%ZMM7 |
0x65ff6b VSUBPS %ZMM2,%ZMM8,%ZMM2 |
0x65ff71 VMOVAPS 0x100(%R14),%ZMM8 [4] |
0x65ff78 VSUBPS %ZMM3,%ZMM8,%ZMM3 |
0x65ff7e VMOVAPS 0x140(%R14),%ZMM8 [4] |
0x65ff85 VSUBPS %ZMM4,%ZMM8,%ZMM4 |
0x65ff8b VMULPS %ZMM5,%ZMM5,%ZMM5 |
0x65ff91 VMULPS %ZMM6,%ZMM6,%ZMM6 |
0x65ff97 VADDPS %ZMM6,%ZMM5,%ZMM5 |
0x65ff9d VMULPS %ZMM7,%ZMM7,%ZMM6 |
0x65ffa3 VADDPS %ZMM5,%ZMM6,%ZMM5 |
0x65ffa9 VMULPS %ZMM2,%ZMM2,%ZMM2 |
0x65ffaf VMULPS %ZMM3,%ZMM3,%ZMM3 |
0x65ffb5 VADDPS %ZMM3,%ZMM2,%ZMM2 |
0x65ffbb VMULPS %ZMM4,%ZMM4,%ZMM3 |
0x65ffc1 VADDPS %ZMM2,%ZMM3,%ZMM2 |
0x65ffc7 VMOVAPS 0x400(%RSP),%ZMM3 [1] |
0x65ffcf VCMPPS $0x1,%ZMM3,%ZMM5,%K0 |
0x65ffd6 VCMPPS $0x1,%ZMM3,%ZMM2,%K1 |
0x65ffdd KORTESTW %K0,%K1 |
0x65ffe1 SETNE %DIL |
0x65ffe5 ADD $0x22,%EBX |
0x65ffe8 MOV %EBX,%R12D |
0x65ffeb MOV %EDI,%R8D |
0x65ffee AND $0x1,%R8B |
0x65fff2 MOV %R9,%RBX |
0x65fff5 MOV %R8D,%R9D |
0x65fff8 SUB $0x1,%R9B |
0x65fffc MOVSX %R9B,%R9D |
0x660000 ADD %R9D,%EBX |
0x660003 MOV %RBX,%R9 |
0x660006 CMP $0x1,%R8B |
0x66000a JAE 6607c8 |
0x660010 MOV %R12D,%EBX |
0x660013 CMP %ECX,%R9D |
0x660016 JG 65fec0 |
/home/eoseret/gromacs-2024.2/api/legacy/include/gromacs/utility/arrayref.h: 82 - 82 |
-------------------------------------------------------------------------------- |
82: it_ += i; |
/home/eoseret/gromacs-2024.2/src/gromacs/nbnxm/pairlist_simd_2xmm.h: 185 - 229 |
-------------------------------------------------------------------------------- |
185: while (!InRange && jclusterLast > jclusterFirst) |
186: { |
187: const float d2 = clusterBoundingBoxDistance2(bb_ci[0], jGrid.jBoundingBoxes()[jclusterLast]); |
188: *numDistanceChecks += 2; |
[...] |
195: if (d2 < rbb2) |
196: { |
197: InRange = true; |
198: } |
199: else if (d2 < rlist2) |
200: { |
201: const int xind_l = xIndexFromCj<NbnxnLayout::Simd2xNN>( |
202: cjFromCi<NbnxnLayout::Simd2xNN, 0>(jGrid.cellOffset()) + jclusterLast); |
203: |
204: jx_S = loadDuplicateHsimd(x_j + xind_l + 0 * c_xStride2xNN); |
205: jy_S = loadDuplicateHsimd(x_j + xind_l + 1 * c_xStride2xNN); |
206: jz_S = loadDuplicateHsimd(x_j + xind_l + 2 * c_xStride2xNN); |
207: |
208: /* Calculate distance */ |
209: dx_S0 = load<SimdReal>(x_ci_simd + 0 * GMX_SIMD_REAL_WIDTH) - jx_S; |
210: dy_S0 = load<SimdReal>(x_ci_simd + 1 * GMX_SIMD_REAL_WIDTH) - jy_S; |
211: dz_S0 = load<SimdReal>(x_ci_simd + 2 * GMX_SIMD_REAL_WIDTH) - jz_S; |
212: dx_S2 = load<SimdReal>(x_ci_simd + 3 * GMX_SIMD_REAL_WIDTH) - jx_S; |
213: dy_S2 = load<SimdReal>(x_ci_simd + 4 * GMX_SIMD_REAL_WIDTH) - jy_S; |
214: dz_S2 = load<SimdReal>(x_ci_simd + 5 * GMX_SIMD_REAL_WIDTH) - jz_S; |
[...] |
227: *numDistanceChecks += 2 * GMX_SIMD_REAL_WIDTH; |
228: } |
229: if (!InRange) |
/home/eoseret/gromacs-2024.2/src/gromacs/simd/include/gromacs/simd/impl_x86_avx_512/impl_x86_avx_512_simd4_float.h: 128 - 200 |
-------------------------------------------------------------------------------- |
128: return { _mm_sub_ps(a.simdInternal_, b.simdInternal_) }; |
[...] |
176: return { _mm_max_ps(a.simdInternal_, b.simdInternal_) }; |
[...] |
197: c = _mm_mul_ps(a.simdInternal_, b.simdInternal_); |
198: d = _mm_add_ps(c, _mm_permute_ps(c, _MM_SHUFFLE(0, 3, 2, 1))); |
199: d = _mm_add_ps(d, _mm_permute_ps(c, _MM_SHUFFLE(1, 0, 3, 2))); |
200: return *reinterpret_cast<float*>(&d); |
/home/eoseret/gromacs-2024.2/src/gromacs/simd/include/gromacs/simd/impl_x86_avx_512/impl_x86_avx_512_util_float.h: 370 - 370 |
-------------------------------------------------------------------------------- |
370: return { _mm512_castpd_ps(_mm512_broadcast_f64x4(_mm256_load_pd(reinterpret_cast<const double*>(m)))) }; |
/home/eoseret/gromacs-2024.2/src/gromacs/nbnxm/pairlist.cpp: 226 - 376 |
-------------------------------------------------------------------------------- |
226: return cj * STRIDE_P8; |
[...] |
376: const Simd4Float bb_j_S0 = load4(bb_j.lower.ptr()); |
/home/eoseret/gromacs-2024.2/src/gromacs/simd/include/gromacs/simd/impl_x86_avx_512/impl_x86_avx_512_simd_float.h: 181 - 393 |
-------------------------------------------------------------------------------- |
181: return { _mm512_add_ps(a.simdInternal_, b.simdInternal_) }; |
182: } |
183: |
184: static inline SimdFloat gmx_simdcall operator-(SimdFloat a, SimdFloat b) |
185: { |
186: return { _mm512_sub_ps(a.simdInternal_, b.simdInternal_) }; |
[...] |
197: return { _mm512_mul_ps(a.simdInternal_, b.simdInternal_) }; |
[...] |
367: return { _mm512_cmp_ps_mask(a.simdInternal_, b.simdInternal_, _CMP_LT_OQ) }; |
[...] |
393: return (avx512Mask2Int(a.simdInternal_) != 0); |
Coverage (%) | Name | Source Location | Module |
---|---|---|---|
►100.00+ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | PairlistSet::constructPairlist[...] | pairlist.cpp:4066 | libgromacs_mpi.so.9.0.0 |
○ | PairlistSets::construct(gmx::I[...] | pairlist.cpp:4322 | libgromacs_mpi.so.9.0.0 |
○ | nonbonded_verlet_t::constructP[...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | gmx::LegacySimulator::do_md() | md.cpp:1248 | libgromacs_mpi.so.9.0.0 |
○ | gmx::Mdrunner::mdrunner() | runner.cpp:2311 | libgromacs_mpi.so.9.0.0 |
○ | gmx::gmx_mdrun(int, gmx_hw_inf[...] | mdrun.cpp:280 | gmx_mpi |
○ | gmx::gmx_mdrun(int, char**) | mdrun.cpp:82 | gmx_mpi |
○ | gmx::CommandLineModuleManager:[...] | cmdlinemodulemanager.cpp:569 | libgromacs_mpi.so.9.0.0 |
○ | main | gmx.cpp:58 | gmx_mpi |
○ | __libc_start_call_main | libc.so.6 |
Coverage (%) | Name | Source Location | Module |
---|---|---|---|
►89.20+ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | PairlistSet::constructPairlist[...] | pairlist.cpp:4066 | libgromacs_mpi.so.9.0.0 |
○ | PairlistSets::construct(gmx::I[...] | pairlist.cpp:4322 | libgromacs_mpi.so.9.0.0 |
○ | nonbonded_verlet_t::constructP[...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | gmx::LegacySimulator::do_md() | md.cpp:1248 | libgromacs_mpi.so.9.0.0 |
○ | gmx::Mdrunner::mdrunner() | runner.cpp:2311 | libgromacs_mpi.so.9.0.0 |
○ | gmx::gmx_mdrun(int, gmx_hw_inf[...] | mdrun.cpp:280 | gmx_mpi |
○ | gmx::gmx_mdrun(int, char**) | mdrun.cpp:82 | gmx_mpi |
○ | gmx::CommandLineModuleManager:[...] | cmdlinemodulemanager.cpp:569 | libgromacs_mpi.so.9.0.0 |
○ | main | gmx.cpp:58 | gmx_mpi |
○ | __libc_start_call_main | libc.so.6 | |
►10.80+ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | PairlistSet::constructPairlist[...] | pairlist.cpp:4066 | libgromacs_mpi.so.9.0.0 |
○ | PairlistSets::construct(gmx::I[...] | pairlist.cpp:4322 | libgromacs_mpi.so.9.0.0 |
○ | nonbonded_verlet_t::constructP[...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | gmx::LegacySimulator::do_md() | md.cpp:1248 | libgromacs_mpi.so.9.0.0 |
○ | gmx::Mdrunner::mdrunner() | runner.cpp:2311 | libgromacs_mpi.so.9.0.0 |
○ | gmx::gmx_mdrun(int, gmx_hw_inf[...] | mdrun.cpp:280 | gmx_mpi |
○ | gmx::gmx_mdrun(int, char**) | mdrun.cpp:82 | gmx_mpi |
○ | gmx::CommandLineModuleManager:[...] | cmdlinemodulemanager.cpp:569 | libgromacs_mpi.so.9.0.0 |
○ | main | gmx.cpp:58 | gmx_mpi |
○ | __libc_start_call_main | libc.so.6 |
Coverage (%) | Name | Source Location | Module |
---|---|---|---|
►73.16+ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | PairlistSet::constructPairlist[...] | pairlist.cpp:4066 | libgromacs_mpi.so.9.0.0 |
○ | PairlistSets::construct(gmx::I[...] | pairlist.cpp:4322 | libgromacs_mpi.so.9.0.0 |
○ | nonbonded_verlet_t::constructP[...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | gmx::LegacySimulator::do_md() | md.cpp:1248 | libgromacs_mpi.so.9.0.0 |
○ | gmx::Mdrunner::mdrunner() | runner.cpp:2311 | libgromacs_mpi.so.9.0.0 |
○ | gmx::gmx_mdrun(int, gmx_hw_inf[...] | mdrun.cpp:280 | gmx_mpi |
○ | gmx::gmx_mdrun(int, char**) | mdrun.cpp:82 | gmx_mpi |
○ | gmx::CommandLineModuleManager:[...] | cmdlinemodulemanager.cpp:569 | libgromacs_mpi.so.9.0.0 |
○ | main | gmx.cpp:58 | gmx_mpi |
○ | __libc_start_call_main | libc.so.6 | |
►26.84+ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | PairlistSet::constructPairlist[...] | pairlist.cpp:4066 | libgromacs_mpi.so.9.0.0 |
○ | PairlistSets::construct(gmx::I[...] | pairlist.cpp:4322 | libgromacs_mpi.so.9.0.0 |
○ | nonbonded_verlet_t::constructP[...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | gmx::LegacySimulator::do_md() | md.cpp:1248 | libgromacs_mpi.so.9.0.0 |
○ | gmx::Mdrunner::mdrunner() | runner.cpp:2311 | libgromacs_mpi.so.9.0.0 |
○ | gmx::gmx_mdrun(int, gmx_hw_inf[...] | mdrun.cpp:280 | gmx_mpi |
○ | gmx::gmx_mdrun(int, char**) | mdrun.cpp:82 | gmx_mpi |
○ | gmx::CommandLineModuleManager:[...] | cmdlinemodulemanager.cpp:569 | libgromacs_mpi.so.9.0.0 |
○ | main | gmx.cpp:58 | gmx_mpi |
○ | __libc_start_call_main | libc.so.6 |
Coverage (%) | Name | Source Location | Module |
---|---|---|---|
►41.64+ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | PairlistSet::constructPairlist[...] | pairlist.cpp:4066 | libgromacs_mpi.so.9.0.0 |
○ | PairlistSets::construct(gmx::I[...] | pairlist.cpp:4322 | libgromacs_mpi.so.9.0.0 |
○ | nonbonded_verlet_t::constructP[...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | gmx::LegacySimulator::do_md() | md.cpp:1248 | libgromacs_mpi.so.9.0.0 |
○ | gmx::Mdrunner::mdrunner() | runner.cpp:2311 | libgromacs_mpi.so.9.0.0 |
○ | gmx::gmx_mdrun(int, gmx_hw_inf[...] | mdrun.cpp:280 | gmx_mpi |
○ | gmx::gmx_mdrun(int, char**) | mdrun.cpp:82 | gmx_mpi |
○ | gmx::CommandLineModuleManager:[...] | cmdlinemodulemanager.cpp:569 | libgromacs_mpi.so.9.0.0 |
○ | main | gmx.cpp:58 | gmx_mpi |
○ | __libc_start_call_main | libc.so.6 | |
►34.56+ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | PairlistSet::constructPairlist[...] | pairlist.cpp:4066 | libgromacs_mpi.so.9.0.0 |
○ | PairlistSets::construct(gmx::I[...] | pairlist.cpp:4322 | libgromacs_mpi.so.9.0.0 |
○ | nonbonded_verlet_t::constructP[...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | gmx::LegacySimulator::do_md() | md.cpp:1248 | libgromacs_mpi.so.9.0.0 |
○ | gmx::Mdrunner::mdrunner() | runner.cpp:2311 | libgromacs_mpi.so.9.0.0 |
○ | gmx::gmx_mdrun(int, gmx_hw_inf[...] | mdrun.cpp:280 | gmx_mpi |
○ | gmx::gmx_mdrun(int, char**) | mdrun.cpp:82 | gmx_mpi |
○ | gmx::CommandLineModuleManager:[...] | cmdlinemodulemanager.cpp:569 | libgromacs_mpi.so.9.0.0 |
○ | main | gmx.cpp:58 | gmx_mpi |
○ | __libc_start_call_main | libc.so.6 | |
►6.80+ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | PairlistSet::constructPairlist[...] | pairlist.cpp:4066 | libgromacs_mpi.so.9.0.0 |
○ | PairlistSets::construct(gmx::I[...] | pairlist.cpp:4322 | libgromacs_mpi.so.9.0.0 |
○ | nonbonded_verlet_t::constructP[...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | gmx::LegacySimulator::do_md() | md.cpp:1248 | libgromacs_mpi.so.9.0.0 |
○ | gmx::Mdrunner::mdrunner() | runner.cpp:2311 | libgromacs_mpi.so.9.0.0 |
○ | gmx::gmx_mdrun(int, gmx_hw_inf[...] | mdrun.cpp:280 | gmx_mpi |
○ | gmx::gmx_mdrun(int, char**) | mdrun.cpp:82 | gmx_mpi |
○ | gmx::CommandLineModuleManager:[...] | cmdlinemodulemanager.cpp:569 | libgromacs_mpi.so.9.0.0 |
►6.23+ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | PairlistSet::constructPairlist[...] | pairlist.cpp:4066 | libgromacs_mpi.so.9.0.0 |
○ | PairlistSets::construct(gmx::I[...] | pairlist.cpp:4322 | libgromacs_mpi.so.9.0.0 |
○ | nonbonded_verlet_t::constructP[...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | gmx::LegacySimulator::do_md() | md.cpp:1248 | libgromacs_mpi.so.9.0.0 |
○ | gmx::Mdrunner::mdrunner() | runner.cpp:2311 | libgromacs_mpi.so.9.0.0 |
○ | gmx::gmx_mdrun(int, gmx_hw_inf[...] | mdrun.cpp:280 | gmx_mpi |
○ | gmx::gmx_mdrun(int, char**) | mdrun.cpp:82 | gmx_mpi |
○ | gmx::CommandLineModuleManager:[...] | cmdlinemodulemanager.cpp:569 | libgromacs_mpi.so.9.0.0 |
►5.95+ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | PairlistSet::constructPairlist[...] | pairlist.cpp:4066 | libgromacs_mpi.so.9.0.0 |
○ | PairlistSets::construct(gmx::I[...] | pairlist.cpp:4322 | libgromacs_mpi.so.9.0.0 |
○ | nonbonded_verlet_t::constructP[...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | gmx::LegacySimulator::do_md() | md.cpp:1248 | libgromacs_mpi.so.9.0.0 |
○ | gmx::Mdrunner::mdrunner() | runner.cpp:2311 | libgromacs_mpi.so.9.0.0 |
○ | gmx::gmx_mdrun(int, gmx_hw_inf[...] | mdrun.cpp:280 | gmx_mpi |
○ | gmx::gmx_mdrun(int, char**) | mdrun.cpp:82 | gmx_mpi |
○ | gmx::CommandLineModuleManager:[...] | cmdlinemodulemanager.cpp:569 | libgromacs_mpi.so.9.0.0 |
○ | main | gmx.cpp:58 | gmx_mpi |
►4.82+ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | PairlistSet::constructPairlist[...] | pairlist.cpp:4066 | libgromacs_mpi.so.9.0.0 |
○ | PairlistSets::construct(gmx::I[...] | pairlist.cpp:4322 | libgromacs_mpi.so.9.0.0 |
○ | nonbonded_verlet_t::constructP[...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | gmx::LegacySimulator::do_md() | md.cpp:1248 | libgromacs_mpi.so.9.0.0 |
○ | gmx::Mdrunner::mdrunner() | runner.cpp:2311 | libgromacs_mpi.so.9.0.0 |
○ | gmx::gmx_mdrun(int, gmx_hw_inf[...] | mdrun.cpp:280 | gmx_mpi |
○ | gmx::gmx_mdrun(int, char**) | mdrun.cpp:82 | gmx_mpi |
○ | gmx::CommandLineModuleManager:[...] | cmdlinemodulemanager.cpp:569 | libgromacs_mpi.so.9.0.0 |
○ | main | gmx.cpp:58 | gmx_mpi |
Coverage (%) | Name | Source Location | Module |
---|---|---|---|
►47.56+ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | PairlistSet::constructPairlist[...] | pairlist.cpp:4066 | libgromacs_mpi.so.9.0.0 |
○ | PairlistSets::construct(gmx::I[...] | pairlist.cpp:4322 | libgromacs_mpi.so.9.0.0 |
○ | nonbonded_verlet_t::constructP[...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | gmx::LegacySimulator::do_md() | md.cpp:1248 | libgromacs_mpi.so.9.0.0 |
○ | gmx::Mdrunner::mdrunner() | runner.cpp:2311 | libgromacs_mpi.so.9.0.0 |
○ | gmx::gmx_mdrun(int, gmx_hw_inf[...] | mdrun.cpp:280 | gmx_mpi |
○ | gmx::gmx_mdrun(int, char**) | mdrun.cpp:82 | gmx_mpi |
○ | gmx::CommandLineModuleManager:[...] | cmdlinemodulemanager.cpp:569 | libgromacs_mpi.so.9.0.0 |
○ | main | gmx.cpp:58 | gmx_mpi |
○ | __libc_start_call_main | libc.so.6 | |
►30.67+ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | PairlistSet::constructPairlist[...] | pairlist.cpp:4066 | libgromacs_mpi.so.9.0.0 |
○ | PairlistSets::construct(gmx::I[...] | pairlist.cpp:4322 | libgromacs_mpi.so.9.0.0 |
○ | nonbonded_verlet_t::constructP[...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | gmx::LegacySimulator::do_md() | md.cpp:1248 | libgromacs_mpi.so.9.0.0 |
○ | gmx::Mdrunner::mdrunner() | runner.cpp:2311 | libgromacs_mpi.so.9.0.0 |
○ | gmx::gmx_mdrun(int, gmx_hw_inf[...] | mdrun.cpp:280 | gmx_mpi |
○ | gmx::gmx_mdrun(int, char**) | mdrun.cpp:82 | gmx_mpi |
○ | gmx::CommandLineModuleManager:[...] | cmdlinemodulemanager.cpp:569 | libgromacs_mpi.so.9.0.0 |
○ | main | gmx.cpp:58 | gmx_mpi |
○ | __libc_start_call_main | libc.so.6 | |
►9.56+ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | PairlistSet::constructPairlist[...] | pairlist.cpp:4066 | libgromacs_mpi.so.9.0.0 |
○ | PairlistSets::construct(gmx::I[...] | pairlist.cpp:4322 | libgromacs_mpi.so.9.0.0 |
○ | nonbonded_verlet_t::constructP[...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | gmx::LegacySimulator::do_md() | md.cpp:1248 | libgromacs_mpi.so.9.0.0 |
○ | gmx::Mdrunner::mdrunner() | runner.cpp:2311 | libgromacs_mpi.so.9.0.0 |
○ | gmx::gmx_mdrun(int, gmx_hw_inf[...] | mdrun.cpp:280 | gmx_mpi |
○ | gmx::gmx_mdrun(int, char**) | mdrun.cpp:82 | gmx_mpi |
○ | gmx::CommandLineModuleManager:[...] | cmdlinemodulemanager.cpp:569 | libgromacs_mpi.so.9.0.0 |
►6.44+ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | PairlistSet::constructPairlist[...] | pairlist.cpp:4066 | libgromacs_mpi.so.9.0.0 |
○ | PairlistSets::construct(gmx::I[...] | pairlist.cpp:4322 | libgromacs_mpi.so.9.0.0 |
○ | nonbonded_verlet_t::constructP[...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | gmx::LegacySimulator::do_md() | md.cpp:1248 | libgromacs_mpi.so.9.0.0 |
○ | gmx::Mdrunner::mdrunner() | runner.cpp:2311 | libgromacs_mpi.so.9.0.0 |
○ | gmx::gmx_mdrun(int, gmx_hw_inf[...] | mdrun.cpp:280 | gmx_mpi |
○ | gmx::gmx_mdrun(int, char**) | mdrun.cpp:82 | gmx_mpi |
○ | gmx::CommandLineModuleManager:[...] | cmdlinemodulemanager.cpp:569 | libgromacs_mpi.so.9.0.0 |
►3.56+ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | PairlistSet::constructPairlist[...] | pairlist.cpp:4066 | libgromacs_mpi.so.9.0.0 |
○ | PairlistSets::construct(gmx::I[...] | pairlist.cpp:4322 | libgromacs_mpi.so.9.0.0 |
○ | nonbonded_verlet_t::constructP[...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | gmx::LegacySimulator::do_md() | md.cpp:1248 | libgromacs_mpi.so.9.0.0 |
○ | gmx::Mdrunner::mdrunner() | runner.cpp:2311 | libgromacs_mpi.so.9.0.0 |
○ | gmx::gmx_mdrun(int, gmx_hw_inf[...] | mdrun.cpp:280 | gmx_mpi |
►2.22+ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | PairlistSet::constructPairlist[...] | pairlist.cpp:4066 | libgromacs_mpi.so.9.0.0 |
○ | PairlistSets::construct(gmx::I[...] | pairlist.cpp:4322 | libgromacs_mpi.so.9.0.0 |
○ | nonbonded_verlet_t::constructP[...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | gmx::LegacySimulator::do_md() | md.cpp:1248 | libgromacs_mpi.so.9.0.0 |
○ | gmx::Mdrunner::mdrunner() | runner.cpp:2311 | libgromacs_mpi.so.9.0.0 |
○ | gmx::gmx_mdrun(int, gmx_hw_inf[...] | mdrun.cpp:280 | gmx_mpi |
Coverage (%) | Name | Source Location | Module |
---|---|---|---|
►43.00+ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | PairlistSet::constructPairlist[...] | pairlist.cpp:4066 | libgromacs_mpi.so.9.0.0 |
○ | PairlistSets::construct(gmx::I[...] | pairlist.cpp:4322 | libgromacs_mpi.so.9.0.0 |
○ | nonbonded_verlet_t::constructP[...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | gmx::LegacySimulator::do_md() | md.cpp:1248 | libgromacs_mpi.so.9.0.0 |
○ | gmx::Mdrunner::mdrunner() | runner.cpp:2311 | libgromacs_mpi.so.9.0.0 |
○ | gmx::gmx_mdrun(int, gmx_hw_inf[...] | mdrun.cpp:280 | gmx_mpi |
○ | gmx::gmx_mdrun(int, char**) | mdrun.cpp:82 | gmx_mpi |
○ | gmx::CommandLineModuleManager:[...] | cmdlinemodulemanager.cpp:569 | libgromacs_mpi.so.9.0.0 |
○ | main | gmx.cpp:58 | gmx_mpi |
○ | __libc_start_call_main | libc.so.6 | |
►36.39+ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | PairlistSet::constructPairlist[...] | pairlist.cpp:4066 | libgromacs_mpi.so.9.0.0 |
○ | PairlistSets::construct(gmx::I[...] | pairlist.cpp:4322 | libgromacs_mpi.so.9.0.0 |
○ | nonbonded_verlet_t::constructP[...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | gmx::LegacySimulator::do_md() | md.cpp:1248 | libgromacs_mpi.so.9.0.0 |
○ | gmx::Mdrunner::mdrunner() | runner.cpp:2311 | libgromacs_mpi.so.9.0.0 |
○ | gmx::gmx_mdrun(int, gmx_hw_inf[...] | mdrun.cpp:280 | gmx_mpi |
○ | gmx::gmx_mdrun(int, char**) | mdrun.cpp:82 | gmx_mpi |
○ | gmx::CommandLineModuleManager:[...] | cmdlinemodulemanager.cpp:569 | libgromacs_mpi.so.9.0.0 |
○ | main | gmx.cpp:58 | gmx_mpi |
○ | __libc_start_call_main | libc.so.6 | |
►8.40+ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | PairlistSet::constructPairlist[...] | pairlist.cpp:4066 | libgromacs_mpi.so.9.0.0 |
○ | PairlistSets::construct(gmx::I[...] | pairlist.cpp:4322 | libgromacs_mpi.so.9.0.0 |
○ | nonbonded_verlet_t::constructP[...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | gmx::LegacySimulator::do_md() | md.cpp:1248 | libgromacs_mpi.so.9.0.0 |
○ | gmx::Mdrunner::mdrunner() | runner.cpp:2311 | libgromacs_mpi.so.9.0.0 |
○ | gmx::gmx_mdrun(int, gmx_hw_inf[...] | mdrun.cpp:280 | gmx_mpi |
►7.63+ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | PairlistSet::constructPairlist[...] | pairlist.cpp:4066 | libgromacs_mpi.so.9.0.0 |
○ | PairlistSets::construct(gmx::I[...] | pairlist.cpp:4322 | libgromacs_mpi.so.9.0.0 |
○ | nonbonded_verlet_t::constructP[...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | gmx::LegacySimulator::do_md() | md.cpp:1248 | libgromacs_mpi.so.9.0.0 |
○ | gmx::Mdrunner::mdrunner() | runner.cpp:2311 | libgromacs_mpi.so.9.0.0 |
○ | gmx::gmx_mdrun(int, gmx_hw_inf[...] | mdrun.cpp:280 | gmx_mpi |
►2.80+ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | PairlistSet::constructPairlist[...] | pairlist.cpp:4066 | libgromacs_mpi.so.9.0.0 |
○ | PairlistSets::construct(gmx::I[...] | pairlist.cpp:4322 | libgromacs_mpi.so.9.0.0 |
○ | nonbonded_verlet_t::constructP[...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | gmx::LegacySimulator::do_md() | md.cpp:1248 | libgromacs_mpi.so.9.0.0 |
○ | gmx::Mdrunner::mdrunner() | runner.cpp:2311 | libgromacs_mpi.so.9.0.0 |
○ | gmx::gmx_mdrun(int, gmx_hw_inf[...] | mdrun.cpp:280 | gmx_mpi |
○ | gmx::gmx_mdrun(int, char**) | mdrun.cpp:82 | gmx_mpi |
○ | gmx::CommandLineModuleManager:[...] | cmdlinemodulemanager.cpp:569 | libgromacs_mpi.so.9.0.0 |
○ | main | gmx.cpp:58 | gmx_mpi |
►1.78+ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | PairlistSet::constructPairlist[...] | pairlist.cpp:4066 | libgromacs_mpi.so.9.0.0 |
○ | PairlistSets::construct(gmx::I[...] | pairlist.cpp:4322 | libgromacs_mpi.so.9.0.0 |
○ | nonbonded_verlet_t::constructP[...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | gmx::LegacySimulator::do_md() | md.cpp:1248 | libgromacs_mpi.so.9.0.0 |
○ | gmx::Mdrunner::mdrunner() | runner.cpp:2311 | libgromacs_mpi.so.9.0.0 |
○ | gmx::gmx_mdrun(int, gmx_hw_inf[...] | mdrun.cpp:280 | gmx_mpi |
○ | gmx::gmx_mdrun(int, char**) | mdrun.cpp:82 | gmx_mpi |
○ | gmx::CommandLineModuleManager:[...] | cmdlinemodulemanager.cpp:569 | libgromacs_mpi.so.9.0.0 |
○ | main | gmx.cpp:58 | gmx_mpi |
Coverage (%) | Name | Source Location | Module |
---|---|---|---|
►56.09+ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | PairlistSet::constructPairlist[...] | pairlist.cpp:4066 | libgromacs_mpi.so.9.0.0 |
○ | PairlistSets::construct(gmx::I[...] | pairlist.cpp:4322 | libgromacs_mpi.so.9.0.0 |
○ | nonbonded_verlet_t::constructP[...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | gmx::LegacySimulator::do_md() | md.cpp:1248 | libgromacs_mpi.so.9.0.0 |
○ | gmx::Mdrunner::mdrunner() | runner.cpp:2311 | libgromacs_mpi.so.9.0.0 |
○ | gmx::gmx_mdrun(int, gmx_hw_inf[...] | mdrun.cpp:280 | gmx_mpi |
○ | gmx::gmx_mdrun(int, char**) | mdrun.cpp:82 | gmx_mpi |
○ | gmx::CommandLineModuleManager:[...] | cmdlinemodulemanager.cpp:569 | libgromacs_mpi.so.9.0.0 |
○ | main | gmx.cpp:58 | gmx_mpi |
○ | __libc_start_call_main | libc.so.6 | |
►42.80+ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | PairlistSet::constructPairlist[...] | pairlist.cpp:4066 | libgromacs_mpi.so.9.0.0 |
○ | PairlistSets::construct(gmx::I[...] | pairlist.cpp:4322 | libgromacs_mpi.so.9.0.0 |
○ | nonbonded_verlet_t::constructP[...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | gmx::LegacySimulator::do_md() | md.cpp:1248 | libgromacs_mpi.so.9.0.0 |
○ | gmx::Mdrunner::mdrunner() | runner.cpp:2311 | libgromacs_mpi.so.9.0.0 |
○ | gmx::gmx_mdrun(int, gmx_hw_inf[...] | mdrun.cpp:280 | gmx_mpi |
○ | gmx::gmx_mdrun(int, char**) | mdrun.cpp:82 | gmx_mpi |
○ | gmx::CommandLineModuleManager:[...] | cmdlinemodulemanager.cpp:569 | libgromacs_mpi.so.9.0.0 |
○ | main | gmx.cpp:58 | gmx_mpi |
○ | __libc_start_call_main | libc.so.6 |
Coverage (%) | Name | Source Location | Module |
---|---|---|---|
►54.42+ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | PairlistSet::constructPairlist[...] | pairlist.cpp:4066 | libgromacs_mpi.so.9.0.0 |
○ | PairlistSets::construct(gmx::I[...] | pairlist.cpp:4322 | libgromacs_mpi.so.9.0.0 |
○ | nonbonded_verlet_t::constructP[...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | gmx::LegacySimulator::do_md() | md.cpp:1248 | libgromacs_mpi.so.9.0.0 |
○ | gmx::Mdrunner::mdrunner() | runner.cpp:2311 | libgromacs_mpi.so.9.0.0 |
○ | gmx::gmx_mdrun(int, gmx_hw_inf[...] | mdrun.cpp:280 | gmx_mpi |
○ | gmx::gmx_mdrun(int, char**) | mdrun.cpp:82 | gmx_mpi |
○ | gmx::CommandLineModuleManager:[...] | cmdlinemodulemanager.cpp:569 | libgromacs_mpi.so.9.0.0 |
○ | main | gmx.cpp:58 | gmx_mpi |
○ | __libc_start_call_main | libc.so.6 | |
►26.11+ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | PairlistSet::constructPairlist[...] | pairlist.cpp:4066 | libgromacs_mpi.so.9.0.0 |
○ | PairlistSets::construct(gmx::I[...] | pairlist.cpp:4322 | libgromacs_mpi.so.9.0.0 |
○ | nonbonded_verlet_t::constructP[...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | gmx::LegacySimulator::do_md() | md.cpp:1248 | libgromacs_mpi.so.9.0.0 |
○ | gmx::Mdrunner::mdrunner() | runner.cpp:2311 | libgromacs_mpi.so.9.0.0 |
○ | gmx::gmx_mdrun(int, gmx_hw_inf[...] | mdrun.cpp:280 | gmx_mpi |
○ | gmx::gmx_mdrun(int, char**) | mdrun.cpp:82 | gmx_mpi |
○ | gmx::CommandLineModuleManager:[...] | cmdlinemodulemanager.cpp:569 | libgromacs_mpi.so.9.0.0 |
○ | main | gmx.cpp:58 | gmx_mpi |
○ | __libc_start_call_main | libc.so.6 | |
►7.96+ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | PairlistSet::constructPairlist[...] | pairlist.cpp:4066 | libgromacs_mpi.so.9.0.0 |
○ | PairlistSets::construct(gmx::I[...] | pairlist.cpp:4322 | libgromacs_mpi.so.9.0.0 |
○ | nonbonded_verlet_t::constructP[...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | gmx::LegacySimulator::do_md() | md.cpp:1248 | libgromacs_mpi.so.9.0.0 |
○ | gmx::Mdrunner::mdrunner() | runner.cpp:2311 | libgromacs_mpi.so.9.0.0 |
○ | gmx::gmx_mdrun(int, gmx_hw_inf[...] | mdrun.cpp:280 | gmx_mpi |
○ | gmx::gmx_mdrun(int, char**) | mdrun.cpp:82 | gmx_mpi |
○ | gmx::CommandLineModuleManager:[...] | cmdlinemodulemanager.cpp:569 | libgromacs_mpi.so.9.0.0 |
►4.20+ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | PairlistSet::constructPairlist[...] | pairlist.cpp:4066 | libgromacs_mpi.so.9.0.0 |
○ | PairlistSets::construct(gmx::I[...] | pairlist.cpp:4322 | libgromacs_mpi.so.9.0.0 |
○ | nonbonded_verlet_t::constructP[...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | gmx::LegacySimulator::do_md() | md.cpp:1248 | libgromacs_mpi.so.9.0.0 |
○ | gmx::Mdrunner::mdrunner() | runner.cpp:2311 | libgromacs_mpi.so.9.0.0 |
○ | gmx::gmx_mdrun(int, gmx_hw_inf[...] | mdrun.cpp:280 | gmx_mpi |
○ | gmx::gmx_mdrun(int, char**) | mdrun.cpp:82 | gmx_mpi |
○ | gmx::CommandLineModuleManager:[...] | cmdlinemodulemanager.cpp:569 | libgromacs_mpi.so.9.0.0 |
►3.10+ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | PairlistSet::constructPairlist[...] | pairlist.cpp:4066 | libgromacs_mpi.so.9.0.0 |
○ | PairlistSets::construct(gmx::I[...] | pairlist.cpp:4322 | libgromacs_mpi.so.9.0.0 |
○ | nonbonded_verlet_t::constructP[...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | gmx::LegacySimulator::do_md() | md.cpp:1248 | libgromacs_mpi.so.9.0.0 |
○ | gmx::Mdrunner::mdrunner() | runner.cpp:2311 | libgromacs_mpi.so.9.0.0 |
○ | gmx::gmx_mdrun(int, gmx_hw_inf[...] | mdrun.cpp:280 | gmx_mpi |
►2.65+ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | PairlistSet::constructPairlist[...] | pairlist.cpp:4066 | libgromacs_mpi.so.9.0.0 |
○ | PairlistSets::construct(gmx::I[...] | pairlist.cpp:4322 | libgromacs_mpi.so.9.0.0 |
○ | nonbonded_verlet_t::constructP[...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | gmx::LegacySimulator::do_md() | md.cpp:1248 | libgromacs_mpi.so.9.0.0 |
○ | gmx::Mdrunner::mdrunner() | runner.cpp:2311 | libgromacs_mpi.so.9.0.0 |
○ | gmx::gmx_mdrun(int, gmx_hw_inf[...] | mdrun.cpp:280 | gmx_mpi |
○ | gmx::gmx_mdrun(int, char**) | mdrun.cpp:82 | gmx_mpi |
○ | gmx::CommandLineModuleManager:[...] | cmdlinemodulemanager.cpp:569 | libgromacs_mpi.so.9.0.0 |
○ | main | gmx.cpp:58 | gmx_mpi |
►1.11+ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | PairlistSet::constructPairlist[...] | pairlist.cpp:4066 | libgromacs_mpi.so.9.0.0 |
○ | PairlistSets::construct(gmx::I[...] | pairlist.cpp:4322 | libgromacs_mpi.so.9.0.0 |
○ | nonbonded_verlet_t::constructP[...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | gmx::LegacySimulator::do_md() | md.cpp:1248 | libgromacs_mpi.so.9.0.0 |
○ | gmx::Mdrunner::mdrunner() | runner.cpp:2311 | libgromacs_mpi.so.9.0.0 |
○ | gmx::gmx_mdrun(int, gmx_hw_inf[...] | mdrun.cpp:280 | gmx_mpi |
Coverage (%) | Name | Source Location | Module |
---|---|---|---|
►75.49+ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | PairlistSet::constructPairlist[...] | pairlist.cpp:4066 | libgromacs_mpi.so.9.0.0 |
○ | PairlistSets::construct(gmx::I[...] | pairlist.cpp:4322 | libgromacs_mpi.so.9.0.0 |
○ | nonbonded_verlet_t::constructP[...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | gmx::LegacySimulator::do_md() | md.cpp:1248 | libgromacs_mpi.so.9.0.0 |
○ | gmx::Mdrunner::mdrunner() | runner.cpp:2311 | libgromacs_mpi.so.9.0.0 |
○ | gmx::gmx_mdrun(int, gmx_hw_inf[...] | mdrun.cpp:280 | gmx_mpi |
○ | gmx::gmx_mdrun(int, char**) | mdrun.cpp:82 | gmx_mpi |
○ | gmx::CommandLineModuleManager:[...] | cmdlinemodulemanager.cpp:569 | libgromacs_mpi.so.9.0.0 |
○ | main | gmx.cpp:58 | gmx_mpi |
○ | __libc_start_call_main | libc.so.6 | |
►24.51+ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | PairlistSet::constructPairlist[...] | pairlist.cpp:4066 | libgromacs_mpi.so.9.0.0 |
○ | PairlistSets::construct(gmx::I[...] | pairlist.cpp:4322 | libgromacs_mpi.so.9.0.0 |
○ | nonbonded_verlet_t::constructP[...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | unique_ptr.h:173 | libgromacs_mpi.so.9.0.0 |
○ | gmx::LegacySimulator::do_md() | md.cpp:1248 | libgromacs_mpi.so.9.0.0 |
○ | gmx::Mdrunner::mdrunner() | runner.cpp:2311 | libgromacs_mpi.so.9.0.0 |
○ | gmx::gmx_mdrun(int, gmx_hw_inf[...] | mdrun.cpp:280 | gmx_mpi |
○ | gmx::gmx_mdrun(int, char**) | mdrun.cpp:82 | gmx_mpi |
○ | gmx::CommandLineModuleManager:[...] | cmdlinemodulemanager.cpp:569 | libgromacs_mpi.so.9.0.0 |
○ | main | gmx.cpp:58 | gmx_mpi |
○ | __libc_start_call_main | libc.so.6 |
Path / |
Metric | Value |
---|---|
CQA speedup if no scalar integer | 1.15 |
CQA speedup if FP arith vectorized | 1.34 |
CQA speedup if fully vectorized | 1.79 |
CQA speedup if no inter-iteration dependency | NA |
CQA speedup if next bottleneck killed | 1.31 |
Bottlenecks | |
Function | .omp_outlined..9#0x65dd70 |
Source | arrayref.h:82-82,pairlist_simd_2xmm.h:185-188,pairlist_simd_2xmm.h:195-214,pairlist_simd_2xmm.h:227-229,impl_x86_avx_512_simd4_float.h:128-128,impl_x86_avx_512_simd4_float.h:176-176,impl_x86_avx_512_simd4_float.h:197-200,impl_x86_avx_512_util_float.h:370-370,pairlist.cpp:226-226,pairlist.cpp:376-376,impl_x86_avx_512_simd_float.h:181-186,impl_x86_avx_512_simd_float.h:197-197,impl_x86_avx_512_simd_float.h:367-367,impl_x86_avx_512_simd_float.h:393-393 |
Source loop unroll info | not unrolled or unrolled with no peel/tail loop |
Source loop unroll confidence level | max |
Unroll/vectorization loop type | NA |
Unroll factor | NA |
CQA cycles | 8.22 |
CQA cycles if no scalar integer | 7.17 |
CQA cycles if FP arith vectorized | 6.13 |
CQA cycles if fully vectorized | 4.59 |
Front-end cycles | 7.17 |
P0 cycles | 3.08 |
P1 cycles | 3.08 |
P2 cycles | 3.08 |
P3 cycles | 3.08 |
P4 cycles | 2.00 |
P5 cycles | 2.89 |
P6 cycles | 2.89 |
P7 cycles | 2.89 |
P8 cycles | 3.83 |
P9 cycles | 4.83 |
P10 cycles | 7.33 |
P11 cycles | 7.33 |
P12 cycles | 1.00 |
P13 cycles | 1.00 |
DIV/SQRT cycles | 0.00 |
Inter-iter dependencies cycles | 1 |
FE+BE cycles (UFS) | NA |
Stall cycles (UFS) | NA |
Nb insns | 42.00 |
Nb uops | 43.00 |
Nb loads | 6.33 |
Nb stores | 0.00 |
Nb stack references | 0.33 |
FLOP/cycle | 12.08 |
Nb FLOP add-sub | 63.33 |
Nb FLOP mul | 36.00 |
Nb FLOP fma | 0.00 |
Nb FLOP div | 0.00 |
Nb FLOP rcp | 0.00 |
Nb FLOP sqrt | 0.00 |
Nb FLOP rsqrt | 0.00 |
Bytes/cycle | 19.91 |
Bytes prefetched | 0.00 |
Bytes loaded | 229.33 |
Bytes stored | 0.00 |
Stride 0 | 1.67 |
Stride 1 | 0.00 |
Stride n | 0.33 |
Stride unknown | 1.00 |
Stride indirect | 0.00 |
Vectorization ratio all | 75.73 |
Vectorization ratio load | 100.00 |
Vectorization ratio store | NA |
Vectorization ratio mul | 100.00 |
Vectorization ratio add_sub | 61.90 |
Vectorization ratio fma | NA |
Vectorization ratio div_sqrt | NA |
Vectorization ratio other | 73.89 |
Vector-efficiency ratio all | 35.48 |
Vector-efficiency ratio load | 40.38 |
Vector-efficiency ratio store | NA |
Vector-efficiency ratio mul | 46.43 |
Vector-efficiency ratio add_sub | 35.71 |
Vector-efficiency ratio fma | NA |
Vector-efficiency ratio div_sqrt | NA |
Vector-efficiency ratio other | 24.48 |
Metric | Value |
---|---|
CQA speedup if no scalar integer | 1.43 |
CQA speedup if FP arith vectorized | 2.35 |
CQA speedup if fully vectorized | 5.52 |
CQA speedup if no inter-iteration dependency | NA |
CQA speedup if next bottleneck killed | 1.43 |
Bottlenecks | micro-operation queue, |
Function | .omp_outlined..9#0x65dd70 |
Source | arrayref.h:82-82,pairlist_simd_2xmm.h:185-188,pairlist_simd_2xmm.h:195-214,pairlist_simd_2xmm.h:227-229,impl_x86_avx_512_simd4_float.h:128-128,impl_x86_avx_512_simd4_float.h:176-176,impl_x86_avx_512_simd4_float.h:197-200,impl_x86_avx_512_util_float.h:370-370,pairlist.cpp:226-226,pairlist.cpp:376-376,impl_x86_avx_512_simd_float.h:181-186,impl_x86_avx_512_simd_float.h:197-197,impl_x86_avx_512_simd_float.h:367-367,impl_x86_avx_512_simd_float.h:393-393 |
Source loop unroll info | not unrolled or unrolled with no peel/tail loop |
Source loop unroll confidence level | max |
Unroll/vectorization loop type | NA |
Unroll factor | NA |
CQA cycles | 5.00 |
CQA cycles if no scalar integer | 3.50 |
CQA cycles if FP arith vectorized | 2.13 |
CQA cycles if fully vectorized | 0.91 |
Front-end cycles | 5.00 |
P0 cycles | 2.75 |
P1 cycles | 2.75 |
P2 cycles | 2.75 |
P3 cycles | 2.75 |
P4 cycles | 2.00 |
P5 cycles | 1.00 |
P6 cycles | 1.00 |
P7 cycles | 1.00 |
P8 cycles | 0.50 |
P9 cycles | 2.50 |
P10 cycles | 3.50 |
P11 cycles | 3.50 |
P12 cycles | 0.50 |
P13 cycles | 0.50 |
DIV/SQRT cycles | 0.00 |
Inter-iter dependencies cycles | 1 |
FE+BE cycles (UFS) | NA |
Stall cycles (UFS) | NA |
Nb insns | 30.00 |
Nb uops | 30.00 |
Nb loads | 3.00 |
Nb stores | 0.00 |
Nb stack references | 0.00 |
FLOP/cycle | 2.80 |
Nb FLOP add-sub | 10.00 |
Nb FLOP mul | 4.00 |
Nb FLOP fma | 0.00 |
Nb FLOP div | 0.00 |
Nb FLOP rcp | 0.00 |
Nb FLOP sqrt | 0.00 |
Nb FLOP rsqrt | 0.00 |
Bytes/cycle | 9.60 |
Bytes prefetched | 0.00 |
Bytes loaded | 48.00 |
Bytes stored | 0.00 |
Stride 0 | 1.00 |
Stride 1 | 0.00 |
Stride n | 0.00 |
Stride unknown | 1.00 |
Stride indirect | 0.00 |
Vectorization ratio all | 72.73 |
Vectorization ratio load | 100.00 |
Vectorization ratio store | NA |
Vectorization ratio mul | 100.00 |
Vectorization ratio add_sub | 50.00 |
Vectorization ratio fma | NA |
Vectorization ratio div_sqrt | NA |
Vectorization ratio other | 80.00 |
Vector-efficiency ratio all | 18.75 |
Vector-efficiency ratio load | 25.00 |
Vector-efficiency ratio store | NA |
Vector-efficiency ratio mul | 25.00 |
Vector-efficiency ratio add_sub | 15.63 |
Vector-efficiency ratio fma | NA |
Vector-efficiency ratio div_sqrt | NA |
Vector-efficiency ratio other | 18.75 |
Metric | Value |
---|---|
CQA speedup if no scalar integer | 1.04 |
CQA speedup if FP arith vectorized | 1.06 |
CQA speedup if fully vectorized | 1.21 |
CQA speedup if no inter-iteration dependency | NA |
CQA speedup if next bottleneck killed | 1.28 |
Bottlenecks | P10, P11, |
Function | .omp_outlined..9#0x65dd70 |
Source | arrayref.h:82-82,pairlist_simd_2xmm.h:185-188,pairlist_simd_2xmm.h:195-214,pairlist_simd_2xmm.h:227-229,impl_x86_avx_512_simd4_float.h:128-128,impl_x86_avx_512_simd4_float.h:176-176,impl_x86_avx_512_simd4_float.h:197-200,impl_x86_avx_512_util_float.h:370-370,pairlist.cpp:226-226,pairlist.cpp:376-376,impl_x86_avx_512_simd_float.h:181-186,impl_x86_avx_512_simd_float.h:197-197,impl_x86_avx_512_simd_float.h:367-367,impl_x86_avx_512_simd_float.h:393-393 |
Source loop unroll info | not unrolled or unrolled with no peel/tail loop |
Source loop unroll confidence level | max |
Unroll/vectorization loop type | NA |
Unroll factor | NA |
CQA cycles | 14.50 |
CQA cycles if no scalar integer | 14.00 |
CQA cycles if FP arith vectorized | 13.63 |
CQA cycles if fully vectorized | 11.94 |
Front-end cycles | 11.33 |
P0 cycles | 4.00 |
P1 cycles | 4.00 |
P2 cycles | 4.00 |
P3 cycles | 4.00 |
P4 cycles | 2.00 |
P5 cycles | 6.67 |
P6 cycles | 6.67 |
P7 cycles | 6.67 |
P8 cycles | 10.50 |
P9 cycles | 9.50 |
P10 cycles | 14.50 |
P11 cycles | 14.50 |
P12 cycles | 1.50 |
P13 cycles | 1.50 |
DIV/SQRT cycles | 0.00 |
Inter-iter dependencies cycles | 1 |
FE+BE cycles (UFS) | NA |
Stall cycles (UFS) | NA |
Nb insns | 66.00 |
Nb uops | 68.00 |
Nb loads | 13.00 |
Nb stores | 0.00 |
Nb stack references | 1.00 |
FLOP/cycle | 18.62 |
Nb FLOP add-sub | 170.00 |
Nb FLOP mul | 100.00 |
Nb FLOP fma | 0.00 |
Nb FLOP div | 0.00 |
Nb FLOP rcp | 0.00 |
Nb FLOP sqrt | 0.00 |
Nb FLOP rsqrt | 0.00 |
Bytes/cycle | 40.83 |
Bytes prefetched | 0.00 |
Bytes loaded | 592.00 |
Bytes stored | 0.00 |
Stride 0 | 3.00 |
Stride 1 | 0.00 |
Stride n | 1.00 |
Stride unknown | 1.00 |
Stride indirect | 0.00 |
Vectorization ratio all | 87.80 |
Vectorization ratio load | 100.00 |
Vectorization ratio store | NA |
Vectorization ratio mul | 100.00 |
Vectorization ratio add_sub | 85.71 |
Vectorization ratio fma | NA |
Vectorization ratio div_sqrt | NA |
Vectorization ratio other | 75.00 |
Vector-efficiency ratio all | 69.97 |
Vector-efficiency ratio load | 71.15 |
Vector-efficiency ratio store | NA |
Vector-efficiency ratio mul | 89.29 |
Vector-efficiency ratio add_sub | 75.89 |
Vector-efficiency ratio fma | NA |
Vector-efficiency ratio div_sqrt | NA |
Vector-efficiency ratio other | 38.02 |
Metric | Value |
---|---|
CQA speedup if no scalar integer | 1.29 |
CQA speedup if FP arith vectorized | 1.97 |
CQA speedup if fully vectorized | 5.51 |
CQA speedup if no inter-iteration dependency | NA |
CQA speedup if next bottleneck killed | 1.29 |
Bottlenecks | micro-operation queue, |
Function | .omp_outlined..9#0x65dd70 |
Source | arrayref.h:82-82,pairlist_simd_2xmm.h:185-188,pairlist_simd_2xmm.h:195-214,pairlist_simd_2xmm.h:227-229,impl_x86_avx_512_simd4_float.h:128-128,impl_x86_avx_512_simd4_float.h:176-176,impl_x86_avx_512_simd4_float.h:197-200,impl_x86_avx_512_util_float.h:370-370,pairlist.cpp:226-226,pairlist.cpp:376-376,impl_x86_avx_512_simd_float.h:181-186,impl_x86_avx_512_simd_float.h:197-197,impl_x86_avx_512_simd_float.h:367-367,impl_x86_avx_512_simd_float.h:393-393 |
Source loop unroll info | not unrolled or unrolled with no peel/tail loop |
Source loop unroll confidence level | max |
Unroll/vectorization loop type | NA |
Unroll factor | NA |
CQA cycles | 5.17 |
CQA cycles if no scalar integer | 4.00 |
CQA cycles if FP arith vectorized | 2.63 |
CQA cycles if fully vectorized | 0.94 |
Front-end cycles | 5.17 |
P0 cycles | 2.50 |
P1 cycles | 2.50 |
P2 cycles | 2.50 |
P3 cycles | 2.50 |
P4 cycles | 2.00 |
P5 cycles | 1.00 |
P6 cycles | 1.00 |
P7 cycles | 1.00 |
P8 cycles | 0.50 |
P9 cycles | 2.50 |
P10 cycles | 4.00 |
P11 cycles | 4.00 |
P12 cycles | 1.00 |
P13 cycles | 1.00 |
DIV/SQRT cycles | 0.00 |
Inter-iter dependencies cycles | 1 |
FE+BE cycles (UFS) | NA |
Stall cycles (UFS) | NA |
Nb insns | 30.00 |
Nb uops | 31.00 |
Nb loads | 3.00 |
Nb stores | 0.00 |
Nb stack references | 0.00 |
FLOP/cycle | 2.71 |
Nb FLOP add-sub | 10.00 |
Nb FLOP mul | 4.00 |
Nb FLOP fma | 0.00 |
Nb FLOP div | 0.00 |
Nb FLOP rcp | 0.00 |
Nb FLOP sqrt | 0.00 |
Nb FLOP rsqrt | 0.00 |
Bytes/cycle | 9.29 |
Bytes prefetched | 0.00 |
Bytes loaded | 48.00 |
Bytes stored | 0.00 |
Stride 0 | 1.00 |
Stride 1 | 0.00 |
Stride n | 0.00 |
Stride unknown | 1.00 |
Stride indirect | 0.00 |
Vectorization ratio all | 66.67 |
Vectorization ratio load | 100.00 |
Vectorization ratio store | NA |
Vectorization ratio mul | 100.00 |
Vectorization ratio add_sub | 50.00 |
Vectorization ratio fma | NA |
Vectorization ratio div_sqrt | NA |
Vectorization ratio other | 66.67 |
Vector-efficiency ratio all | 17.71 |
Vector-efficiency ratio load | 25.00 |
Vector-efficiency ratio store | NA |
Vector-efficiency ratio mul | 25.00 |
Vector-efficiency ratio add_sub | 15.63 |
Vector-efficiency ratio fma | NA |
Vector-efficiency ratio div_sqrt | NA |
Vector-efficiency ratio other | 16.67 |
Path / |
Function | .omp_outlined..9#0x65dd70 |
Source file and lines | pairlist_simd_2xmm.h:185-229 |
Module | libgromacs_mpi.so.9.0.0 |
nb instructions | 42 |
nb uops | 43 |
loop length | 196 |
used x86 registers | 8.33 |
used mmx registers | 0 |
used xmm registers | 5.67 |
used ymm registers | 0 |
used zmm registers | 2.33 |
nb stack references | 0.33 |
ADD-SUB / MUL ratio | 3.33 |
micro-operation queue | 7.17 cycles |
front end | 7.17 cycles |
ALU0/BRU0 | ALU1 | ALU2 | ALU3 | BRU1 | AGU0 | AGU1 | AGU2 | FP0 | FP1 | FP2 | FP3 | FP4 | FP5 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
uops | 3.08 | 3.08 | 3.08 | 3.08 | 2.00 | 2.11 | 2.11 | 2.11 | 2.33 | 4.33 | 5.67 | 5.67 | 1.00 | 1.00 |
cycles | 3.08 | 3.08 | 3.08 | 3.08 | 2.00 | 2.89 | 2.89 | 2.89 | 3.83 | 4.83 | 7.33 | 7.33 | 1.00 | 1.00 |
Cycles executing div or sqrt instructions | NA |
Longest recurrence chain latency (RecMII) | 1.00 |
Front-end | 7.17 |
Dispatch | 7.33 |
Data deps. | 1.00 |
Overall L1 | 8.22 |
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) |
other | 0% |
all | 76% |
load | 100% |
store | NA (no store vectorizable/vectorized instructions) |
mul | 100% |
add-sub | 61% |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 76% |
all | 75% |
load | 100% |
store | NA (no store vectorizable/vectorized instructions) |
mul | 100% |
add-sub | 61% |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 73% |
all | 6% |
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) |
other | 6% |
all | 36% |
load | 40% |
store | NA (no store vectorizable/vectorized instructions) |
mul | 46% |
add-sub | 35% |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 25% |
all | 35% |
load | 40% |
store | NA (no store vectorizable/vectorized instructions) |
mul | 46% |
add-sub | 35% |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 24% |
Function | .omp_outlined..9#0x65dd70 |
Source file and lines | pairlist_simd_2xmm.h:185-229 |
Module | libgromacs_mpi.so.9.0.0 |
nb instructions | 30 |
nb uops | 30 |
loop length | 125 |
used x86 registers | 7 |
used mmx registers | 0 |
used xmm registers | 5 |
used ymm registers | 0 |
used zmm registers | 0 |
nb stack references | 0 |
ADD-SUB / MUL ratio | 4.00 |
micro-operation queue | 5.00 cycles |
front end | 5.00 cycles |
ALU0/BRU0 | ALU1 | ALU2 | ALU3 | BRU1 | AGU0 | AGU1 | AGU2 | FP0 | FP1 | FP2 | FP3 | FP4 | FP5 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
uops | 2.75 | 2.75 | 2.75 | 2.75 | 2.00 | 1.00 | 1.00 | 1.00 | 0.50 | 2.50 | 3.50 | 3.50 | 0.50 | 0.50 |
cycles | 2.75 | 2.75 | 2.75 | 2.75 | 2.00 | 1.00 | 1.00 | 1.00 | 0.50 | 2.50 | 3.50 | 3.50 | 0.50 | 0.50 |
Cycles executing div or sqrt instructions | NA |
Longest recurrence chain latency (RecMII) | 1.00 |
Front-end | 5.00 |
Dispatch | 3.50 |
Data deps. | 1.00 |
Overall L1 | 5.00 |
all | 72% |
load | 100% |
store | NA (no store vectorizable/vectorized instructions) |
mul | 100% |
add-sub | 50% |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 80% |
all | 18% |
load | 25% |
store | NA (no store vectorizable/vectorized instructions) |
mul | 25% |
add-sub | 15% |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 18% |
Instruction | Nb FU | ALU0/BRU0 | ALU1 | ALU2 | ALU3 | BRU1 | AGU0 | AGU1 | AGU2 | FP0 | FP1 | FP2 | FP3 | FP4 | FP5 | Latency | Recip. throughput | Vectorization |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
MOVSXD %R9D,%R8 | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | N/A |
SAL $0x5,%R8 | 1 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 | N/A |
VMOVAPS (%RDX,%R8,1),%XMM2 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.50 | vect (25.0%) |
VSUBPS 0x10(%RDX,%R8,1),%XMM0,%XMM3 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 0.50 | vect (25.0%) |
VSUBPS %XMM1,%XMM2,%XMM2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 0.50 | vect (25.0%) |
VMAXPS %XMM2,%XMM3,%XMM2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 2 | 0.50 | vect (25.0%) |
VMAXPS -0x301ae4(%RIP),%XMM2,%XMM2 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 2 | 0.50 | vect (25.0%) |
VMULPS %XMM2,%XMM2,%XMM2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 0.50 | vect (25.0%) |
VMOVSHDUP %XMM2,%XMM3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 1 | 0.33 | vect (12.5%) |
VADDSS %XMM3,%XMM2,%XMM3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 0.50 | scal (6.3%) |
VPERMILPD $0x1,%XMM2,%XMM2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 1 | 0.33 | vect (25.0%) |
VADDSS %XMM3,%XMM2,%XMM2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 0.50 | scal (6.3%) |
LEA 0x2(%RBX),%R12D | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | N/A |
VUCOMISS %XMM2,%XMM10 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0.50 | 6 | 1 | scal (6.3%) |
JBE 65ff10 <.omp_outlined..9+0x21a0> | 1 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50-1 | N/A |
MOV $0x1,%DIL | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | N/A |
JMP 65ffeb <.omp_outlined..9+0x227b> | 1 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | N/A |
MOV %EDI,%R8D | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | N/A |
AND $0x1,%R8B | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | N/A |
MOV %R9,%RBX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | N/A |
MOV %R8D,%R9D | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | N/A |
SUB $0x1,%R9B | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | N/A |
MOVSX %R9B,%R9D | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | N/A |
ADD %R9D,%EBX | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | N/A |
MOV %RBX,%R9 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | N/A |
CMP $0x1,%R8B | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | N/A |
JAE 6607c8 <.omp_outlined..9+0x2a58> | 1 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50-1 | N/A |
MOV %R12D,%EBX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | N/A |
CMP %ECX,%R9D | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | N/A |
JG 65fec0 <.omp_outlined..9+0x2150> | 1 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50-1 | N/A |
Function | .omp_outlined..9#0x65dd70 |
Source file and lines | pairlist_simd_2xmm.h:185-229 |
Module | libgromacs_mpi.so.9.0.0 |
nb instructions | 66 |
nb uops | 68 |
loop length | 336 |
used x86 registers | 11 |
used mmx registers | 0 |
used xmm registers | 6 |
used ymm registers | 0 |
used zmm registers | 7 |
nb stack references | 1 |
ADD-SUB / MUL ratio | 2.00 |
micro-operation queue | 11.33 cycles |
front end | 11.33 cycles |
ALU0/BRU0 | ALU1 | ALU2 | ALU3 | BRU1 | AGU0 | AGU1 | AGU2 | FP0 | FP1 | FP2 | FP3 | FP4 | FP5 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
uops | 4.00 | 4.00 | 4.00 | 4.00 | 2.00 | 4.33 | 4.33 | 4.33 | 6.00 | 8.00 | 9.50 | 9.50 | 1.50 | 1.50 |
cycles | 4.00 | 4.00 | 4.00 | 4.00 | 2.00 | 6.67 | 6.67 | 6.67 | 10.50 | 9.50 | 14.50 | 14.50 | 1.50 | 1.50 |
Cycles executing div or sqrt instructions | NA |
Longest recurrence chain latency (RecMII) | 1.00 |
Front-end | 11.33 |
Dispatch | 14.50 |
Data deps. | 1.00 |
Overall L1 | 14.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 | NA (no add-sub vectorizable/vectorized instructions) |
fma | NA (no fma vectorizable/vectorized instructions) |
other | 0% |
all | 90% |
load | 100% |
store | NA (no store vectorizable/vectorized instructions) |
mul | 100% |
add-sub | 85% |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 81% |
all | 87% |
load | 100% |
store | NA (no store vectorizable/vectorized instructions) |
mul | 100% |
add-sub | 85% |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 75% |
all | 6% |
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) |
other | 6% |
all | 71% |
load | 71% |
store | NA (no store vectorizable/vectorized instructions) |
mul | 89% |
add-sub | 75% |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 40% |
all | 69% |
load | 71% |
store | NA (no store vectorizable/vectorized instructions) |
mul | 89% |
add-sub | 75% |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 38% |
Instruction | Nb FU | ALU0/BRU0 | ALU1 | ALU2 | ALU3 | BRU1 | AGU0 | AGU1 | AGU2 | FP0 | FP1 | FP2 | FP3 | FP4 | FP5 | Latency | Recip. throughput | Vectorization |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
MOVSXD %R9D,%R8 | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | N/A |
SAL $0x5,%R8 | 1 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 | N/A |
VMOVAPS (%RDX,%R8,1),%XMM2 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.50 | vect (25.0%) |
VSUBPS 0x10(%RDX,%R8,1),%XMM0,%XMM3 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 0.50 | vect (25.0%) |
VSUBPS %XMM1,%XMM2,%XMM2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 0.50 | vect (25.0%) |
VMAXPS %XMM2,%XMM3,%XMM2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 2 | 0.50 | vect (25.0%) |
VMAXPS -0x301ae4(%RIP),%XMM2,%XMM2 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 2 | 0.50 | vect (25.0%) |
VMULPS %XMM2,%XMM2,%XMM2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 0.50 | vect (25.0%) |
VMOVSHDUP %XMM2,%XMM3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 1 | 0.33 | vect (12.5%) |
VADDSS %XMM3,%XMM2,%XMM3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 0.50 | scal (6.3%) |
VPERMILPD $0x1,%XMM2,%XMM2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 1 | 0.33 | vect (25.0%) |
VADDSS %XMM3,%XMM2,%XMM2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 0.50 | scal (6.3%) |
LEA 0x2(%RBX),%R12D | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | N/A |
VUCOMISS %XMM2,%XMM10 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0.50 | 6 | 1 | scal (6.3%) |
JBE 65ff10 <.omp_outlined..9+0x21a0> | 1 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50-1 | N/A |
VUCOMISS %XMM2,%XMM11 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0.50 | 6 | 1 | scal (6.3%) |
JBE 65ffeb <.omp_outlined..9+0x227b> | 1 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50-1 | N/A |
LEA (%R9,%RSI,1),%EDI | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | N/A |
SAL $0x3,%EDI | 1 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 | N/A |
LEA (%RDI,%RDI,2),%EDI | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | N/A |
MOVSXD %EDI,%RDI | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | N/A |
VBROADCASTF64X4 (%RAX,%RDI,4),%ZMM2 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 4 | 1 | vect (50.0%) |
VBROADCASTF64X4 0x20(%RAX,%RDI,4),%ZMM3 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 4 | 1 | vect (50.0%) |
VBROADCASTF64X4 0x40(%RAX,%RDI,4),%ZMM4 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 4 | 1 | vect (50.0%) |
VMOVAPS (%R14),%ZMM5 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 | vect (100.0%) |
VMOVAPS 0x40(%R14),%ZMM6 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 | vect (100.0%) |
VMOVAPS 0x80(%R14),%ZMM7 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 | vect (100.0%) |
VMOVAPS 0xc0(%R14),%ZMM8 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 | vect (100.0%) |
VSUBPS %ZMM2,%ZMM5,%ZMM5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 | vect (100.0%) |
VSUBPS %ZMM3,%ZMM6,%ZMM6 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 | vect (100.0%) |
VSUBPS %ZMM4,%ZMM7,%ZMM7 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 | vect (100.0%) |
VSUBPS %ZMM2,%ZMM8,%ZMM2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 | vect (100.0%) |
VMOVAPS 0x100(%R14),%ZMM8 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 | vect (100.0%) |
VSUBPS %ZMM3,%ZMM8,%ZMM3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 | vect (100.0%) |
VMOVAPS 0x140(%R14),%ZMM8 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 | vect (100.0%) |
VSUBPS %ZMM4,%ZMM8,%ZMM4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 | vect (100.0%) |
VMULPS %ZMM5,%ZMM5,%ZMM5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 1 | vect (100.0%) |
VMULPS %ZMM6,%ZMM6,%ZMM6 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 1 | vect (100.0%) |
VADDPS %ZMM6,%ZMM5,%ZMM5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 | vect (100.0%) |
VMULPS %ZMM7,%ZMM7,%ZMM6 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 1 | vect (100.0%) |
VADDPS %ZMM5,%ZMM6,%ZMM5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 | vect (100.0%) |
VMULPS %ZMM2,%ZMM2,%ZMM2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 1 | vect (100.0%) |
VMULPS %ZMM3,%ZMM3,%ZMM3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 1 | vect (100.0%) |
VADDPS %ZMM3,%ZMM2,%ZMM2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 | vect (100.0%) |
VMULPS %ZMM4,%ZMM4,%ZMM3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 1 | vect (100.0%) |
VADDPS %ZMM2,%ZMM3,%ZMM2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 | vect (100.0%) |
VMOVAPS 0x400(%RSP),%ZMM3 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 | vect (100.0%) |
VCMPPS $0x1,%ZMM3,%ZMM5,%K0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 5 | 1 | vect (100.0%) |
VCMPPS $0x1,%ZMM3,%ZMM2,%K1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 5 | 1 | vect (100.0%) |
KORTESTW %K0,%K1 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0.50 | 6 | 1 | N/A |
SETNE %DIL | 1 | 0.50 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 | N/A |
ADD $0x22,%EBX | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | N/A |
MOV %EBX,%R12D | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | scal (6.3%) |
MOV %EDI,%R8D | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | N/A |
AND $0x1,%R8B | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | N/A |
MOV %R9,%RBX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | N/A |
MOV %R8D,%R9D | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | N/A |
SUB $0x1,%R9B | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | N/A |
MOVSX %R9B,%R9D | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | N/A |
ADD %R9D,%EBX | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | N/A |
MOV %RBX,%R9 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | N/A |
CMP $0x1,%R8B | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | N/A |
JAE 6607c8 <.omp_outlined..9+0x2a58> | 1 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50-1 | N/A |
MOV %R12D,%EBX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | N/A |
CMP %ECX,%R9D | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | N/A |
JG 65fec0 <.omp_outlined..9+0x2150> | 1 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50-1 | N/A |
Function | .omp_outlined..9#0x65dd70 |
Source file and lines | pairlist_simd_2xmm.h:185-229 |
Module | libgromacs_mpi.so.9.0.0 |
nb instructions | 30 |
nb uops | 31 |
loop length | 127 |
used x86 registers | 7 |
used mmx registers | 0 |
used xmm registers | 6 |
used ymm registers | 0 |
used zmm registers | 0 |
nb stack references | 0 |
ADD-SUB / MUL ratio | 4.00 |
micro-operation queue | 5.17 cycles |
front end | 5.17 cycles |
ALU0/BRU0 | ALU1 | ALU2 | ALU3 | BRU1 | AGU0 | AGU1 | AGU2 | FP0 | FP1 | FP2 | FP3 | FP4 | FP5 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
uops | 2.50 | 2.50 | 2.50 | 2.50 | 2.00 | 1.00 | 1.00 | 1.00 | 0.50 | 2.50 | 4.00 | 4.00 | 1.00 | 1.00 |
cycles | 2.50 | 2.50 | 2.50 | 2.50 | 2.00 | 1.00 | 1.00 | 1.00 | 0.50 | 2.50 | 4.00 | 4.00 | 1.00 | 1.00 |
Cycles executing div or sqrt instructions | NA |
Longest recurrence chain latency (RecMII) | 1.00 |
Front-end | 5.17 |
Dispatch | 4.00 |
Data deps. | 1.00 |
Overall L1 | 5.17 |
all | 66% |
load | 100% |
store | NA (no store vectorizable/vectorized instructions) |
mul | 100% |
add-sub | 50% |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 66% |
all | 17% |
load | 25% |
store | NA (no store vectorizable/vectorized instructions) |
mul | 25% |
add-sub | 15% |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 16% |
Instruction | Nb FU | ALU0/BRU0 | ALU1 | ALU2 | ALU3 | BRU1 | AGU0 | AGU1 | AGU2 | FP0 | FP1 | FP2 | FP3 | FP4 | FP5 | Latency | Recip. throughput | Vectorization |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
MOVSXD %R9D,%R8 | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | N/A |
SAL $0x5,%R8 | 1 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 | N/A |
VMOVAPS (%RDX,%R8,1),%XMM2 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.50 | vect (25.0%) |
VSUBPS 0x10(%RDX,%R8,1),%XMM0,%XMM3 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 0.50 | vect (25.0%) |
VSUBPS %XMM1,%XMM2,%XMM2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 0.50 | vect (25.0%) |
VMAXPS %XMM2,%XMM3,%XMM2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 2 | 0.50 | vect (25.0%) |
VMAXPS -0x301ae4(%RIP),%XMM2,%XMM2 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 2 | 0.50 | vect (25.0%) |
VMULPS %XMM2,%XMM2,%XMM2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 0.50 | vect (25.0%) |
VMOVSHDUP %XMM2,%XMM3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 1 | 0.33 | vect (12.5%) |
VADDSS %XMM3,%XMM2,%XMM3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 0.50 | scal (6.3%) |
VPERMILPD $0x1,%XMM2,%XMM2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 1 | 0.33 | vect (25.0%) |
VADDSS %XMM3,%XMM2,%XMM2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 0.50 | scal (6.3%) |
LEA 0x2(%RBX),%R12D | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | N/A |
VUCOMISS %XMM2,%XMM10 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0.50 | 6 | 1 | scal (6.3%) |
JBE 65ff10 <.omp_outlined..9+0x21a0> | 1 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50-1 | N/A |
VUCOMISS %XMM2,%XMM11 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0.50 | 6 | 1 | scal (6.3%) |
JBE 65ffeb <.omp_outlined..9+0x227b> | 1 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50-1 | N/A |
MOV %EDI,%R8D | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | N/A |
AND $0x1,%R8B | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | N/A |
MOV %R9,%RBX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | N/A |
MOV %R8D,%R9D | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | N/A |
SUB $0x1,%R9B | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | N/A |
MOVSX %R9B,%R9D | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | N/A |
ADD %R9D,%EBX | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | N/A |
MOV %RBX,%R9 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | N/A |
CMP $0x1,%R8B | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | N/A |
JAE 6607c8 <.omp_outlined..9+0x2a58> | 1 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50-1 | N/A |
MOV %R12D,%EBX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | N/A |
CMP %ECX,%R9D | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | N/A |
JG 65fec0 <.omp_outlined..9+0x2150> | 1 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50-1 | N/A |
Run 1x1 | Number processes: 1Number processes per node: 1OMP_NUM_THREADS: 1 |
---|---|
Run 2x1 | Number processes: 2Number processes per node: 2OMP_NUM_THREADS: 1 |
Run 4x1 | Number processes: 4Number processes per node: 4OMP_NUM_THREADS: 1 |
Run 8x1 | Number processes: 8Number processes per node: 8OMP_NUM_THREADS: 1 |
Run 16x1 | Number processes: 16Number processes per node: 16OMP_NUM_THREADS: 1 |
Run 32x1 | Number processes: 32Number processes per node: 32OMP_NUM_THREADS: 1 |
Run 64x1 | Number processes: 64Number processes per node: 64OMP_NUM_THREADS: 1 |
Run 128x1 | Number processes: 128Number processes per node: 128OMP_NUM_THREADS: 1 |
Run 192x1 | Number processes: 192Number nodes: 1Number processes per node: 192Run Command: <executable> mdrun -s ion_channel.tpr -nsteps 10000 -pin on -deffnm aoccMPI Command: mpirun -genv I_MPI_FABRICS=shm -n <number_processes>Dataset: Run Directory: .OMP_NUM_THREADS: 1 |
(1x1) Efficiency | (1x1) Potential Speed-Up (%) | (2x1) Efficiency | (2x1) Potential Speed-Up (%) | (4x1) Efficiency | (4x1) Potential Speed-Up (%) | (8x1) Efficiency | (8x1) Potential Speed-Up (%) | (16x1) Efficiency | (16x1) Potential Speed-Up (%) | (32x1) Efficiency | (32x1) Potential Speed-Up (%) | (64x1) Efficiency | (64x1) Potential Speed-Up (%) | (128x1) Efficiency | (128x1) Potential Speed-Up (%) | (192x1) Efficiency | (192x1) Potential Speed-Up (%) |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 0 | 0.98 | 0 | 0.93 | 0.01 | 1 | -0 | 0.78 | 0.04 | 0.9 | 0.01 | 1.3 | 0 | 0.77 | 0.02 | 0.77 | 0.02 |
Run | Number of threads | Efficiency (ideal is 1) | Speedup | Ideal Speedup | Time (s) | Coverage (%) |
---|---|---|---|---|---|---|
1x1 | 1 | 1 | 1 | 1 | 1.7699991464615 | 0.21233078837395 |
2x1 | 2 | 0.98 | 1.96 | 2 | 0.96499961614609 | 0.19911016523838 |
4x1 | 4 | 0.93 | 3.72 | 4 | 0.49499976634979 | 0.19078108668327 |
8x1 | 8 | 1 | 8.02 | 8 | 0.25499993562698 | 0.14264622330666 |
16x1 | 16 | 0.78 | 12.53 | 16 | 0.20500001311302 | 0.17079220712185 |
32x1 | 20 | 0.9 | 28.79 | 32 | 0.13000001013279 | 0.11962130665779 |
64x1 | 39 | 1.3 | 83.32 | 64 | 0.064999997615814 | 0.053452517837286 |
128x1 | 84 | 0.77 | 98.83 | 128 | 0.059999994933605 | 0.10538483411074 |
192x1 | 123 | 0.77 | 147.23 | 192 | 0.044999994337559 | 0.089251682162285 |