Help is available by moving the cursor above any symbol or by checking MAQAO website.
- r0: 1x1
- r1: 2x1
- r2: 4x1
- r3: 8x1
- r4: 16x1
- r5: 32x1
- r6: 64x1
Metric | r0 | r1 | r2 | r3 | r4 | r5 | r6 |
---|
Total Time (s) | 1.78 E3 | 924.43 | 479.74 | 255.51 | 138.37 | 82.11 | 47.28 |
Profiled Time (s) | 1.78 E3 | 917.33 | 474.69 | 251.60 | 134.80 | 80.55 | 45.97 |
Time in analyzed loops (%) | 93.0 | 92.1 | 90.5 | 89.4 | 84.3 | 73.3 | 67.7 |
Time in analyzed innermost loops (%) | 86.5 | 85.4 | 83.6 | 81.9 | 77.3 | 66.6 | 60.9 |
Time in user code (%) | 0 | 0.56 | 2.06 | 2.97 | 7.24 | 19.4 | 23.8 |
Compilation Options Score (%) | 100 | 100 | 100 | 100 | 100 | 100 | 100 |
Perfect Flow Complexity | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 |
Array Access Efficiency (%) | Not Available | Not Available | Not Available | Not Available | Not Available | Not Available | Not Available |
Perfect OpenMP + MPI + Pthread | 1.00 | 1.00 | 1.00 | 1.00 | 1.01 | 1.00 | 1.01 |
Perfect OpenMP + MPI + Pthread + Perfect Load Distribution | 1.00 | 1.00 | 1.00 | 1.01 | 1.01 | 1.01 | 1.03 |
No Scalar Integer | Potential Speedup | 1.05 | 1.05 | 1.05 | 1.06 | 1.05 | 1.05 | 1.05 |
Nb Loops to get 80% | 9 | 10 | 10 | 10 | 11 | 10 | 10 |
FP Vectorised | Potential Speedup | 1.01 | 1.01 | 1.01 | 1.01 | 1.01 | 1.01 | 1.01 |
Nb Loops to get 80% | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
Fully Vectorised | Potential Speedup | 1.08 | 1.08 | 1.07 | 1.08 | 1.07 | 1.06 | 1.06 |
Nb Loops to get 80% | 11 | 15 | 17 | 17 | 18 | 20 | 20 |
Only FP Arithmetic | Potential Speedup | 1.06 | 1.06 | 1.06 | 1.07 | 1.06 | 1.06 | 1.06 |
Nb Loops to get 80% | 13 | 15 | 15 | 15 | 16 | 16 | 16 |
Scalability - Gap | 1.00 | 1.04 | 1.08 | 1.15 | 1.24 | 1.48 | 1.70 |
Source Object | Issue |
▼libgromacs_mpi.so.7.0.0– | |
▼fft5d.cpp– | |
○ | |
▼threaded_force_buffer.cpp– | |
○ | |
▼kernel_ElecEw_VdwLJCombLB_F.cpp– | |
○ | |
▼pme_pp.cpp– | |
○ | |
▼pme_gather.cpp– | |
○ | |
▼calcvir.cpp– | |
○ | |
▼partition.cpp– | |
○ | |
▼manage_threading.cpp– | |
○ | |
▼kernel_prune.cpp– | |
○ | |
▼settle.cpp– | |
○ | |
▼pairlist.cpp– | |
○ | |
▼update.cpp– | |
○ | |
▼md_support.cpp– | |
○ | |
▼kernel_common.cpp– | |
○ | |
▼mdatoms.cpp– | |
○ | |
▼lincs.cpp– | |
○ | |
▼pbc.cpp– | |
○ | |
▼domdec.cpp– | |
○ | |
▼pme_redistribute.cpp– | |
○ | |
▼domdec_specatomcomm.cpp– | |
○ | |
▼atomdata.cpp– | |
○ | |
▼localtopology.cpp– | |
○ | |
▼pme_solve.cpp– | |
○ | |
▼pme_spread.cpp– | |
○ | |
▼calc_verletbuf.cpp– | |
○ | |
▼bonded.cpp– | |
○ | |
▼sim_util.cpp– | |
○ | |
▼grid.cpp– | |
○ | |
▼redistribute.cpp– | |
○ | |
▼domdec_constraints.cpp– | |
○ | |
▼pairs.cpp– | |
○ | |
▼kernel_ElecEw_VdwLJCombLB_VF.cpp– | |
○ | |
▼pme_grid.cpp– | |
○ | |
Source Object | Issue |
▼libgromacs_mpi.so.7.0.0– | |
▼fft5d.cpp– | |
○ | |
▼threaded_force_buffer.cpp– | |
○ | |
▼kernel_ElecEw_VdwLJCombLB_F.cpp– | |
○ | |
▼pme_pp.cpp– | |
○ | |
▼pme_gather.cpp– | |
○ | |
▼calcvir.cpp– | |
○ | |
▼partition.cpp– | |
○ | |
▼manage_threading.cpp– | |
○ | |
▼kernel_prune.cpp– | |
○ | |
▼settle.cpp– | |
○ | |
▼pairlist.cpp– | |
○ | |
▼update.cpp– | |
○ | |
▼md_support.cpp– | |
○ | |
▼kernel_common.cpp– | |
○ | |
▼mdatoms.cpp– | |
○ | |
▼lincs.cpp– | |
○ | |
▼pbc.cpp– | |
○ | |
▼domdec.cpp– | |
○ | |
▼pme_redistribute.cpp– | |
○ | |
▼domdec_specatomcomm.cpp– | |
○ | |
▼atomdata.cpp– | |
○ | |
▼localtopology.cpp– | |
○ | |
▼pme_solve.cpp– | |
○ | |
▼pme_spread.cpp– | |
○ | |
▼calc_verletbuf.cpp– | |
○ | |
▼bonded.cpp– | |
○ | |
▼sim_util.cpp– | |
○ | |
▼grid.cpp– | |
○ | |
▼redistribute.cpp– | |
○ | |
▼domdec_constraints.cpp– | |
○ | |
▼pairs.cpp– | |
○ | |
▼kernel_ElecEw_VdwLJCombLB_VF.cpp– | |
○ | |
▼pme_grid.cpp– | |
○ | |
Source Object | Issue |
▼libgromacs_mpi.so.7.0.0– | |
▼fft5d.cpp– | |
○ | |
▼threaded_force_buffer.cpp– | |
○ | |
▼kernel_ElecEw_VdwLJCombLB_F.cpp– | |
○ | |
▼pme_pp.cpp– | |
○ | |
▼pme_gather.cpp– | |
○ | |
▼calcvir.cpp– | |
○ | |
▼partition.cpp– | |
○ | |
▼manage_threading.cpp– | |
○ | |
▼kernel_prune.cpp– | |
○ | |
▼settle.cpp– | |
○ | |
▼pairlist.cpp– | |
○ | |
▼update.cpp– | |
○ | |
▼md_support.cpp– | |
○ | |
▼kernel_common.cpp– | |
○ | |
▼mdatoms.cpp– | |
○ | |
▼lincs.cpp– | |
○ | |
▼pbc.cpp– | |
○ | |
▼domdec.cpp– | |
○ | |
▼pme_redistribute.cpp– | |
○ | |
▼domdec_specatomcomm.cpp– | |
○ | |
▼atomdata.cpp– | |
○ | |
▼localtopology.cpp– | |
○ | |
▼pme_solve.cpp– | |
○ | |
▼pme_spread.cpp– | |
○ | |
▼calc_verletbuf.cpp– | |
○ | |
▼bonded.cpp– | |
○ | |
▼sim_util.cpp– | |
○ | |
▼grid.cpp– | |
○ | |
▼redistribute.cpp– | |
○ | |
▼domdec_constraints.cpp– | |
○ | |
▼pairs.cpp– | |
○ | |
▼kernel_ElecEw_VdwLJCombLB_VF.cpp– | |
○ | |
▼pme_grid.cpp– | |
○ | |
Source Object | Issue |
▼libgromacs_mpi.so.7.0.0– | |
▼fft5d.cpp– | |
○ | |
▼threaded_force_buffer.cpp– | |
○ | |
▼kernel_ElecEw_VdwLJCombLB_F.cpp– | |
○ | |
▼pme_pp.cpp– | |
○ | |
▼pme_gather.cpp– | |
○ | |
▼calcvir.cpp– | |
○ | |
▼partition.cpp– | |
○ | |
▼manage_threading.cpp– | |
○ | |
▼kernel_prune.cpp– | |
○ | |
▼settle.cpp– | |
○ | |
▼pairlist.cpp– | |
○ | |
▼update.cpp– | |
○ | |
▼md_support.cpp– | |
○ | |
▼kernel_common.cpp– | |
○ | |
▼mdatoms.cpp– | |
○ | |
▼lincs.cpp– | |
○ | |
▼pbc.cpp– | |
○ | |
▼domdec.cpp– | |
○ | |
▼pme_redistribute.cpp– | |
○ | |
▼domdec_specatomcomm.cpp– | |
○ | |
▼atomdata.cpp– | |
○ | |
▼localtopology.cpp– | |
○ | |
▼pme_solve.cpp– | |
○ | |
▼pme_spread.cpp– | |
○ | |
▼calc_verletbuf.cpp– | |
○ | |
▼bonded.cpp– | |
○ | |
▼sim_util.cpp– | |
○ | |
▼grid.cpp– | |
○ | |
▼redistribute.cpp– | |
○ | |
▼domdec_constraints.cpp– | |
○ | |
▼pairs.cpp– | |
○ | |
▼kernel_ElecEw_VdwLJCombLB_VF.cpp– | |
○ | |
▼pme_grid.cpp– | |
○ | |
Source Object | Issue |
▼libgromacs_mpi.so.7.0.0– | |
▼fft5d.cpp– | |
○ | |
▼threaded_force_buffer.cpp– | |
○ | |
▼kernel_ElecEw_VdwLJCombLB_F.cpp– | |
○ | |
▼pme_pp.cpp– | |
○ | |
▼pme_gather.cpp– | |
○ | |
▼calcvir.cpp– | |
○ | |
▼partition.cpp– | |
○ | |
▼manage_threading.cpp– | |
○ | |
▼kernel_prune.cpp– | |
○ | |
▼settle.cpp– | |
○ | |
▼pairlist.cpp– | |
○ | |
▼update.cpp– | |
○ | |
▼md_support.cpp– | |
○ | |
▼kernel_common.cpp– | |
○ | |
▼mdatoms.cpp– | |
○ | |
▼lincs.cpp– | |
○ | |
▼pbc.cpp– | |
○ | |
▼domdec.cpp– | |
○ | |
▼pme_redistribute.cpp– | |
○ | |
▼domdec_specatomcomm.cpp– | |
○ | |
▼atomdata.cpp– | |
○ | |
▼localtopology.cpp– | |
○ | |
▼pme_solve.cpp– | |
○ | |
▼pme_spread.cpp– | |
○ | |
▼calc_verletbuf.cpp– | |
○ | |
▼bonded.cpp– | |
○ | |
▼sim_util.cpp– | |
○ | |
▼grid.cpp– | |
○ | |
▼redistribute.cpp– | |
○ | |
▼domdec_constraints.cpp– | |
○ | |
▼pairs.cpp– | |
○ | |
▼kernel_ElecEw_VdwLJCombLB_VF.cpp– | |
○ | |
▼pme_grid.cpp– | |
○ | |
Source Object | Issue |
▼libgromacs_mpi.so.7.0.0– | |
▼fft5d.cpp– | |
○ | |
▼threaded_force_buffer.cpp– | |
○ | |
▼kernel_ElecEw_VdwLJCombLB_F.cpp– | |
○ | |
▼pme_pp.cpp– | |
○ | |
▼pme_gather.cpp– | |
○ | |
▼calcvir.cpp– | |
○ | |
▼partition.cpp– | |
○ | |
▼manage_threading.cpp– | |
○ | |
▼kernel_prune.cpp– | |
○ | |
▼settle.cpp– | |
○ | |
▼pairlist.cpp– | |
○ | |
▼update.cpp– | |
○ | |
▼md_support.cpp– | |
○ | |
▼kernel_common.cpp– | |
○ | |
▼mdatoms.cpp– | |
○ | |
▼lincs.cpp– | |
○ | |
▼pbc.cpp– | |
○ | |
▼domdec.cpp– | |
○ | |
▼pme_redistribute.cpp– | |
○ | |
▼domdec_specatomcomm.cpp– | |
○ | |
▼atomdata.cpp– | |
○ | |
▼localtopology.cpp– | |
○ | |
▼pme_solve.cpp– | |
○ | |
▼pme_spread.cpp– | |
○ | |
▼calc_verletbuf.cpp– | |
○ | |
▼bonded.cpp– | |
○ | |
▼sim_util.cpp– | |
○ | |
▼grid.cpp– | |
○ | |
▼redistribute.cpp– | |
○ | |
▼domdec_constraints.cpp– | |
○ | |
▼pairs.cpp– | |
○ | |
▼kernel_ElecEw_VdwLJCombLB_VF.cpp– | |
○ | |
▼pme_grid.cpp– | |
○ | |
Source Object | Issue |
▼libgromacs_mpi.so.7.0.0– | |
▼fft5d.cpp– | |
○ | |
▼threaded_force_buffer.cpp– | |
○ | |
▼kernel_ElecEw_VdwLJCombLB_F.cpp– | |
○ | |
▼pme_pp.cpp– | |
○ | |
▼pme_gather.cpp– | |
○ | |
▼calcvir.cpp– | |
○ | |
▼partition.cpp– | |
○ | |
▼manage_threading.cpp– | |
○ | |
▼kernel_prune.cpp– | |
○ | |
▼settle.cpp– | |
○ | |
▼pairlist.cpp– | |
○ | |
▼update.cpp– | |
○ | |
▼md_support.cpp– | |
○ | |
▼kernel_common.cpp– | |
○ | |
▼mdatoms.cpp– | |
○ | |
▼lincs.cpp– | |
○ | |
▼pbc.cpp– | |
○ | |
▼domdec.cpp– | |
○ | |
▼pme_redistribute.cpp– | |
○ | |
▼domdec_specatomcomm.cpp– | |
○ | |
▼atomdata.cpp– | |
○ | |
▼localtopology.cpp– | |
○ | |
▼pme_solve.cpp– | |
○ | |
▼pme_spread.cpp– | |
○ | |
▼calc_verletbuf.cpp– | |
○ | |
▼bonded.cpp– | |
○ | |
▼sim_util.cpp– | |
○ | |
▼grid.cpp– | |
○ | |
▼redistribute.cpp– | |
○ | |
▼domdec_constraints.cpp– | |
○ | |
▼pairs.cpp– | |
○ | |
▼kernel_ElecEw_VdwLJCombLB_VF.cpp– | |
○ | |
▼pme_grid.cpp– | |
○ | |
| r0 | r1 | r2 | r3 | r4 | r5 | r6 |
Application | /home/eoseret/GROMACS/build/armclang_2/bin/gmx_mpi | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 |
Timestamp | 2023-03-03 21:01:42 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 |
Experiment Type | MPI; | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 |
Machine | ip-172-31-8-114 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 |
Architecture | arm64 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 |
Micro Architecture | ARM_NEOVERSE_V1 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 |
Model Name | | | | | | | |
Cache Size | | | | | | | |
Number of Cores | | | | | | | |
Maximal Frequency | 0 GHz | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 |
OS Version | Linux 5.15.0-1030-aws #34~20.04.1-Ubuntu SMP Tue Jan 24 15:16:39 UTC 2023 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 |
Architecture used during static analysis | arm64 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 |
Micro Architecture used during static analysis | ARM_NEOVERSE_V1 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 |
Compilation Options |
libgromacs_mpi.so.7.0.0: Arm C/C++/Fortran Compiler version 22.1 (build number 12) (based on LLVM 13.0.1) /opt/arm/arm-linux-compiler-22.1_Generic-AArch64_Ubuntu-20.04_aarch64-linux/llvm-bin/clang-13 --driver-mode=g++ -D GMX_DOUBLE=0 -D HAVE_CONFIG_H -D TMPI_EXPORTS -D TMPI_USE_VISIBILITY -D USE_STD_INTTYPES_H -D libgromacs_EXPORTS -I /home/eoseret/GROMACS/gromacs-2022.4/src/include -I /home/eoseret/GROMACS/build/armclang_2/src/include -I /home/eoseret/GROMACS/gromacs-2022.4/src -I /home/eoseret/GROMACS/gromacs-2022.4/api/legacy/include -I /home/eoseret/GROMACS/build/armclang_2/api/legacy/include -I /home/eoseret/GROMACS/gromacs-2022.4/src/gromacs/analysisdata/include -I /home/eoseret/GROMACS/gromacs-2022.4/src/gromacs/utility/include -I /home/eoseret/GROMACS/gromacs-2022.4/src/gromacs/applied_forces/include -I /home/eoseret/GROMACS/gromacs-2022.4/src/gromacs/commandline/include -I /home/eoseret/GROMACS/gromacs-2022.4/src/gromacs/compat/include -I /home/eoseret/GROMACS/gromacs-2022.4/src/gromacs/coordinateio/include -I /home/eoseret/GROMACS/gromacs-2022.4/src/gromacs/correlationfunctions/include -I /home/eoseret/GROMACS/gromacs-2022.4/src/gromacs/domdec/include -I /home/eoseret/GROMACS/gromacs-2022.4/src/gromacs/essentialdynamics/include -I /home/eoseret/GROMACS/gromacs-2022.4/src/gromacs/ewald/include -I /home/eoseret/GROMACS/gromacs-2022.4/src/gromacs/fft/include -I /home/eoseret/GROMACS/gromacs-2022.4/src/gromacs/fileio/include -I /home/eoseret/GROMACS/gromacs-2022.4/src/gromacs/gmxana/include -I /home/eoseret/GROMACS/gromacs-2022.4/src/gromacs/gmxlib/include -I /home/eoseret/GROMACS/gromacs-2022.4/src/gromacs/gmxpreprocess/include -I /home/eoseret/GROMACS/gromacs-2022.4/src/gromacs/gpu_utils/include -I /home/eoseret/GROMACS/gromacs-2022.4/src/gromacs/hardware/include -I /home/eoseret/GROMACS/gromacs-2022.4/src/gromacs/imd/include -I /home/eoseret/GROMACS/gromacs-2022.4/src/gromacs/linearalgebra/include -I /home/eoseret/GROMACS/gromacs-2022.4/src/gromacs/listed_forces/include -I /home/eoseret/GROMACS/gromacs-2022.4/src/gromacs/math/include -I /home/eoseret/GROMACS/gromacs-2022.4/src/gromacs/mdlib/include -I /home/eoseret/GROMACS/gromacs-2022.4/src/gromacs/mdrun/include -I /home/eoseret/GROMACS/gromacs-2022.4/src/gromacs/mdrunutility/include -I /home/eoseret/GROMACS/gromacs-2022.4/src/gromacs/mdspan/include -I /home/eoseret/GROMACS/gromacs-2022.4/src/gromacs/mdtypes/include -I /home/eoseret/GROMACS/gromacs-2022.4/src/gromacs/mimic/include -I /home/eoseret/GROMACS/gromacs-2022.4/src/gromacs/modularsimulator/include -I /home/eoseret/GROMACS/gromacs-2022.4/src/gromacs/nbnxm/include -I /home/eoseret/GROMACS/gromacs-2022.4/src/gromacs/onlinehelp/include -I /home/eoseret/GROMACS/gromacs-2022.4/src/gromacs/options/include -I /home/eoseret/GROMACS/gromacs-2022.4/src/gromacs/pbcutil/include -I /home/eoseret/GROMACS/gromacs-2022.4/src/gromacs/pulling/include -I /home/eoseret/GROMACS/gromacs-2022.4/src/gromacs/random/include -I /home/eoseret/GROMACS/gromacs-2022.4/src/gromacs/restraint/include -I /home/eoseret/GROMACS/gromacs-2022.4/src/gromacs/selection/include -I /home/eoseret/GROMACS/gromacs-2022.4/src/gromacs/simd/include -I /home/eoseret/GROMACS/gromacs-2022.4/src/gromacs/statistics/include -I /home/eoseret/GROMACS/gromacs-2022.4/src/gromacs/swap/include -I /home/eoseret/GROMACS/gromacs-2022.4/src/gromacs/tables/include -I /home/eoseret/GROMACS/gromacs-2022.4/src/gromacs/taskassignment/include -I /home/eoseret/GROMACS/gromacs-2022.4/src/gromacs/timing/include -I /home/eoseret/GROMACS/gromacs-2022.4/src/gromacs/tools/include -I /home/eoseret/GROMACS/gromacs-2022.4/src/gromacs/topology/include -I /home/eoseret/GROMACS/gromacs-2022.4/src/gromacs/trajectory/include -I /home/eoseret/GROMACS/gromacs-2022.4/src/gromacs/trajectoryanalysis/include -isystem /home/eoseret/GROMACS/gromacs-2022.4/src/external/thread_mpi/include -isystem /usr/lib/aarch64-linux-gnu/openmpi/include/openmpi -isystem /usr/lib/aarch64-linux-gnu/openmpi/include -isystem /home/eoseret/GROMACS/gromacs-2022.4/src/external -isystem /opt/arm/armpl-22.1.0_AArch64_Ubuntu-20.04_arm-linux-compiler_aarch64-linux/include -isystem /home/eoseret/GROMACS/gromacs-2022.4/src/external/tng_io/include -isystem /home/eoseret/GROMACS/build/armclang_2/tng/include -isystem /home/eoseret/GROMACS/gromacs-2022.4/src/external/lmfit -isystem /home/eoseret/GROMACS/gromacs-2022.4/src/external/muparser/include -g -grecord-command-line -fno-omit-frame-pointer -nopie -fcf-protection=none -O3 -D NDEBUG -fPIC -march=armv8.2-a+sve -msve-vector-bits=256 -pthread -Wno-reserved-identifier -Wno-missing-field-initializers -Weverything -Wno-c++98-compat -Wno-c++98-compat-pedantic -Wno-source-uses-openmp -Wno-c++17-extensions -Wno-documentation-unknown-command -Wno-covered-switch-default -Wno-switch-enum -Wno-extra-semi-stmt -Wno-weak-vtables -Wno-shadow -Wno-padded -Wno-reserved-id-macro -Wno-double-promotion -Wno-exit-time-destructors -Wno-global-constructors -Wno-documentation -Wno-format-nonliteral -Wno-used-but-marked-unused -Wno-float-equal -Wno-conditional-uninitialized -Wno-conversion -Wno-disabled-macro-expansion -Wno-unused-macros -fopenmp=libomp -std=c++17 -o CMakeFiles/libgromacs.dir/nbnxm/kernels_simd_4xm/kernel_ElecEw_VdwLJCombLB_F.cpp.o -c /home/eoseret/GROMACS/gromacs-2022.4/src/gromacs/nbnxm/kernels_simd_4xm/kernel_ElecEw_VdwLJCombLB_F.cpp | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 |
Number of processes observed | 1 | 2 | 4 | 8 | 16 | 32 | 64 |
Number of threads observed | 1 | 2 | 4 | 8 | 16 | 32 | 64 |
MAQAO version | 2.16.3 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 |
MAQAO build | Build information not available | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 |
Comments | ARM-clang 22.1 (SIMD=SVE), AWS G3 (Neoverse V1), scalability | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 |