Loop Id: 17440 | Module: libgromacs_mpi.so.9.0.0 | Source: pme_solve.cpp:233-233 [...] | Coverage: 0.07% |
---|
Loop Id: 17440 | Module: libgromacs_mpi.so.9.0.0 | Source: pme_solve.cpp:233-233 [...] | Coverage: 0.07% |
---|
0xc0d5e0 VMOVAPS (%R14,%RCX,1),%ZMM0 [4] |
0xc0d5e7 VMOVAPS (%R12,%RCX,1),%ZMM5 [1] |
0xc0d5ee VMAXPS %ZMM3,%ZMM5,%ZMM5 |
0xc0d5f4 VMULPS -0x8b0f36(%RIP){1to16},%ZMM5,%ZMM7 [2] |
0xc0d5fe VCVTPS2DQ %ZMM7,%ZMM8 |
0xc0d604 VPADDD -0x8b0dae(%RIP){1to16},%ZMM8,%ZMM8 [2] |
0xc0d60e VPMAXSD %ZMM13,%ZMM8,%ZMM8 |
0xc0d614 VRNDSCALEPS $0,%ZMM7,%ZMM7 |
0xc0d61b VFMADD231PS -0x8b0f2d(%RIP){1to16},%ZMM7,%ZMM5 [2] |
0xc0d625 VFMADD231PS -0x8b1443(%RIP){1to16},%ZMM7,%ZMM5 [2] |
0xc0d62f VBROADCASTSS -0x8b1009(%RIP),%ZMM7 [2] |
0xc0d639 VFMADD213PS -0x8b1203(%RIP){1to16},%ZMM5,%ZMM7 [2] |
0xc0d643 VFMADD213PS -0x8b1281(%RIP){1to16},%ZMM5,%ZMM7 [2] |
0xc0d64d VFMADD213PS -0x8b1023(%RIP){1to16},%ZMM5,%ZMM7 [2] |
0xc0d657 VPSLLD $0x17,%ZMM8,%ZMM8 |
0xc0d65e VFMADD213PS -0x8b0e2c(%RIP){1to16},%ZMM5,%ZMM7 [2] |
0xc0d668 VMULPS %ZMM5,%ZMM5,%ZMM9 |
0xc0d66e VFMADD213PS %ZMM5,%ZMM7,%ZMM9 |
0xc0d674 VFMADD213PS %ZMM8,%ZMM8,%ZMM9 |
0xc0d67a VRCP14PS %ZMM0,%ZMM5 |
0xc0d680 VFNMADD213PS -0x8b114a(%RIP){1to16},%ZMM5,%ZMM0 [2] |
0xc0d68a VMULPS %ZMM0,%ZMM5,%ZMM0 |
0xc0d690 VMULPS %ZMM0,%ZMM25,%ZMM0 |
0xc0d696 VMULPS %ZMM9,%ZMM0,%ZMM0 |
0xc0d69c VMOVAPS %ZMM0,(%R15,%RCX,1) [3] |
0xc0d6a3 ADD $0x40,%RCX |
0xc0d6a7 DEC %RDX |
0xc0d6aa JNE c0d5e0 |
/home/eoseret/gromacs-2024.2/src/gromacs/ewald/pme_solve.cpp: 233 - 233 |
-------------------------------------------------------------------------------- |
233: for (size_t kx = 0; kx != d_aligned.size(); ++kx) |
/home/eoseret/gromacs-2024.2/src/gromacs/simd/include/gromacs/simd/simd_memory.h: 63 - 63 |
-------------------------------------------------------------------------------- |
63: operator non_const_T() const { return load<non_const_T>(m_); } |
/home/eoseret/gromacs-2024.2/src/gromacs/simd/include/gromacs/simd/impl_x86_avx_512/impl_x86_avx_512_simd_float.h: 109 - 501 |
-------------------------------------------------------------------------------- |
109: _mm512_store_ps(m, a.simdInternal_); |
[...] |
197: return { _mm512_mul_ps(a.simdInternal_, b.simdInternal_) }; |
198: } |
199: |
200: static inline SimdFloat gmx_simdcall fma(SimdFloat a, SimdFloat b, SimdFloat c) |
201: { |
202: return { _mm512_fmadd_ps(a.simdInternal_, b.simdInternal_, c.simdInternal_) }; |
[...] |
212: return { _mm512_fnmadd_ps(a.simdInternal_, b.simdInternal_, c.simdInternal_) }; |
[...] |
229: return { _mm512_rcp14_ps(x.simdInternal_) }; |
[...] |
269: return { _mm512_max_ps(a.simdInternal_, b.simdInternal_) }; |
[...] |
279: return { _mm512_roundscale_ps(x.simdInternal_, 0) }; |
[...] |
332: __m512i iExponent = _mm512_add_epi32(exponent.simdInternal_, exponentBias); |
333: |
334: if (opt == MathOptimization::Safe) |
335: { |
336: // Make sure biased argument is not negative |
337: iExponent = _mm512_max_epi32(iExponent, _mm512_setzero_epi32()); |
338: } |
339: |
340: iExponent = _mm512_slli_epi32(iExponent, 23); |
[...] |
501: return { _mm512_cvtps_epi32(a.simdInternal_) }; |
Coverage (%) | Name | Source Location | Module |
---|---|---|---|
►100.00+ | .omp_outlined..49 | pme.cpp:1303 | libgromacs_mpi.so.9.0.0 |
○ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | gmx_pme_do(gmx_pme_t*, gmx::Ar[...] | pme.cpp:1276 | libgromacs_mpi.so.9.0.0 |
○ | CpuPpLongRangeNonbondeds::calc[...] | force.cpp:261 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | sim_util.cpp:2073 | 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 |
---|---|---|---|
►100.00+ | .omp_outlined..49 | pme.cpp:1303 | libgromacs_mpi.so.9.0.0 |
○ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | gmx_pme_do(gmx_pme_t*, gmx::Ar[...] | pme.cpp:1276 | libgromacs_mpi.so.9.0.0 |
○ | CpuPpLongRangeNonbondeds::calc[...] | force.cpp:261 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | sim_util.cpp:2073 | 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 |
---|---|---|---|
►100.00+ | .omp_outlined..49 | pme.cpp:1303 | libgromacs_mpi.so.9.0.0 |
○ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | gmx_pme_do(gmx_pme_t*, gmx::Ar[...] | pme.cpp:1276 | libgromacs_mpi.so.9.0.0 |
○ | CpuPpLongRangeNonbondeds::calc[...] | force.cpp:261 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | sim_util.cpp:2073 | 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.33+ | .omp_outlined..49 | pme.cpp:1303 | libgromacs_mpi.so.9.0.0 |
○ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | gmx_pme_do(gmx_pme_t*, gmx::Ar[...] | pme.cpp:1276 | libgromacs_mpi.so.9.0.0 |
○ | CpuPpLongRangeNonbondeds::calc[...] | force.cpp:261 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | sim_util.cpp:2073 | 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 | |
►15.24+ | .omp_outlined..49 | pme.cpp:1303 | libgromacs_mpi.so.9.0.0 |
○ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | gmx_pme_do(gmx_pme_t*, gmx::Ar[...] | pme.cpp:1276 | libgromacs_mpi.so.9.0.0 |
○ | CpuPpLongRangeNonbondeds::calc[...] | force.cpp:261 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | sim_util.cpp:2073 | 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 |
►11.43+ | .omp_outlined..49 | pme.cpp:1303 | libgromacs_mpi.so.9.0.0 |
○ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | gmx_pme_do(gmx_pme_t*, gmx::Ar[...] | pme.cpp:1276 | libgromacs_mpi.so.9.0.0 |
○ | CpuPpLongRangeNonbondeds::calc[...] | force.cpp:261 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | sim_util.cpp:2073 | 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 |
Coverage (%) | Name | Source Location | Module |
---|---|---|---|
►84.08+ | .omp_outlined..49 | pme.cpp:1303 | libgromacs_mpi.so.9.0.0 |
○ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | gmx_pme_do(gmx_pme_t*, gmx::Ar[...] | pme.cpp:1276 | libgromacs_mpi.so.9.0.0 |
○ | CpuPpLongRangeNonbondeds::calc[...] | force.cpp:261 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | sim_util.cpp:2073 | 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 | |
►12.01+ | .omp_outlined..49 | pme.cpp:1303 | libgromacs_mpi.so.9.0.0 |
○ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | gmx_pme_do(gmx_pme_t*, gmx::Ar[...] | pme.cpp:1276 | libgromacs_mpi.so.9.0.0 |
○ | CpuPpLongRangeNonbondeds::calc[...] | force.cpp:261 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | sim_util.cpp:2073 | 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.90+ | .omp_outlined..49 | pme.cpp:1303 | libgromacs_mpi.so.9.0.0 |
○ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | gmx_pme_do(gmx_pme_t*, gmx::Ar[...] | pme.cpp:1276 | libgromacs_mpi.so.9.0.0 |
○ | CpuPpLongRangeNonbondeds::calc[...] | force.cpp:261 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | sim_util.cpp:2073 | 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 |
---|---|---|---|
►66.57+ | .omp_outlined..49 | pme.cpp:1303 | libgromacs_mpi.so.9.0.0 |
○ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | gmx_pme_do(gmx_pme_t*, gmx::Ar[...] | pme.cpp:1276 | libgromacs_mpi.so.9.0.0 |
○ | gmx_pmeonly(gmx_pme_t**, t_com[...] | stl_vector.h:1169 | libgromacs_mpi.so.9.0.0 |
○ | gmx::Mdrunner::mdrunner() | runner.cpp:2330 | libgromacs_mpi.so.9.0.0 |
○ | gmx::gmx_mdrun(int, gmx_hw_inf[...] | mdrun.cpp:280 | gmx_mpi |
►25.29+ | .omp_outlined..49 | pme.cpp:1303 | libgromacs_mpi.so.9.0.0 |
○ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | gmx_pme_do(gmx_pme_t*, gmx::Ar[...] | pme.cpp:1276 | libgromacs_mpi.so.9.0.0 |
○ | gmx_pmeonly(gmx_pme_t**, t_com[...] | stl_vector.h:1169 | libgromacs_mpi.so.9.0.0 |
○ | gmx::Mdrunner::mdrunner() | runner.cpp:2330 | libgromacs_mpi.so.9.0.0 |
►8.14+ | .omp_outlined..49 | pme.cpp:1303 | libgromacs_mpi.so.9.0.0 |
○ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | gmx_pme_do(gmx_pme_t*, gmx::Ar[...] | pme.cpp:1276 | libgromacs_mpi.so.9.0.0 |
○ | gmx_pmeonly(gmx_pme_t**, t_com[...] | stl_vector.h:1169 | libgromacs_mpi.so.9.0.0 |
○ | gmx::Mdrunner::mdrunner() | runner.cpp:2330 | 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 |
---|---|---|---|
►57.69+ | .omp_outlined..49 | pme.cpp:1303 | libgromacs_mpi.so.9.0.0 |
○ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | gmx_pme_do(gmx_pme_t*, gmx::Ar[...] | pme.cpp:1276 | libgromacs_mpi.so.9.0.0 |
○ | gmx_pmeonly(gmx_pme_t**, t_com[...] | stl_vector.h:1169 | libgromacs_mpi.so.9.0.0 |
○ | gmx::Mdrunner::mdrunner() | runner.cpp:2330 | 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 | |
►28.57+ | .omp_outlined..49 | pme.cpp:1303 | libgromacs_mpi.so.9.0.0 |
○ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | gmx_pme_do(gmx_pme_t*, gmx::Ar[...] | pme.cpp:1276 | libgromacs_mpi.so.9.0.0 |
○ | gmx_pmeonly(gmx_pme_t**, t_com[...] | stl_vector.h:1169 | libgromacs_mpi.so.9.0.0 |
○ | gmx::Mdrunner::mdrunner() | runner.cpp:2330 | libgromacs_mpi.so.9.0.0 |
○ | gmx::gmx_mdrun(int, gmx_hw_inf[...] | mdrun.cpp:280 | gmx_mpi |
►13.74+ | .omp_outlined..49 | pme.cpp:1303 | libgromacs_mpi.so.9.0.0 |
○ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | gmx_pme_do(gmx_pme_t*, gmx::Ar[...] | pme.cpp:1276 | libgromacs_mpi.so.9.0.0 |
○ | gmx_pmeonly(gmx_pme_t**, t_com[...] | stl_vector.h:1169 | libgromacs_mpi.so.9.0.0 |
○ | gmx::Mdrunner::mdrunner() | runner.cpp:2330 | libgromacs_mpi.so.9.0.0 |
Coverage (%) | Name | Source Location | Module |
---|---|---|---|
►43.73+ | .omp_outlined..49 | pme.cpp:1303 | libgromacs_mpi.so.9.0.0 |
○ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | gmx_pme_do(gmx_pme_t*, gmx::Ar[...] | pme.cpp:1276 | libgromacs_mpi.so.9.0.0 |
○ | gmx_pmeonly(gmx_pme_t**, t_com[...] | stl_vector.h:1169 | libgromacs_mpi.so.9.0.0 |
○ | gmx::Mdrunner::mdrunner() | runner.cpp:2330 | libgromacs_mpi.so.9.0.0 |
○ | gmx::gmx_mdrun(int, gmx_hw_inf[...] | mdrun.cpp:280 | gmx_mpi |
►36.80+ | .omp_outlined..49 | pme.cpp:1303 | libgromacs_mpi.so.9.0.0 |
○ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | gmx_pme_do(gmx_pme_t*, gmx::Ar[...] | pme.cpp:1276 | libgromacs_mpi.so.9.0.0 |
○ | gmx_pmeonly(gmx_pme_t**, t_com[...] | stl_vector.h:1169 | libgromacs_mpi.so.9.0.0 |
○ | gmx::Mdrunner::mdrunner() | runner.cpp:2330 | libgromacs_mpi.so.9.0.0 |
►19.47+ | .omp_outlined..49 | pme.cpp:1303 | libgromacs_mpi.so.9.0.0 |
○ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | gmx_pme_do(gmx_pme_t*, gmx::Ar[...] | pme.cpp:1276 | libgromacs_mpi.so.9.0.0 |
○ | gmx_pmeonly(gmx_pme_t**, t_com[...] | stl_vector.h:1169 | libgromacs_mpi.so.9.0.0 |
○ | gmx::Mdrunner::mdrunner() | runner.cpp:2330 | 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 |
---|---|---|---|
►100.00+ | .omp_outlined..49 | pme.cpp:1303 | libgromacs_mpi.so.9.0.0 |
○ | __kmp_invoke_microtask | libomp.so | |
○ | __kmp_fork_call | libomp.so | |
○ | __kmpc_fork_call | libomp.so | |
○ | gmx_pme_do(gmx_pme_t*, gmx::Ar[...] | pme.cpp:1276 | libgromacs_mpi.so.9.0.0 |
○ | gmx_pmeonly(gmx_pme_t**, t_com[...] | stl_vector.h:1169 | libgromacs_mpi.so.9.0.0 |
○ | gmx::Mdrunner::mdrunner() | runner.cpp:2330 | 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.00 |
CQA speedup if FP arith vectorized | 1.00 |
CQA speedup if fully vectorized | 1.07 |
CQA speedup if no inter-iteration dependency | NA |
CQA speedup if next bottleneck killed | 1.11 |
Bottlenecks | P8, |
Function | solve_pme_yzx(gmx_pme_t const*, t_complex*, float, bool, int, int) |
Source | pme_solve.cpp:233-233,simd_memory.h:63-63,impl_x86_avx_512_simd_float.h:109-109,impl_x86_avx_512_simd_float.h:197-202,impl_x86_avx_512_simd_float.h:212-212,impl_x86_avx_512_simd_float.h:229-229,impl_x86_avx_512_simd_float.h:269-269,impl_x86_avx_512_simd_float.h:279-279,impl_x86_avx_512_simd_float.h:332-340,impl_x86_avx_512_simd_float.h:501-501 |
Source loop unroll info | multi-versionned |
Source loop unroll confidence level | max |
Unroll/vectorization loop type | NA |
Unroll factor | NA |
CQA cycles | 15.50 |
CQA cycles if no scalar integer | 15.50 |
CQA cycles if FP arith vectorized | 15.50 |
CQA cycles if fully vectorized | 14.53 |
Front-end cycles | 4.67 |
P0 cycles | 0.50 |
P1 cycles | 0.50 |
P2 cycles | 0.25 |
P3 cycles | 0.25 |
P4 cycles | 0.50 |
P5 cycles | 8.00 |
P6 cycles | 8.00 |
P7 cycles | 8.00 |
P8 cycles | 15.50 |
P9 cycles | 14.00 |
P10 cycles | 3.25 |
P11 cycles | 3.25 |
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 | 28.00 |
Nb uops | 28.00 |
Nb loads | 12.00 |
Nb stores | 1.00 |
Nb stack references | 0.00 |
FLOP/cycle | 24.77 |
Nb FLOP add-sub | 0.00 |
Nb FLOP mul | 80.00 |
Nb FLOP fma | 144.00 |
Nb FLOP div | 0.00 |
Nb FLOP rcp | 16.00 |
Nb FLOP sqrt | 0.00 |
Nb FLOP rsqrt | 0.00 |
Bytes/cycle | 14.97 |
Bytes prefetched | 0.00 |
Bytes loaded | 168.00 |
Bytes stored | 64.00 |
Stride 0 | 1.00 |
Stride 1 | 3.00 |
Stride n | 0.00 |
Stride unknown | 0.00 |
Stride indirect | 0.00 |
Vectorization ratio all | 96.00 |
Vectorization ratio load | 91.67 |
Vectorization ratio store | 100.00 |
Vectorization ratio mul | 100.00 |
Vectorization ratio add_sub | 100.00 |
Vectorization ratio fma | 100.00 |
Vectorization ratio div_sqrt | 100.00 |
Vectorization ratio other | 83.33 |
Vector-efficiency ratio all | 96.25 |
Vector-efficiency ratio load | 92.19 |
Vector-efficiency ratio store | 100.00 |
Vector-efficiency ratio mul | 100.00 |
Vector-efficiency ratio add_sub | 100.00 |
Vector-efficiency ratio fma | 100.00 |
Vector-efficiency ratio div_sqrt | 100.00 |
Vector-efficiency ratio other | 84.38 |
Metric | Value |
---|---|
CQA speedup if no scalar integer | 1.00 |
CQA speedup if FP arith vectorized | 1.00 |
CQA speedup if fully vectorized | 1.07 |
CQA speedup if no inter-iteration dependency | NA |
CQA speedup if next bottleneck killed | 1.11 |
Bottlenecks | P8, |
Function | solve_pme_yzx(gmx_pme_t const*, t_complex*, float, bool, int, int) |
Source | pme_solve.cpp:233-233,simd_memory.h:63-63,impl_x86_avx_512_simd_float.h:109-109,impl_x86_avx_512_simd_float.h:197-202,impl_x86_avx_512_simd_float.h:212-212,impl_x86_avx_512_simd_float.h:229-229,impl_x86_avx_512_simd_float.h:269-269,impl_x86_avx_512_simd_float.h:279-279,impl_x86_avx_512_simd_float.h:332-340,impl_x86_avx_512_simd_float.h:501-501 |
Source loop unroll info | multi-versionned |
Source loop unroll confidence level | max |
Unroll/vectorization loop type | NA |
Unroll factor | NA |
CQA cycles | 15.50 |
CQA cycles if no scalar integer | 15.50 |
CQA cycles if FP arith vectorized | 15.50 |
CQA cycles if fully vectorized | 14.53 |
Front-end cycles | 4.67 |
P0 cycles | 0.50 |
P1 cycles | 0.50 |
P2 cycles | 0.25 |
P3 cycles | 0.25 |
P4 cycles | 0.50 |
P5 cycles | 8.00 |
P6 cycles | 8.00 |
P7 cycles | 8.00 |
P8 cycles | 15.50 |
P9 cycles | 14.00 |
P10 cycles | 3.25 |
P11 cycles | 3.25 |
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 | 28.00 |
Nb uops | 28.00 |
Nb loads | 12.00 |
Nb stores | 1.00 |
Nb stack references | 0.00 |
FLOP/cycle | 24.77 |
Nb FLOP add-sub | 0.00 |
Nb FLOP mul | 80.00 |
Nb FLOP fma | 144.00 |
Nb FLOP div | 0.00 |
Nb FLOP rcp | 16.00 |
Nb FLOP sqrt | 0.00 |
Nb FLOP rsqrt | 0.00 |
Bytes/cycle | 14.97 |
Bytes prefetched | 0.00 |
Bytes loaded | 168.00 |
Bytes stored | 64.00 |
Stride 0 | 1.00 |
Stride 1 | 3.00 |
Stride n | 0.00 |
Stride unknown | 0.00 |
Stride indirect | 0.00 |
Vectorization ratio all | 96.00 |
Vectorization ratio load | 91.67 |
Vectorization ratio store | 100.00 |
Vectorization ratio mul | 100.00 |
Vectorization ratio add_sub | 100.00 |
Vectorization ratio fma | 100.00 |
Vectorization ratio div_sqrt | 100.00 |
Vectorization ratio other | 83.33 |
Vector-efficiency ratio all | 96.25 |
Vector-efficiency ratio load | 92.19 |
Vector-efficiency ratio store | 100.00 |
Vector-efficiency ratio mul | 100.00 |
Vector-efficiency ratio add_sub | 100.00 |
Vector-efficiency ratio fma | 100.00 |
Vector-efficiency ratio div_sqrt | 100.00 |
Vector-efficiency ratio other | 84.38 |
Path / |
Function | solve_pme_yzx(gmx_pme_t const*, t_complex*, float, bool, int, int) |
Source file and lines | pme_solve.cpp:233-233 |
Module | libgromacs_mpi.so.9.0.0 |
nb instructions | 28 |
nb uops | 28 |
loop length | 208 |
used x86 registers | 5 |
used mmx registers | 0 |
used xmm registers | 0 |
used ymm registers | 0 |
used zmm registers | 8 |
nb stack references | 0 |
micro-operation queue | 4.67 cycles |
front end | 4.67 cycles |
ALU0/BRU0 | ALU1 | ALU2 | ALU3 | BRU1 | AGU0 | AGU1 | AGU2 | FP0 | FP1 | FP2 | FP3 | FP4 | FP5 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
uops | 0.50 | 0.50 | 0.25 | 0.25 | 0.50 | 4.33 | 4.33 | 4.33 | 8.00 | 7.50 | 3.25 | 3.25 | 1.00 | 1.00 |
cycles | 0.50 | 0.50 | 0.25 | 0.25 | 0.50 | 8.00 | 8.00 | 8.00 | 15.50 | 14.00 | 3.25 | 3.25 | 1.00 | 1.00 |
Cycles executing div or sqrt instructions | NA |
Longest recurrence chain latency (RecMII) | 1.00 |
Front-end | 4.67 |
Dispatch | 15.50 |
Data deps. | 1.00 |
Overall L1 | 15.50 |
all | 100% |
load | 100% |
store | NA (no store vectorizable/vectorized instructions) |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | 100% |
fma | NA (no fma vectorizable/vectorized instructions) |
other | 100% |
all | 95% |
load | 90% |
store | 100% |
mul | 100% |
add-sub | NA (no add-sub vectorizable/vectorized instructions) |
fma | 100% |
div/sqrt | 100% |
other | 75% |
all | 96% |
load | 91% |
store | 100% |
mul | 100% |
add-sub | 100% |
fma | 100% |
div/sqrt | 100% |
other | 83% |
all | 100% |
load | 100% |
store | NA (no store vectorizable/vectorized instructions) |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | 100% |
fma | NA (no fma vectorizable/vectorized instructions) |
other | 100% |
all | 95% |
load | 91% |
store | 100% |
mul | 100% |
add-sub | NA (no add-sub vectorizable/vectorized instructions) |
fma | 100% |
div/sqrt | 100% |
other | 76% |
all | 96% |
load | 92% |
store | 100% |
mul | 100% |
add-sub | 100% |
fma | 100% |
div/sqrt | 100% |
other | 84% |
Instruction | Nb FU | ALU0/BRU0 | ALU1 | ALU2 | ALU3 | BRU1 | AGU0 | AGU1 | AGU2 | FP0 | FP1 | FP2 | FP3 | FP4 | FP5 | Latency | Recip. throughput | Vectorization |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
VMOVAPS (%R14,%RCX,1),%ZMM0 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 | vect (100.0%) |
VMOVAPS (%R12,%RCX,1),%ZMM5 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 | vect (100.0%) |
VMAXPS %ZMM3,%ZMM5,%ZMM5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 2 | 1 | vect (100.0%) |
VMULPS -0x8b0f36(%RIP){1to16},%ZMM5,%ZMM7 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 1 | vect (100.0%) |
VCVTPS2DQ %ZMM7,%ZMM8 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 | vect (100.0%) |
VPADDD -0x8b0dae(%RIP){1to16},%ZMM8,%ZMM8 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 1 | 1 | vect (100.0%) |
VPMAXSD %ZMM13,%ZMM8,%ZMM8 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 1 | 0.50 | vect (100.0%) |
VRNDSCALEPS $0,%ZMM7,%ZMM7 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 | vect (100.0%) |
VFMADD231PS -0x8b0f2d(%RIP){1to16},%ZMM7,%ZMM5 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 | vect (100.0%) |
VFMADD231PS -0x8b1443(%RIP){1to16},%ZMM7,%ZMM5 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 | vect (100.0%) |
VBROADCASTSS -0x8b1009(%RIP),%ZMM7 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 5 | 1 | scal (6.3%) |
VFMADD213PS -0x8b1203(%RIP){1to16},%ZMM5,%ZMM7 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 | vect (100.0%) |
VFMADD213PS -0x8b1281(%RIP){1to16},%ZMM5,%ZMM7 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 | vect (100.0%) |
VFMADD213PS -0x8b1023(%RIP){1to16},%ZMM5,%ZMM7 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 | vect (100.0%) |
VPSLLD $0x17,%ZMM8,%ZMM8 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 1 | 1 | vect (100.0%) |
VFMADD213PS -0x8b0e2c(%RIP){1to16},%ZMM5,%ZMM7 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 | vect (100.0%) |
VMULPS %ZMM5,%ZMM5,%ZMM9 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 1 | vect (100.0%) |
VFMADD213PS %ZMM5,%ZMM7,%ZMM9 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 | vect (100.0%) |
VFMADD213PS %ZMM8,%ZMM8,%ZMM9 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 | vect (100.0%) |
VRCP14PS %ZMM0,%ZMM5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 5 | 1 | vect (100.0%) |
VFNMADD213PS -0x8b114a(%RIP){1to16},%ZMM5,%ZMM0 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 | vect (100.0%) |
VMULPS %ZMM0,%ZMM5,%ZMM0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 1 | vect (100.0%) |
VMULPS %ZMM0,%ZMM25,%ZMM0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 1 | vect (100.0%) |
VMULPS %ZMM9,%ZMM0,%ZMM0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 1 | vect (100.0%) |
VMOVAPS %ZMM0,(%R15,%RCX,1) | 2 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 1 | 1 | 5 | 2 | vect (100.0%) |
ADD $0x40,%RCX | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | N/A |
DEC %RDX | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | N/A |
JNE c0d5e0 <_Z13solve_pme_yzxPK9gmx_pme_tP9t_complexfbii+0x1800> | 1 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50-1 | N/A |
Function | solve_pme_yzx(gmx_pme_t const*, t_complex*, float, bool, int, int) |
Source file and lines | pme_solve.cpp:233-233 |
Module | libgromacs_mpi.so.9.0.0 |
nb instructions | 28 |
nb uops | 28 |
loop length | 208 |
used x86 registers | 5 |
used mmx registers | 0 |
used xmm registers | 0 |
used ymm registers | 0 |
used zmm registers | 8 |
nb stack references | 0 |
micro-operation queue | 4.67 cycles |
front end | 4.67 cycles |
ALU0/BRU0 | ALU1 | ALU2 | ALU3 | BRU1 | AGU0 | AGU1 | AGU2 | FP0 | FP1 | FP2 | FP3 | FP4 | FP5 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
uops | 0.50 | 0.50 | 0.25 | 0.25 | 0.50 | 4.33 | 4.33 | 4.33 | 8.00 | 7.50 | 3.25 | 3.25 | 1.00 | 1.00 |
cycles | 0.50 | 0.50 | 0.25 | 0.25 | 0.50 | 8.00 | 8.00 | 8.00 | 15.50 | 14.00 | 3.25 | 3.25 | 1.00 | 1.00 |
Cycles executing div or sqrt instructions | NA |
Longest recurrence chain latency (RecMII) | 1.00 |
Front-end | 4.67 |
Dispatch | 15.50 |
Data deps. | 1.00 |
Overall L1 | 15.50 |
all | 100% |
load | 100% |
store | NA (no store vectorizable/vectorized instructions) |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | 100% |
fma | NA (no fma vectorizable/vectorized instructions) |
other | 100% |
all | 95% |
load | 90% |
store | 100% |
mul | 100% |
add-sub | NA (no add-sub vectorizable/vectorized instructions) |
fma | 100% |
div/sqrt | 100% |
other | 75% |
all | 96% |
load | 91% |
store | 100% |
mul | 100% |
add-sub | 100% |
fma | 100% |
div/sqrt | 100% |
other | 83% |
all | 100% |
load | 100% |
store | NA (no store vectorizable/vectorized instructions) |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | 100% |
fma | NA (no fma vectorizable/vectorized instructions) |
other | 100% |
all | 95% |
load | 91% |
store | 100% |
mul | 100% |
add-sub | NA (no add-sub vectorizable/vectorized instructions) |
fma | 100% |
div/sqrt | 100% |
other | 76% |
all | 96% |
load | 92% |
store | 100% |
mul | 100% |
add-sub | 100% |
fma | 100% |
div/sqrt | 100% |
other | 84% |
Instruction | Nb FU | ALU0/BRU0 | ALU1 | ALU2 | ALU3 | BRU1 | AGU0 | AGU1 | AGU2 | FP0 | FP1 | FP2 | FP3 | FP4 | FP5 | Latency | Recip. throughput | Vectorization |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
VMOVAPS (%R14,%RCX,1),%ZMM0 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 | vect (100.0%) |
VMOVAPS (%R12,%RCX,1),%ZMM5 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 | vect (100.0%) |
VMAXPS %ZMM3,%ZMM5,%ZMM5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 2 | 1 | vect (100.0%) |
VMULPS -0x8b0f36(%RIP){1to16},%ZMM5,%ZMM7 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 1 | vect (100.0%) |
VCVTPS2DQ %ZMM7,%ZMM8 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 | vect (100.0%) |
VPADDD -0x8b0dae(%RIP){1to16},%ZMM8,%ZMM8 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 1 | 1 | vect (100.0%) |
VPMAXSD %ZMM13,%ZMM8,%ZMM8 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 1 | 0.50 | vect (100.0%) |
VRNDSCALEPS $0,%ZMM7,%ZMM7 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 | vect (100.0%) |
VFMADD231PS -0x8b0f2d(%RIP){1to16},%ZMM7,%ZMM5 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 | vect (100.0%) |
VFMADD231PS -0x8b1443(%RIP){1to16},%ZMM7,%ZMM5 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 | vect (100.0%) |
VBROADCASTSS -0x8b1009(%RIP),%ZMM7 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 5 | 1 | scal (6.3%) |
VFMADD213PS -0x8b1203(%RIP){1to16},%ZMM5,%ZMM7 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 | vect (100.0%) |
VFMADD213PS -0x8b1281(%RIP){1to16},%ZMM5,%ZMM7 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 | vect (100.0%) |
VFMADD213PS -0x8b1023(%RIP){1to16},%ZMM5,%ZMM7 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 | vect (100.0%) |
VPSLLD $0x17,%ZMM8,%ZMM8 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 1 | 1 | vect (100.0%) |
VFMADD213PS -0x8b0e2c(%RIP){1to16},%ZMM5,%ZMM7 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 | vect (100.0%) |
VMULPS %ZMM5,%ZMM5,%ZMM9 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 1 | vect (100.0%) |
VFMADD213PS %ZMM5,%ZMM7,%ZMM9 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 | vect (100.0%) |
VFMADD213PS %ZMM8,%ZMM8,%ZMM9 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 | vect (100.0%) |
VRCP14PS %ZMM0,%ZMM5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 5 | 1 | vect (100.0%) |
VFNMADD213PS -0x8b114a(%RIP){1to16},%ZMM5,%ZMM0 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 | vect (100.0%) |
VMULPS %ZMM0,%ZMM5,%ZMM0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 1 | vect (100.0%) |
VMULPS %ZMM0,%ZMM25,%ZMM0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 1 | vect (100.0%) |
VMULPS %ZMM9,%ZMM0,%ZMM0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 1 | vect (100.0%) |
VMOVAPS %ZMM0,(%R15,%RCX,1) | 2 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 1 | 1 | 5 | 2 | vect (100.0%) |
ADD $0x40,%RCX | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | N/A |
DEC %RDX | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | N/A |
JNE c0d5e0 <_Z13solve_pme_yzxPK9gmx_pme_tP9t_complexfbii+0x1800> | 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 | 1.01 | -0 | 1.01 | -0 | 1.11 | 0 | 1.05 | 0 | 1.02 | -0 | 0.96 | 0 | 0.92 | 0.01 | 0.97 | 0 |
Run | Number of threads | Efficiency (ideal is 1) | Speedup | Ideal Speedup | Time (s) | Coverage (%) |
---|---|---|---|---|---|---|
1x1 | 1 | 1 | 1 | 1 | 1.7499997615814 | 0.20993164181709 |
2x1 | 2 | 1.01 | 2.02 | 2 | 0.90500009059906 | 0.19083617627621 |
4x1 | 4 | 1.01 | 4.02 | 4 | 0.47499996423721 | 0.17471553385258 |
8x1 | 8 | 1.11 | 8.89 | 8 | 0.24499997496605 | 0.12729094922543 |
16x1 | 16 | 1.05 | 16.74 | 16 | 0.1499999910593 | 0.12638635933399 |
32x1 | 12 | 1.02 | 32.52 | 32 | 0.19499999284744 | 0.10470611602068 |
64x1 | 24 | 0.96 | 61.33 | 64 | 0.11999996751547 | 0.071798242628574 |
128x1 | 44 | 0.92 | 117.77 | 128 | 0.08500000089407 | 0.087432436645031 |
192x1 | 64 | 0.97 | 186.87 | 192 | 0.064999997615814 | 0.069525644183159 |