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.79 E3 | 926.89 | 480.56 | 257.26 | 139.53 | 90.03 | 56.19 |
Profiled Time (s) | 1.79 E3 | 921.05 | 475.47 | 253.27 | 136.08 | 88.44 | 54.78 |
Time in analyzed loops (%) | 93.1 | 91.9 | 90.6 | 89.2 | 83.8 | 73.4 | 68.6 |
Time in analyzed innermost loops (%) | 86.5 | 85.3 | 83.7 | 81.6 | 76.7 | 67.2 | 62.8 |
Time in user code (%) | 0 | 0.70 | 1.98 | 3.18 | 7.75 | 19.8 | 24.1 |
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.00 | 1.01 | 1.01 | 1.02 |
No Scalar Integer | Potential Speedup | 1.05 | 1.05 | 1.05 | 1.06 | 1.05 | 1.05 | 1.04 |
Nb Loops to get 80% | 9 | 11 | 11 | 11 | 11 | 11 | 11 |
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.10 | 1.09 | 1.09 | 1.09 | 1.08 | 1.07 | 1.06 |
Nb Loops to get 80% | 15 | 19 | 20 | 21 | 21 | 22 | 22 |
Only FP Arithmetic | Potential Speedup | 1.20 | 1.20 | 1.20 | 1.20 | 1.19 | 1.16 | 1.15 |
Nb Loops to get 80% | 14 | 16 | 16 | 17 | 17 | 16 | 15 |
Scalability - Gap | 1.00 | 1.03 | 1.07 | 1.15 | 1.24 | 1.61 | 2.01 |
Source Object | Issue |
▼libgromacs_mpi.so.7.0.0– | |
▼calc_verletbuf.cpp– | |
○ | |
▼lincs.cpp– | |
○ | |
▼pbc.cpp– | |
○ | |
▼domdec.cpp– | |
○ | |
▼pme_redistribute.cpp– | |
○ | |
▼fft5d.cpp– | |
○ | |
▼partition.cpp– | |
○ | |
▼atomdata.cpp– | |
○ | |
▼pairs.cpp– | |
○ | |
▼threaded_force_buffer.cpp– | |
○ | |
▼kernel_ElecEw_VdwLJCombLB_F.cpp– | |
○ | |
▼pme_grid.cpp– | |
○ | |
▼localtopology.cpp– | |
○ | |
▼calcvir.cpp– | |
○ | |
▼pme_solve.cpp– | |
○ | |
▼pme_spread.cpp– | |
○ | |
▼kernel_common.cpp– | |
○ | |
▼kernel_ElecEw_VdwLJCombLB_VF.cpp– | |
○ | |
▼kernel_prune.cpp– | |
○ | |
▼manage_threading.cpp– | |
○ | |
▼update.cpp– | |
○ | |
▼settle.cpp– | |
○ | |
▼bonded.cpp– | |
○ | |
▼pairlist.cpp– | |
○ | |
▼sim_util.cpp– | |
○ | |
▼grid.cpp– | |
○ | |
▼md_support.cpp– | |
○ | |
▼redistribute.cpp– | |
○ | |
▼domdec_constraints.cpp– | |
○ | |
▼pme_gather.cpp– | |
○ | |
▼mdatoms.cpp– | |
○ | |
▼pme_pp.cpp– | |
○ | |
Source Object | Issue |
▼libgromacs_mpi.so.7.0.0– | |
▼calc_verletbuf.cpp– | |
○ | |
▼lincs.cpp– | |
○ | |
▼pbc.cpp– | |
○ | |
▼domdec.cpp– | |
○ | |
▼pme_redistribute.cpp– | |
○ | |
▼fft5d.cpp– | |
○ | |
▼partition.cpp– | |
○ | |
▼atomdata.cpp– | |
○ | |
▼pairs.cpp– | |
○ | |
▼threaded_force_buffer.cpp– | |
○ | |
▼kernel_ElecEw_VdwLJCombLB_F.cpp– | |
○ | |
▼pme_grid.cpp– | |
○ | |
▼localtopology.cpp– | |
○ | |
▼calcvir.cpp– | |
○ | |
▼pme_solve.cpp– | |
○ | |
▼pme_spread.cpp– | |
○ | |
▼kernel_common.cpp– | |
○ | |
▼kernel_ElecEw_VdwLJCombLB_VF.cpp– | |
○ | |
▼kernel_prune.cpp– | |
○ | |
▼manage_threading.cpp– | |
○ | |
▼update.cpp– | |
○ | |
▼settle.cpp– | |
○ | |
▼bonded.cpp– | |
○ | |
▼pairlist.cpp– | |
○ | |
▼sim_util.cpp– | |
○ | |
▼grid.cpp– | |
○ | |
▼md_support.cpp– | |
○ | |
▼redistribute.cpp– | |
○ | |
▼domdec_constraints.cpp– | |
○ | |
▼pme_gather.cpp– | |
○ | |
▼mdatoms.cpp– | |
○ | |
▼pme_pp.cpp– | |
○ | |
Source Object | Issue |
▼libgromacs_mpi.so.7.0.0– | |
▼calc_verletbuf.cpp– | |
○ | |
▼lincs.cpp– | |
○ | |
▼pbc.cpp– | |
○ | |
▼domdec.cpp– | |
○ | |
▼pme_redistribute.cpp– | |
○ | |
▼fft5d.cpp– | |
○ | |
▼partition.cpp– | |
○ | |
▼atomdata.cpp– | |
○ | |
▼pairs.cpp– | |
○ | |
▼threaded_force_buffer.cpp– | |
○ | |
▼kernel_ElecEw_VdwLJCombLB_F.cpp– | |
○ | |
▼pme_grid.cpp– | |
○ | |
▼localtopology.cpp– | |
○ | |
▼calcvir.cpp– | |
○ | |
▼pme_solve.cpp– | |
○ | |
▼pme_spread.cpp– | |
○ | |
▼kernel_common.cpp– | |
○ | |
▼kernel_ElecEw_VdwLJCombLB_VF.cpp– | |
○ | |
▼kernel_prune.cpp– | |
○ | |
▼manage_threading.cpp– | |
○ | |
▼update.cpp– | |
○ | |
▼settle.cpp– | |
○ | |
▼bonded.cpp– | |
○ | |
▼pairlist.cpp– | |
○ | |
▼sim_util.cpp– | |
○ | |
▼grid.cpp– | |
○ | |
▼md_support.cpp– | |
○ | |
▼redistribute.cpp– | |
○ | |
▼domdec_constraints.cpp– | |
○ | |
▼pme_gather.cpp– | |
○ | |
▼mdatoms.cpp– | |
○ | |
▼pme_pp.cpp– | |
○ | |
Source Object | Issue |
▼libgromacs_mpi.so.7.0.0– | |
▼calc_verletbuf.cpp– | |
○ | |
▼lincs.cpp– | |
○ | |
▼pbc.cpp– | |
○ | |
▼domdec.cpp– | |
○ | |
▼pme_redistribute.cpp– | |
○ | |
▼fft5d.cpp– | |
○ | |
▼partition.cpp– | |
○ | |
▼atomdata.cpp– | |
○ | |
▼pairs.cpp– | |
○ | |
▼threaded_force_buffer.cpp– | |
○ | |
▼kernel_ElecEw_VdwLJCombLB_F.cpp– | |
○ | |
▼pme_grid.cpp– | |
○ | |
▼localtopology.cpp– | |
○ | |
▼calcvir.cpp– | |
○ | |
▼pme_solve.cpp– | |
○ | |
▼pme_spread.cpp– | |
○ | |
▼kernel_common.cpp– | |
○ | |
▼kernel_ElecEw_VdwLJCombLB_VF.cpp– | |
○ | |
▼kernel_prune.cpp– | |
○ | |
▼manage_threading.cpp– | |
○ | |
▼update.cpp– | |
○ | |
▼settle.cpp– | |
○ | |
▼bonded.cpp– | |
○ | |
▼pairlist.cpp– | |
○ | |
▼sim_util.cpp– | |
○ | |
▼grid.cpp– | |
○ | |
▼md_support.cpp– | |
○ | |
▼redistribute.cpp– | |
○ | |
▼domdec_constraints.cpp– | |
○ | |
▼pme_gather.cpp– | |
○ | |
▼mdatoms.cpp– | |
○ | |
▼pme_pp.cpp– | |
○ | |
Source Object | Issue |
▼libgromacs_mpi.so.7.0.0– | |
▼calc_verletbuf.cpp– | |
○ | |
▼lincs.cpp– | |
○ | |
▼pbc.cpp– | |
○ | |
▼domdec.cpp– | |
○ | |
▼pme_redistribute.cpp– | |
○ | |
▼fft5d.cpp– | |
○ | |
▼partition.cpp– | |
○ | |
▼atomdata.cpp– | |
○ | |
▼pairs.cpp– | |
○ | |
▼threaded_force_buffer.cpp– | |
○ | |
▼kernel_ElecEw_VdwLJCombLB_F.cpp– | |
○ | |
▼pme_grid.cpp– | |
○ | |
▼localtopology.cpp– | |
○ | |
▼calcvir.cpp– | |
○ | |
▼pme_solve.cpp– | |
○ | |
▼pme_spread.cpp– | |
○ | |
▼kernel_common.cpp– | |
○ | |
▼kernel_ElecEw_VdwLJCombLB_VF.cpp– | |
○ | |
▼kernel_prune.cpp– | |
○ | |
▼manage_threading.cpp– | |
○ | |
▼update.cpp– | |
○ | |
▼settle.cpp– | |
○ | |
▼bonded.cpp– | |
○ | |
▼pairlist.cpp– | |
○ | |
▼sim_util.cpp– | |
○ | |
▼grid.cpp– | |
○ | |
▼md_support.cpp– | |
○ | |
▼redistribute.cpp– | |
○ | |
▼domdec_constraints.cpp– | |
○ | |
▼pme_gather.cpp– | |
○ | |
▼mdatoms.cpp– | |
○ | |
▼pme_pp.cpp– | |
○ | |
Source Object | Issue |
▼libgromacs_mpi.so.7.0.0– | |
▼calc_verletbuf.cpp– | |
○ | |
▼lincs.cpp– | |
○ | |
▼pbc.cpp– | |
○ | |
▼domdec.cpp– | |
○ | |
▼pme_redistribute.cpp– | |
○ | |
▼fft5d.cpp– | |
○ | |
▼partition.cpp– | |
○ | |
▼atomdata.cpp– | |
○ | |
▼pairs.cpp– | |
○ | |
▼threaded_force_buffer.cpp– | |
○ | |
▼kernel_ElecEw_VdwLJCombLB_F.cpp– | |
○ | |
▼pme_grid.cpp– | |
○ | |
▼localtopology.cpp– | |
○ | |
▼calcvir.cpp– | |
○ | |
▼pme_solve.cpp– | |
○ | |
▼pme_spread.cpp– | |
○ | |
▼kernel_common.cpp– | |
○ | |
▼kernel_ElecEw_VdwLJCombLB_VF.cpp– | |
○ | |
▼kernel_prune.cpp– | |
○ | |
▼manage_threading.cpp– | |
○ | |
▼update.cpp– | |
○ | |
▼settle.cpp– | |
○ | |
▼bonded.cpp– | |
○ | |
▼pairlist.cpp– | |
○ | |
▼sim_util.cpp– | |
○ | |
▼grid.cpp– | |
○ | |
▼md_support.cpp– | |
○ | |
▼redistribute.cpp– | |
○ | |
▼domdec_constraints.cpp– | |
○ | |
▼pme_gather.cpp– | |
○ | |
▼mdatoms.cpp– | |
○ | |
▼pme_pp.cpp– | |
○ | |
Source Object | Issue |
▼libgromacs_mpi.so.7.0.0– | |
▼calc_verletbuf.cpp– | |
○ | |
▼lincs.cpp– | |
○ | |
▼pbc.cpp– | |
○ | |
▼domdec.cpp– | |
○ | |
▼pme_redistribute.cpp– | |
○ | |
▼fft5d.cpp– | |
○ | |
▼partition.cpp– | |
○ | |
▼atomdata.cpp– | |
○ | |
▼pairs.cpp– | |
○ | |
▼threaded_force_buffer.cpp– | |
○ | |
▼kernel_ElecEw_VdwLJCombLB_F.cpp– | |
○ | |
▼pme_grid.cpp– | |
○ | |
▼localtopology.cpp– | |
○ | |
▼calcvir.cpp– | |
○ | |
▼pme_solve.cpp– | |
○ | |
▼pme_spread.cpp– | |
○ | |
▼kernel_common.cpp– | |
○ | |
▼kernel_ElecEw_VdwLJCombLB_VF.cpp– | |
○ | |
▼kernel_prune.cpp– | |
○ | |
▼manage_threading.cpp– | |
○ | |
▼update.cpp– | |
○ | |
▼settle.cpp– | |
○ | |
▼bonded.cpp– | |
○ | |
▼pairlist.cpp– | |
○ | |
▼sim_util.cpp– | |
○ | |
▼grid.cpp– | |
○ | |
▼md_support.cpp– | |
○ | |
▼redistribute.cpp– | |
○ | |
▼domdec_constraints.cpp– | |
○ | |
▼pme_gather.cpp– | |
○ | |
▼mdatoms.cpp– | |
○ | |
▼pme_pp.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:03:07 | 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-70-148 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 |
Architecture | aarch64 | 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 | aarch64 | 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 |