Help is available by moving the cursor above any symbol or by checking MAQAO website.
Metric | r0 | r1 | r2 | |
---|---|---|---|---|
Total Time (s) | 284.20 | 276.25 | 325.09 | |
Profiled Time (s) | 282.15 | 274.59 | 323.46 | |
Time in analyzed loops (%) | 85.0 | 89.1 | 93.5 | |
Time in analyzed innermost loops (%) | 68.1 | 75.5 | 78.9 | |
Time in user code (%) | 87.7 | 94.7 | 95.2 | |
Compilation Options Score (%) | 75.0 | 98.6 | 98.2 | |
Perfect Flow Complexity | 1.02 | 1.01 | 1.01 | |
Array Access Efficiency (%) | 55.1 | 57.3 | 38.9 | |
GFLOPS | 32.712 | 34.747 | 27.828 | |
Perfect OpenMP + MPI + Pthread | 1.00 | 1.00 | 1.00 | |
Perfect OpenMP + MPI + Pthread + Perfect Load Distribution | 1.00 | 1.00 | 1.00 | |
No Scalar Integer | Potential Speedup | 1.08 | 1.08 | 1.08 |
Nb Loops to get 80% | 12 | 10 | 11 | |
FP Vectorised | Potential Speedup | 1.08 | 1.04 | 1.06 |
Nb Loops to get 80% | 8 | 11 | 8 | |
Fully Vectorised | Potential Speedup | 1.24 | 1.22 | 1.40 |
Nb Loops to get 80% | 26 | 21 | 15 | |
Only FP Arithmetic | Potential Speedup | 1.27 | 1.27 | 1.61 |
Nb Loops to get 80% | 26 | 24 | 17 |
Source Object | Issue |
---|---|
▼libgromacs_mpi.so.7 | |
▼pairlist_simd_2xmm.h | |
○ | -march=x86-64 is used but it should be replaced by a more architecture specific option or -march=native. |
▼threaded_force_buffer.cpp | |
○ | -march=x86-64 is used but it should be replaced by a more architecture specific option or -march=native. |
▼pme_gather.cpp | |
○ | -march=x86-64 is used but it should be replaced by a more architecture specific option or -march=native. |
▼listed_forces.cpp | |
○ | -march=x86-64 is used but it should be replaced by a more architecture specific option or -march=native. |
▼partition.cpp | |
○ | -march=x86-64 is used but it should be replaced by a more architecture specific option or -march=native. |
▼manage_threading.cpp | |
○ | -march=x86-64 is used but it should be replaced by a more architecture specific option or -march=native. |
▼kernel_prune.cpp | |
○ | -march=x86-64 is used but it should be replaced by a more architecture specific option or -march=native. |
▼pairs.cpp | |
○ | -march=x86-64 is used but it should be replaced by a more architecture specific option or -march=native. |
▼pairlist.cpp | |
○ | -march=x86-64 is used but it should be replaced by a more architecture specific option or -march=native. |
▼update.cpp | |
○ | -march=x86-64 is used but it should be replaced by a more architecture specific option or -march=native. |
▼md_support.cpp | |
○ | -march=x86-64 is used but it should be replaced by a more architecture specific option or -march=native. |
▼redistribute.cpp | |
○ | -march=x86-64 is used but it should be replaced by a more architecture specific option or -march=native. |
▼mdatoms.cpp | |
○ | -march=x86-64 is used but it should be replaced by a more architecture specific option or -march=native. |
▼lincs.cpp | |
○ | -march=x86-64 is used but it should be replaced by a more architecture specific option or -march=native. |
▼pbc.cpp | |
○ | -march=x86-64 is used but it should be replaced by a more architecture specific option or -march=native. |
▼atomdata.cpp | |
○ | -march=x86-64 is used but it should be replaced by a more architecture specific option or -march=native. |
▼localtopology.cpp | |
○ | -march=x86-64 is used but it should be replaced by a more architecture specific option or -march=native. |
▼vector.tcc | |
○ | -march=x86-64 is used but it should be replaced by a more architecture specific option or -march=native. |
▼pme_solve.cpp | |
○ | -march=x86-64 is used but it should be replaced by a more architecture specific option or -march=native. |
▼pme_spread.cpp | |
○ | -march=x86-64 is used but it should be replaced by a more architecture specific option or -march=native. |
▼calc_verletbuf.cpp | |
○ | -march=x86-64 is used but it should be replaced by a more architecture specific option or -march=native. |
▼vec.h | |
○ | -march=x86-64 is used but it should be replaced by a more architecture specific option or -march=native. |
▼computemultibodycutoffs.cpp | |
○ | -march=x86-64 is used but it should be replaced by a more architecture specific option or -march=native. |
▼bonded.cpp | |
○ | -march=x86-64 is used but it should be replaced by a more architecture specific option or -march=native. |
▼settle.cpp | |
○ | -march=x86-64 is used but it should be replaced by a more architecture specific option or -march=native. |
▼sim_util.cpp | |
○ | -march=x86-64 is used but it should be replaced by a more architecture specific option or -march=native. |
▼grid.cpp | |
○ | -march=x86-64 is used but it should be replaced by a more architecture specific option or -march=native. |
▼mshift.cpp | |
○ | -march=x86-64 is used but it should be replaced by a more architecture specific option or -march=native. |
▼arrayref.h | |
○ | -march=x86-64 is used but it should be replaced by a more architecture specific option or -march=native. |
▼domdec_constraints.cpp | |
○ | -march=x86-64 is used but it should be replaced by a more architecture specific option or -march=native. |
▼kernel_ElecEw_VdwLJCombLB_VF.cpp | |
○ | -march=x86-64 is used but it should be replaced by a more architecture specific option or -march=native. |
▼kernel_outer.h | |
○ | -march=x86-64 is used but it should be replaced by a more architecture specific option or -march=native. |
▼pme_grid.cpp | |
○ | -march=x86-64 is used but it should be replaced by a more architecture specific option or -march=native. |
r0 | r1 | r2 | |
---|---|---|---|
Application | /home/eoseret/GROMACS/install/gplusplus/bin/gmx_mpi | /home/eoseret/GROMACS/build/icc/bin/gmx_mpi | /home/eoseret/GROMACS/install/icx/bin/gmx_mpi |
Timestamp | 2023-07-28 12:01:12 | 2023-07-27 13:59:37 | 2023-07-28 09:58:21 |
Experiment Type | MPI; | same as r0 | same as r0 |
Machine | skylake | same as r0 | same as r0 |
Architecture | x86_64 | same as r0 | same as r0 |
Micro Architecture | SKYLAKE | same as r0 | same as r0 |
Model Name | Intel(R) Xeon(R) Platinum 8170 CPU @ 2.10GHz | same as r0 | same as r0 |
Cache Size | 36608 KB | same as r0 | same as r0 |
Number of Cores | 26 | same as r0 | same as r0 |
Maximal Frequency | 2.1 GHz | same as r0 | same as r0 |
OS Version | Linux 6.4.1-arch2-1 #1 SMP PREEMPT_DYNAMIC Tue, 04 Jul 2023 08:39:40 +0000 | same as r0 | same as r0 |
Architecture used during static analysis | x86_64 | same as r0 | same as r0 |
Micro Architecture used during static analysis | SKYLAKE | same as r0 | same as r0 |
Compilation Options | libgromacs_mpi.so.7: GNU C++17 13.1.1 20230429 -mavx512f -mfma -mavx512vl -mavx512dq -mavx512bw -mtune=generic -march=x86-64 -g -O2 -std=c++17 -fno-omit-frame-pointer -fcf-protection=none -fPIC -fexcess-precision=fast -funroll-all-loops -fopenmp | gmx_mpi: libgromacs_mpi.so.7.0.0: Intel(R) C++ Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.8.0 Build 20221119_000000 -I/home/eoseret/GROMACS/gromacs-2022.4/src/include -I/home/eoseret/GROMACS/build/icc/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/icc/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 -DGMX_DOUBLE=0 -DHAVE_CONFIG_H -DTMPI_EXPORTS -DTMPI_USE_VISIBILITY -DUSE_STD_INTTYPES_H -Dlibgromacs_EXPORTS -isystem /home/eoseret/GROMACS/gromacs-2022.4/src/external/thread_mpi/include -isystem /opt/intel/oneapi/mpi/2021.8.0/include -isystem /home/eoseret/GROMACS/gromacs-2022.4/src/external -isystem /opt/intel/oneapi/mkl/2023.0.0/include -isystem /home/eoseret/GROMACS/gromacs-2022.4/src/external/tng_io/include -isystem /home/eoseret/GROMACS/build/icc/tng/include -isystem /home/eoseret/GROMACS/gromacs-2022.4/src/external/lmfit -isystem /home/eoseret/GROMACS/gromacs-2022.4/src/external/muparser/include -g -fno-omit-frame-pointer -O3 -march=native -qopt-zmm-usage=high -O3 -DNDEBUG -fPIC -xCORE-AVX512 -qopt-zmm-usage=high -qopenmp -std=c++17 -MD -MT src/gromacs/CMakeFiles/libgromacs.dir/nbnxm/kernels_simd_2xmm/kernel_ElecEw_VdwLJCombLB_F.cpp.o -MF CMakeFiles/libgromacs.dir/nbnxm/kernels_simd_2xmm/kernel_ElecEw_VdwLJCombLB_F.cpp.o.d -o CMakeFiles/libgromacs.dir/nbnxm/kernels_simd_2xmm/kernel_ElecEw_VdwLJCombLB_F.cpp.o -c | gmx_mpi: libgromacs_mpi.so.7: clang based Intel(R) oneAPI DPC++/C++ Compiler 2023.0.0 (2023.0.0.20221201) --driver-mode=g++ --intel -I /home/eoseret/GROMACS/gromacs-2022.4/src/include -I /home/eoseret/GROMACS/gromacs-2022.4/build/src/include -I /home/eoseret/GROMACS/gromacs-2022.4/src -I /home/eoseret/GROMACS/gromacs-2022.4/api/legacy/include -I /home/eoseret/GROMACS/gromacs-2022.4/build/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 -I /opt/intel/oneapi/mpi/2021.8.0/include -D GMX_DOUBLE=0 -D HAVE_CONFIG_H -D TMPI_EXPORTS -D TMPI_USE_VISIBILITY -D USE_STD_INTTYPES_H -D libgromacs_EXPORTS -isystem /home/eoseret/GROMACS/gromacs-2022.4/src/external/thread_mpi/include -isystem /home/eoseret/GROMACS/gromacs-2022.4/src/external -isystem /home/eoseret/GROMACS/gromacs-2022.4/src/external/tng_io/include -isystem /home/eoseret/GROMACS/gromacs-2022.4/build/tng/include -isystem /home/eoseret/GROMACS/gromacs-2022.4/src/external/lmfit -isystem /home/eoseret/GROMACS/gromacs-2022.4/src/external/muparser/include -fno-omit-frame-pointer -fcf-protection=none -fno-finite-math-only -O2 -g -D NDEBUG -std=c++17 -fPIC -x CORE-AVX512 -qopt-zmm-usage=high -qmkl=sequential -Wno-reserved-identifier -Wno-missing-field-initializers -Wno-pass-failed -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 -fiopenmp -MD -MT src/gromacs/CMakeFiles/libgromacs.dir/nbnxm/kernels_simd_2xmm/kernel_ElecEw_VdwLJCombLB_F.cpp.o -MF CMakeFiles/libgromacs.dir/nbnxm/kernels_simd_2xmm/kernel_ElecEw_VdwLJCombLB_F.cpp.o.d -o CMakeFiles/libgromacs.dir/nbnxm/kernels_simd_2xmm/kernel_ElecEw_VdwLJCombLB_F.cpp.o -c /home/eoseret/GROMACS/gromacs-2022.4/src/gromacs/nbnxm/kernels_simd_2xmm/kernel_ElecEw_VdwLJCombLB_F.cpp -fveclib=SVML -fheinous-gnu-extensions |
Number of processes observed | 1 | same as r0 | same as r0 |
Number of threads observed | 1 | same as r0 | same as r0 |
Frequency Driver | intel_cpufreq | same as r0 | same as r0 |
Frequency Governor | schedutil | same as r0 | same as r0 |
Huge Pages | always | same as r0 | same as r0 |
Hyperthreading | off | same as r0 | same as r0 |
Number of sockets | 2 | same as r0 | same as r0 |
Number of cores per socket | 26 | same as r0 | same as r0 |
MAQAO version | 2.17.7 | same as r0 | same as r0 |
MAQAO build | bf11934ec971510c7f500e010d8ca2474fd787ed::20230726-123240 | cad5f1178335d4e3ba0d043dc0c709e4512388de::20230727-105315 | same as r0 |
Comments | GROMACS 2022.4 compiled with g++ 13.1.1 running on Skylake with 1 OMP thread, 2000 steps | GROMACS 2022.4 compiled with icc 2021.8 running on Skylake with 1 OMP thread, 2000 steps | GROMACS 2022.4 compiled with icx 2023.0.0 running on Skylake with 1 OMP thread, 2000 steps |