Function: calc_x_times_f(int, float const (*) [3], float const (*) [3], bool, float const (*) [3], f ... | Module: libgromacs_mpi.so.9.0.0 | Source: calcvir.cpp:58-87 [...] | Coverage (incl. loops): 0.01% | (excl. loops): 0.00% |
---|
Function: calc_x_times_f(int, float const (*) [3], float const (*) [3], bool, float const (*) [3], f ... | Module: libgromacs_mpi.so.9.0.0 | Source: calcvir.cpp:58-87 [...] | Coverage (incl. loops): 0.01% | (excl. loops): 0.00% |
---|
/home/eoseret/gromacs-2024.2/src/gromacs/mdlib/calcvir.cpp: 58 - 87 |
-------------------------------------------------------------------------------- |
58: { |
59: clear_mat(x_times_f); |
60: |
61: for (int i = 0; i < nxf; i++) |
[...] |
67: x_times_f[d][n] += x[i][d] * f[i][n]; |
[...] |
75: if (isx == 1 || isx == -1) |
[...] |
81: x_times_f[d][n] += box[d][d] * f[i][n]; |
[...] |
87: } |
/home/eoseret/gromacs-2024.2/api/legacy/include/gromacs/math/vec.h: 328 - 328 |
-------------------------------------------------------------------------------- |
328: a[XX][XX] = a[XX][YY] = a[XX][ZZ] = nul; |
0xacc7c0 PUSH %RBP |
0xacc7c1 MOV %RSP,%RBP |
0xacc7c4 PUSH %RBX |
0xacc7c5 VXORPS %XMM0,%XMM0,%XMM0 |
0xacc7c9 VMOVUPS %YMM0,(%R9) |
0xacc7ce MOVL $0,0x20(%R9) |
0xacc7d6 TEST %EDI,%EDI |
0xacc7d8 JLE accac1 |
0xacc7de MOV %EDI,%EAX |
0xacc7e0 SAL $0x2,%RAX |
0xacc7e4 LEA (%RAX,%RAX,2),%RAX |
0xacc7e8 TEST %CL,%CL |
0xacc7ea JE acc9dd |
0xacc7f0 VXORPS %XMM8,%XMM8,%XMM8 |
0xacc7f5 XOR %ECX,%ECX |
0xacc7f7 MOV $-0x33333333,%EDI |
0xacc7fc XOR %R10D,%R10D |
0xacc7ff VXORPS %XMM9,%XMM9,%XMM9 |
0xacc804 VXORPS %XMM7,%XMM7,%XMM7 |
0xacc808 VXORPS %XMM6,%XMM6,%XMM6 |
0xacc80c VXORPS %XMM5,%XMM5,%XMM5 |
0xacc810 VXORPS %XMM4,%XMM4,%XMM4 |
0xacc814 VXORPS %XMM3,%XMM3,%XMM3 |
0xacc818 VXORPS %XMM2,%XMM2,%XMM2 |
0xacc81c VXORPS %XMM1,%XMM1,%XMM1 |
0xacc820 JMP acc864 |
0xacc822 NOPW %CS:(%RAX,%RAX,1) |
(14262) 0xacc830 ADD $0xc,%R10 |
(14262) 0xacc834 INC %ECX |
(14262) 0xacc836 VMOVAPS %XMM9,%XMM8 |
(14262) 0xacc83b VMOVAPS %XMM7,%XMM9 |
(14262) 0xacc83f VMOVAPS %XMM6,%XMM7 |
(14262) 0xacc843 VMOVAPS %XMM5,%XMM6 |
(14262) 0xacc847 VMOVAPS %XMM4,%XMM5 |
(14262) 0xacc84b VMOVAPS %XMM3,%XMM4 |
(14262) 0xacc84f VMOVAPS %XMM2,%XMM3 |
(14262) 0xacc853 VMOVAPS %XMM1,%XMM2 |
(14262) 0xacc857 VMOVAPS %XMM0,%XMM1 |
(14262) 0xacc85b CMP %R10,%RAX |
(14262) 0xacc85e JE accac1 |
(14262) 0xacc864 MOV %ECX,%R11D |
(14262) 0xacc867 IMUL %RDI,%R11 |
(14262) 0xacc86b SHR $0x22,%R11 |
(14262) 0xacc86f LEA (%R11,%R11,4),%EBX |
(14262) 0xacc873 MOV %ECX,%R11D |
(14262) 0xacc876 SUB %EBX,%R11D |
(14262) 0xacc879 VMOVSS (%RSI,%R10,1),%XMM0 |
(14262) 0xacc87f VFMADD132SS (%RDX,%R10,1),%XMM1,%XMM0 |
(14262) 0xacc885 VMOVSS %XMM0,(%R9) |
(14262) 0xacc88a VMOVSS (%RSI,%R10,1),%XMM1 |
(14262) 0xacc890 VFMADD132SS 0x4(%RDX,%R10,1),%XMM2,%XMM1 |
(14262) 0xacc897 VMOVSS %XMM1,0x4(%R9) |
(14262) 0xacc89d VMOVSS (%RSI,%R10,1),%XMM2 |
(14262) 0xacc8a3 VFMADD132SS 0x8(%RDX,%R10,1),%XMM3,%XMM2 |
(14262) 0xacc8aa VMOVSS %XMM2,0x8(%R9) |
(14262) 0xacc8b0 VMOVSS 0x4(%RSI,%R10,1),%XMM3 |
(14262) 0xacc8b7 VFMADD132SS (%RDX,%R10,1),%XMM4,%XMM3 |
(14262) 0xacc8bd VMOVSS %XMM3,0xc(%R9) |
(14262) 0xacc8c3 VMOVSS 0x4(%RSI,%R10,1),%XMM4 |
(14262) 0xacc8ca VFMADD132SS 0x4(%RDX,%R10,1),%XMM5,%XMM4 |
(14262) 0xacc8d1 VMOVSS %XMM4,0x10(%R9) |
(14262) 0xacc8d7 VMOVSS 0x4(%RSI,%R10,1),%XMM5 |
(14262) 0xacc8de VFMADD132SS 0x8(%RDX,%R10,1),%XMM6,%XMM5 |
(14262) 0xacc8e5 VMOVSS %XMM5,0x14(%R9) |
(14262) 0xacc8eb VMOVSS 0x8(%RSI,%R10,1),%XMM6 |
(14262) 0xacc8f2 VFMADD132SS (%RDX,%R10,1),%XMM7,%XMM6 |
(14262) 0xacc8f8 VMOVSS %XMM6,0x18(%R9) |
(14262) 0xacc8fe VMOVSS 0x8(%RSI,%R10,1),%XMM7 |
(14262) 0xacc905 VFMADD132SS 0x4(%RDX,%R10,1),%XMM9,%XMM7 |
(14262) 0xacc90c VMOVSS %XMM7,0x1c(%R9) |
(14262) 0xacc912 VMOVSS 0x8(%RSI,%R10,1),%XMM9 |
(14262) 0xacc919 VFMADD132SS 0x8(%RDX,%R10,1),%XMM8,%XMM9 |
(14262) 0xacc920 VMOVSS %XMM9,0x20(%R9) |
(14262) 0xacc926 OR $0x2,%R11D |
(14262) 0xacc92a CMP $0x3,%R11D |
(14262) 0xacc92e JNE acc830 |
(14262) 0xacc934 VMOVSS (%R8),%XMM8 |
(14262) 0xacc939 VFMADD231SS (%RDX,%R10,1),%XMM8,%XMM0 |
(14262) 0xacc93f VMOVSS %XMM0,(%R9) |
(14262) 0xacc944 VMOVSS (%R8),%XMM8 |
(14262) 0xacc949 VFMADD231SS 0x4(%RDX,%R10,1),%XMM8,%XMM1 |
(14262) 0xacc950 VMOVSS %XMM1,0x4(%R9) |
(14262) 0xacc956 VMOVSS (%R8),%XMM8 |
(14262) 0xacc95b VFMADD231SS 0x8(%RDX,%R10,1),%XMM8,%XMM2 |
(14262) 0xacc962 VMOVSS %XMM2,0x8(%R9) |
(14262) 0xacc968 VMOVSS 0x10(%R8),%XMM8 |
(14262) 0xacc96e VFMADD231SS (%RDX,%R10,1),%XMM8,%XMM3 |
(14262) 0xacc974 VMOVSS %XMM3,0xc(%R9) |
(14262) 0xacc97a VMOVSS 0x10(%R8),%XMM8 |
(14262) 0xacc980 VFMADD231SS 0x4(%RDX,%R10,1),%XMM8,%XMM4 |
(14262) 0xacc987 VMOVSS %XMM4,0x10(%R9) |
(14262) 0xacc98d VMOVSS 0x10(%R8),%XMM8 |
(14262) 0xacc993 VFMADD231SS 0x8(%RDX,%R10,1),%XMM8,%XMM5 |
(14262) 0xacc99a VMOVSS %XMM5,0x14(%R9) |
(14262) 0xacc9a0 VMOVSS 0x20(%R8),%XMM8 |
(14262) 0xacc9a6 VFMADD231SS (%RDX,%R10,1),%XMM8,%XMM6 |
(14262) 0xacc9ac VMOVSS %XMM6,0x18(%R9) |
(14262) 0xacc9b2 VMOVSS 0x20(%R8),%XMM8 |
(14262) 0xacc9b8 VFMADD231SS 0x4(%RDX,%R10,1),%XMM8,%XMM7 |
(14262) 0xacc9bf VMOVSS %XMM7,0x1c(%R9) |
(14262) 0xacc9c5 VMOVSS 0x20(%R8),%XMM8 |
(14262) 0xacc9cb VFMADD231SS 0x8(%RDX,%R10,1),%XMM8,%XMM9 |
(14262) 0xacc9d2 VMOVSS %XMM9,0x20(%R9) |
(14262) 0xacc9d8 JMP acc830 |
0xacc9dd VXORPS %XMM0,%XMM0,%XMM0 |
0xacc9e1 XOR %ECX,%ECX |
0xacc9e3 VXORPS %XMM1,%XMM1,%XMM1 |
0xacc9e7 VXORPS %XMM2,%XMM2,%XMM2 |
0xacc9eb VXORPS %XMM3,%XMM3,%XMM3 |
0xacc9ef VXORPS %XMM4,%XMM4,%XMM4 |
0xacc9f3 VXORPS %XMM5,%XMM5,%XMM5 |
0xacc9f7 VXORPS %XMM6,%XMM6,%XMM6 |
0xacc9fb VXORPS %XMM7,%XMM7,%XMM7 |
0xacc9ff VXORPS %XMM8,%XMM8,%XMM8 |
0xacca04 NOPW %CS:(%RAX,%RAX,1) |
(14261) 0xacca10 VMOVSS (%RSI,%RCX,1),%XMM9 |
(14261) 0xacca15 VFMADD231SS (%RDX,%RCX,1),%XMM9,%XMM8 |
(14261) 0xacca1b VMOVSS %XMM8,(%R9) |
(14261) 0xacca20 VMOVSS (%RSI,%RCX,1),%XMM9 |
(14261) 0xacca25 VFMADD231SS 0x4(%RDX,%RCX,1),%XMM9,%XMM7 |
(14261) 0xacca2c VMOVSS %XMM7,0x4(%R9) |
(14261) 0xacca32 VMOVSS (%RSI,%RCX,1),%XMM9 |
(14261) 0xacca37 VFMADD231SS 0x8(%RDX,%RCX,1),%XMM9,%XMM6 |
(14261) 0xacca3e VMOVSS %XMM6,0x8(%R9) |
(14261) 0xacca44 VMOVSS 0x4(%RSI,%RCX,1),%XMM9 |
(14261) 0xacca4a VFMADD231SS (%RDX,%RCX,1),%XMM9,%XMM5 |
(14261) 0xacca50 VMOVSS %XMM5,0xc(%R9) |
(14261) 0xacca56 VMOVSS 0x4(%RSI,%RCX,1),%XMM9 |
(14261) 0xacca5c VFMADD231SS 0x4(%RDX,%RCX,1),%XMM9,%XMM4 |
(14261) 0xacca63 VMOVSS %XMM4,0x10(%R9) |
(14261) 0xacca69 VMOVSS 0x4(%RSI,%RCX,1),%XMM9 |
(14261) 0xacca6f VFMADD231SS 0x8(%RDX,%RCX,1),%XMM9,%XMM3 |
(14261) 0xacca76 VMOVSS %XMM3,0x14(%R9) |
(14261) 0xacca7c VMOVSS 0x8(%RSI,%RCX,1),%XMM9 |
(14261) 0xacca82 VFMADD231SS (%RDX,%RCX,1),%XMM9,%XMM2 |
(14261) 0xacca88 VMOVSS %XMM2,0x18(%R9) |
(14261) 0xacca8e VMOVSS 0x8(%RSI,%RCX,1),%XMM9 |
(14261) 0xacca94 VFMADD231SS 0x4(%RDX,%RCX,1),%XMM9,%XMM1 |
(14261) 0xacca9b VMOVSS %XMM1,0x1c(%R9) |
(14261) 0xaccaa1 VMOVSS 0x8(%RSI,%RCX,1),%XMM9 |
(14261) 0xaccaa7 VFMADD231SS 0x8(%RDX,%RCX,1),%XMM9,%XMM0 |
(14261) 0xaccaae VMOVSS %XMM0,0x20(%R9) |
(14261) 0xaccab4 ADD $0xc,%RCX |
(14261) 0xaccab8 CMP %RCX,%RAX |
(14261) 0xaccabb JNE acca10 |
0xaccac1 POP %RBX |
0xaccac2 POP %RBP |
0xaccac3 VZEROUPPER |
0xaccac6 RET |
0xaccac7 NOPW (%RAX,%RAX,1) |
Coverage (%) | Name | Source Location | Module |
---|---|---|---|
►100.00+ | calc_vir(int, float const (*) [...] | calcvir.cpp:52 | libgromacs_mpi.so.9.0.0 |
○ | postProcessForceWithShiftForce[...] | nrnb.h:188 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | sim_util.cpp:2483 | 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 |
---|---|---|---|
►98.89+ | calc_vir(int, float const (*) [...] | calcvir.cpp:52 | libgromacs_mpi.so.9.0.0 |
○ | postProcessForceWithShiftForce[...] | nrnb.h:188 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | sim_util.cpp:2483 | 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 | |
►1.11+ | calc_vir(int, float const (*) [...] | calcvir.cpp:52 | libgromacs_mpi.so.9.0.0 |
○ | postProcessForceWithShiftForce[...] | nrnb.h:188 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | sim_util.cpp:2483 | 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+ | calc_vir(int, float const (*) [...] | calcvir.cpp:52 | libgromacs_mpi.so.9.0.0 |
○ | postProcessForceWithShiftForce[...] | nrnb.h:188 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | sim_util.cpp:2483 | 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 |
---|---|---|---|
►77.33+ | calc_vir(int, float const (*) [...] | calcvir.cpp:52 | libgromacs_mpi.so.9.0.0 |
○ | postProcessForceWithShiftForce[...] | nrnb.h:188 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | sim_util.cpp:2483 | 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.00+ | calc_vir(int, float const (*) [...] | calcvir.cpp:52 | libgromacs_mpi.so.9.0.0 |
○ | postProcessForceWithShiftForce[...] | nrnb.h:188 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | sim_util.cpp:2483 | 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 |
►9.33+ | calc_vir(int, float const (*) [...] | calcvir.cpp:52 | libgromacs_mpi.so.9.0.0 |
○ | postProcessForceWithShiftForce[...] | nrnb.h:188 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | sim_util.cpp:2483 | 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.33+ | calc_vir(int, float const (*) [...] | calcvir.cpp:52 | libgromacs_mpi.so.9.0.0 |
○ | postProcessForceWithShiftForce[...] | nrnb.h:188 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | sim_util.cpp:2483 | 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 |
---|---|---|---|
►88.42+ | calc_vir(int, float const (*) [...] | calcvir.cpp:52 | libgromacs_mpi.so.9.0.0 |
○ | postProcessForceWithShiftForce[...] | nrnb.h:188 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | sim_util.cpp:2483 | 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.32+ | calc_vir(int, float const (*) [...] | calcvir.cpp:52 | libgromacs_mpi.so.9.0.0 |
○ | postProcessForceWithShiftForce[...] | nrnb.h:188 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | sim_util.cpp:2483 | 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.21+ | calc_vir(int, float const (*) [...] | calcvir.cpp:52 | libgromacs_mpi.so.9.0.0 |
○ | postProcessForceWithShiftForce[...] | nrnb.h:188 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | sim_util.cpp:2483 | 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 |
►1.05+ | postProcessForceWithShiftForce[...] | nrnb.h:188 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | sim_util.cpp:2483 | 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 |
---|---|---|---|
►78.46+ | calc_vir(int, float const (*) [...] | calcvir.cpp:52 | libgromacs_mpi.so.9.0.0 |
○ | postProcessForceWithShiftForce[...] | nrnb.h:188 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | sim_util.cpp:2483 | 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 | |
►18.46+ | calc_vir(int, float const (*) [...] | calcvir.cpp:52 | libgromacs_mpi.so.9.0.0 |
○ | postProcessForceWithShiftForce[...] | nrnb.h:188 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | sim_util.cpp:2483 | 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 |
►1.54+ | calc_vir(int, float const (*) [...] | calcvir.cpp:52 | libgromacs_mpi.so.9.0.0 |
○ | postProcessForceWithShiftForce[...] | nrnb.h:188 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | sim_util.cpp:2483 | 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.54+ | calc_vir(int, float const (*) [...] | calcvir.cpp:52 | libgromacs_mpi.so.9.0.0 |
○ | postProcessForceWithShiftForce[...] | nrnb.h:188 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | sim_util.cpp:2483 | 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 |
---|---|---|---|
►97.40+ | calc_vir(int, float const (*) [...] | calcvir.cpp:52 | libgromacs_mpi.so.9.0.0 |
○ | postProcessForceWithShiftForce[...] | nrnb.h:188 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | sim_util.cpp:2483 | 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 | |
►1.30+ | calc_vir(int, float const (*) [...] | calcvir.cpp:52 | libgromacs_mpi.so.9.0.0 |
○ | postProcessForceWithShiftForce[...] | nrnb.h:188 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | sim_util.cpp:2483 | 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 | |
►1.30+ | calc_vir(int, float const (*) [...] | calcvir.cpp:52 | libgromacs_mpi.so.9.0.0 |
○ | postProcessForceWithShiftForce[...] | nrnb.h:188 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | sim_util.cpp:2483 | 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 |
---|---|---|---|
►71.64+ | calc_vir(int, float const (*) [...] | calcvir.cpp:52 | libgromacs_mpi.so.9.0.0 |
○ | postProcessForceWithShiftForce[...] | nrnb.h:188 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | sim_util.cpp:2483 | 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.45+ | calc_vir(int, float const (*) [...] | calcvir.cpp:52 | libgromacs_mpi.so.9.0.0 |
○ | postProcessForceWithShiftForce[...] | nrnb.h:188 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | sim_util.cpp:2483 | 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 |
►10.45+ | calc_vir(int, float const (*) [...] | calcvir.cpp:52 | libgromacs_mpi.so.9.0.0 |
○ | postProcessForceWithShiftForce[...] | nrnb.h:188 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | sim_util.cpp:2483 | 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 |
►5.97+ | calc_vir(int, float const (*) [...] | calcvir.cpp:52 | libgromacs_mpi.so.9.0.0 |
○ | postProcessForceWithShiftForce[...] | nrnb.h:188 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | sim_util.cpp:2483 | 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 | |
►1.49+ | calc_vir(int, float const (*) [...] | calcvir.cpp:52 | libgromacs_mpi.so.9.0.0 |
○ | postProcessForceWithShiftForce[...] | nrnb.h:188 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | sim_util.cpp:2483 | 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 |
---|---|---|---|
►95.83+ | calc_vir(int, float const (*) [...] | calcvir.cpp:52 | libgromacs_mpi.so.9.0.0 |
○ | postProcessForceWithShiftForce[...] | nrnb.h:188 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | sim_util.cpp:2483 | 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 | |
►4.17+ | calc_vir(int, float const (*) [...] | calcvir.cpp:52 | libgromacs_mpi.so.9.0.0 |
○ | postProcessForceWithShiftForce[...] | nrnb.h:188 | libgromacs_mpi.so.9.0.0 |
○ | do_force(_IO_FILE*, t_commrec [...] | sim_util.cpp:2483 | 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 / |
The code analyzed by CQA in that panel excludes loops and represents 0.00% of application time for run 1x1
Source file and lines | calcvir.cpp:58-87 |
Module | libgromacs_mpi.so.9.0.0 |
nb instructions | 43 |
nb uops | 40 |
loop length | 178 |
used x86 registers | 8 |
used mmx registers | 0 |
used xmm registers | 10 |
used ymm registers | 1 |
used zmm registers | 0 |
nb stack references | 0 |
micro-operation queue | 6.67 cycles |
front end | 6.67 cycles |
ALU0/BRU0 | ALU1 | ALU2 | ALU3 | BRU1 | AGU0 | AGU1 | AGU2 | FP0 | FP1 | FP2 | FP3 | FP4 | FP5 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
uops | 2.00 | 1.75 | 1.75 | 1.50 | 2.00 | 0.67 | 0.67 | 0.67 | 0.00 | 0.00 | 0.00 | 0.00 | 0.50 | 0.50 |
cycles | 2.00 | 1.75 | 1.75 | 1.50 | 2.00 | 0.67 | 0.67 | 0.67 | 0.00 | 0.00 | 0.00 | 0.00 | 0.50 | 0.50 |
Cycles executing div or sqrt instructions | NA |
Front-end | 6.67 |
Dispatch | 2.00 |
Overall L1 | 6.67 |
all | 16% |
load | NA (no load vectorizable/vectorized instructions) |
store | 0% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | NA (no add-sub vectorizable/vectorized instructions) |
fma | NA (no fma vectorizable/vectorized instructions) |
other | 20% |
all | 100% |
load | NA (no load vectorizable/vectorized instructions) |
store | 100% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | NA (no add-sub vectorizable/vectorized instructions) |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 100% |
all | 80% |
load | NA (no load vectorizable/vectorized instructions) |
store | 50% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | NA (no add-sub vectorizable/vectorized instructions) |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 83% |
all | 10% |
load | NA (no load vectorizable/vectorized instructions) |
store | 6% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | NA (no add-sub vectorizable/vectorized instructions) |
fma | NA (no fma vectorizable/vectorized instructions) |
other | 11% |
all | 26% |
load | NA (no load vectorizable/vectorized instructions) |
store | 50% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | NA (no add-sub vectorizable/vectorized instructions) |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 25% |
all | 22% |
load | NA (no load vectorizable/vectorized instructions) |
store | 28% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | NA (no add-sub vectorizable/vectorized instructions) |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 22% |
Instruction | Nb FU | ALU0/BRU0 | ALU1 | ALU2 | ALU3 | BRU1 | AGU0 | AGU1 | AGU2 | FP0 | FP1 | FP2 | FP3 | FP4 | FP5 | Latency | Recip. throughput | Vectorization |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PUSH %RBP | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 | N/A |
MOV %RSP,%RBP | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | scal (12.5%) |
PUSH %RBX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 | N/A |
VXORPS %XMM0,%XMM0,%XMM0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | vect (25.0%) |
VMOVUPS %YMM0,(%R9) | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 4 | 1 | vect (50.0%) |
MOVL $0,0x20(%R9) | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 0.50 | scal (6.3%) |
TEST %EDI,%EDI | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | scal (6.3%) |
JLE accac1 <_ZL14calc_x_times_fiPA3_KfS1_bS1_PA3_f+0x301> | 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,%EAX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | N/A |
SAL $0x2,%RAX | 1 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 | N/A |
LEA (%RAX,%RAX,2),%RAX | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | N/A |
TEST %CL,%CL | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | N/A |
JE acc9dd <_ZL14calc_x_times_fiPA3_KfS1_bS1_PA3_f+0x21d> | 1 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50-1 | N/A |
VXORPS %XMM8,%XMM8,%XMM8 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | vect (25.0%) |
XOR %ECX,%ECX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 | N/A |
MOV $-0x33333333,%EDI | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | scal (6.3%) |
XOR %R10D,%R10D | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 | scal (6.3%) |
VXORPS %XMM9,%XMM9,%XMM9 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | vect (25.0%) |
VXORPS %XMM7,%XMM7,%XMM7 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | vect (25.0%) |
VXORPS %XMM6,%XMM6,%XMM6 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | vect (25.0%) |
VXORPS %XMM5,%XMM5,%XMM5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | vect (25.0%) |
VXORPS %XMM4,%XMM4,%XMM4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | vect (25.0%) |
VXORPS %XMM3,%XMM3,%XMM3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | vect (25.0%) |
VXORPS %XMM2,%XMM2,%XMM2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | vect (25.0%) |
VXORPS %XMM1,%XMM1,%XMM1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | vect (25.0%) |
JMP acc864 <_ZL14calc_x_times_fiPA3_KfS1_bS1_PA3_f+0xa4> | 1 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | N/A |
NOPW %CS:(%RAX,%RAX,1) | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.09 | N/A |
VXORPS %XMM0,%XMM0,%XMM0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | vect (25.0%) |
XOR %ECX,%ECX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 | N/A |
VXORPS %XMM1,%XMM1,%XMM1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | vect (25.0%) |
VXORPS %XMM2,%XMM2,%XMM2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | vect (25.0%) |
VXORPS %XMM3,%XMM3,%XMM3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | vect (25.0%) |
VXORPS %XMM4,%XMM4,%XMM4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | vect (25.0%) |
VXORPS %XMM5,%XMM5,%XMM5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | vect (25.0%) |
VXORPS %XMM6,%XMM6,%XMM6 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | vect (25.0%) |
VXORPS %XMM7,%XMM7,%XMM7 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | vect (25.0%) |
VXORPS %XMM8,%XMM8,%XMM8 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | vect (25.0%) |
NOPW %CS:(%RAX,%RAX,1) | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.09 | N/A |
POP %RBX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.33 | N/A |
POP %RBP | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.33 | N/A |
VZEROUPPER | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | vect (25.0%) |
RET | 1 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 | N/A |
NOPW (%RAX,%RAX,1) | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.09 | N/A |
The code analyzed by CQA in that panel excludes loops and represents 0.00% of application time for run 1x1
Source file and lines | calcvir.cpp:58-87 |
Module | libgromacs_mpi.so.9.0.0 |
nb instructions | 43 |
nb uops | 40 |
loop length | 178 |
used x86 registers | 8 |
used mmx registers | 0 |
used xmm registers | 10 |
used ymm registers | 1 |
used zmm registers | 0 |
nb stack references | 0 |
micro-operation queue | 6.67 cycles |
front end | 6.67 cycles |
ALU0/BRU0 | ALU1 | ALU2 | ALU3 | BRU1 | AGU0 | AGU1 | AGU2 | FP0 | FP1 | FP2 | FP3 | FP4 | FP5 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
uops | 2.00 | 1.75 | 1.75 | 1.50 | 2.00 | 0.67 | 0.67 | 0.67 | 0.00 | 0.00 | 0.00 | 0.00 | 0.50 | 0.50 |
cycles | 2.00 | 1.75 | 1.75 | 1.50 | 2.00 | 0.67 | 0.67 | 0.67 | 0.00 | 0.00 | 0.00 | 0.00 | 0.50 | 0.50 |
Cycles executing div or sqrt instructions | NA |
Front-end | 6.67 |
Dispatch | 2.00 |
Overall L1 | 6.67 |
all | 16% |
load | NA (no load vectorizable/vectorized instructions) |
store | 0% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | NA (no add-sub vectorizable/vectorized instructions) |
fma | NA (no fma vectorizable/vectorized instructions) |
other | 20% |
all | 100% |
load | NA (no load vectorizable/vectorized instructions) |
store | 100% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | NA (no add-sub vectorizable/vectorized instructions) |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 100% |
all | 80% |
load | NA (no load vectorizable/vectorized instructions) |
store | 50% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | NA (no add-sub vectorizable/vectorized instructions) |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 83% |
all | 10% |
load | NA (no load vectorizable/vectorized instructions) |
store | 6% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | NA (no add-sub vectorizable/vectorized instructions) |
fma | NA (no fma vectorizable/vectorized instructions) |
other | 11% |
all | 26% |
load | NA (no load vectorizable/vectorized instructions) |
store | 50% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | NA (no add-sub vectorizable/vectorized instructions) |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 25% |
all | 22% |
load | NA (no load vectorizable/vectorized instructions) |
store | 28% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | NA (no add-sub vectorizable/vectorized instructions) |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 22% |
Instruction | Nb FU | ALU0/BRU0 | ALU1 | ALU2 | ALU3 | BRU1 | AGU0 | AGU1 | AGU2 | FP0 | FP1 | FP2 | FP3 | FP4 | FP5 | Latency | Recip. throughput | Vectorization |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PUSH %RBP | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 | N/A |
MOV %RSP,%RBP | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | scal (12.5%) |
PUSH %RBX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 | N/A |
VXORPS %XMM0,%XMM0,%XMM0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | vect (25.0%) |
VMOVUPS %YMM0,(%R9) | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 4 | 1 | vect (50.0%) |
MOVL $0,0x20(%R9) | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 0.50 | scal (6.3%) |
TEST %EDI,%EDI | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | scal (6.3%) |
JLE accac1 <_ZL14calc_x_times_fiPA3_KfS1_bS1_PA3_f+0x301> | 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,%EAX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | N/A |
SAL $0x2,%RAX | 1 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 | N/A |
LEA (%RAX,%RAX,2),%RAX | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | N/A |
TEST %CL,%CL | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | N/A |
JE acc9dd <_ZL14calc_x_times_fiPA3_KfS1_bS1_PA3_f+0x21d> | 1 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50-1 | N/A |
VXORPS %XMM8,%XMM8,%XMM8 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | vect (25.0%) |
XOR %ECX,%ECX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 | N/A |
MOV $-0x33333333,%EDI | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | scal (6.3%) |
XOR %R10D,%R10D | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 | scal (6.3%) |
VXORPS %XMM9,%XMM9,%XMM9 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | vect (25.0%) |
VXORPS %XMM7,%XMM7,%XMM7 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | vect (25.0%) |
VXORPS %XMM6,%XMM6,%XMM6 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | vect (25.0%) |
VXORPS %XMM5,%XMM5,%XMM5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | vect (25.0%) |
VXORPS %XMM4,%XMM4,%XMM4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | vect (25.0%) |
VXORPS %XMM3,%XMM3,%XMM3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | vect (25.0%) |
VXORPS %XMM2,%XMM2,%XMM2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | vect (25.0%) |
VXORPS %XMM1,%XMM1,%XMM1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | vect (25.0%) |
JMP acc864 <_ZL14calc_x_times_fiPA3_KfS1_bS1_PA3_f+0xa4> | 1 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | N/A |
NOPW %CS:(%RAX,%RAX,1) | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.09 | N/A |
VXORPS %XMM0,%XMM0,%XMM0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | vect (25.0%) |
XOR %ECX,%ECX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 | N/A |
VXORPS %XMM1,%XMM1,%XMM1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | vect (25.0%) |
VXORPS %XMM2,%XMM2,%XMM2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | vect (25.0%) |
VXORPS %XMM3,%XMM3,%XMM3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | vect (25.0%) |
VXORPS %XMM4,%XMM4,%XMM4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | vect (25.0%) |
VXORPS %XMM5,%XMM5,%XMM5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | vect (25.0%) |
VXORPS %XMM6,%XMM6,%XMM6 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | vect (25.0%) |
VXORPS %XMM7,%XMM7,%XMM7 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | vect (25.0%) |
VXORPS %XMM8,%XMM8,%XMM8 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 | vect (25.0%) |
NOPW %CS:(%RAX,%RAX,1) | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.09 | N/A |
POP %RBX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.33 | N/A |
POP %RBP | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.33 | N/A |
VZEROUPPER | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | vect (25.0%) |
RET | 1 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 | N/A |
NOPW (%RAX,%RAX,1) | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.09 | 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.78 | 0.01 | 1.09 | -0 | 0.93 | 0 | 0.73 | 0.01 | 1.08 | -0 | 0.91 | 0 | 1.03 | -0 | 0.96 | 0 |
Run | Number of threads | Efficiency (ideal is 1) | Speedup | Ideal Speedup | Time (s) | Coverage (%) |
---|---|---|---|---|---|---|
1x1 | 1 | 1 | 1 | 1 | 0.34999999403954 | 0.041986331343651 |
2x1 | 2 | 0.78 | 1.56 | 2 | 0.22999997437 | 0.049639575183392 |
4x1 | 4 | 1.09 | 4.37 | 4 | 0.094999998807907 | 0.032131984829903 |
8x1 | 8 | 0.93 | 7.46 | 8 | 0.070000007748604 | 0.03030726313591 |
16x1 | 16 | 0.73 | 11.74 | 16 | 0.055000003427267 | 0.036056574434042 |
32x1 | 18 | 1.08 | 34.42 | 32 | 0.03999999538064 | 0.01978469453752 |
64x1 | 32 | 0.91 | 57.98 | 64 | 0.024999992921948 | 0.015187599696219 |
128x1 | 43 | 1.03 | 131.84 | 128 | 0.024999998509884 | 0.015620914287865 |
192x1 | 55 | 0.96 | 184.79 | 192 | 0.015000000596046 | 0.01406155526638 |
Name | Coverage (%) | Time (s) |
---|---|---|
▼calc_x_times_f(int, float const (*) [3], float const (*) [3], bool, float const (*) [3], float (*) [3])– | 0.01 | 0.00 |
○Loop 14261 - calcvir.cpp:61-67 - libgromacs_mpi.so.9.0.0 | 0.01 | 0.01 |
○Loop 14262 - calcvir.cpp:61-81 - libgromacs_mpi.so.9.0.0 | 0.00 | 0.00 |