options

Help is available by moving the cursor above any symbol or by checking MAQAO website.

Global Metrics

Metricr0r1r2
Total Time (s)71.5956.5877.05
Profiled Time (s)69.1554.6573.14
Time in analyzed loops (%)59.463.459.9
Time in analyzed innermost loops (%)42.152.843.5
Time in user code (%)60.867.260.7
Compilation Options Score (%)75.098.397.9
Perfect Flow Complexity1.011.011.01
Array Access Efficiency (%)56.261.544.5
GFLOPS648.572847.814586.647
Perfect OpenMP + MPI + Pthread1.231.181.38
Perfect OpenMP + MPI + Pthread + Perfect Load Distribution1.561.421.56
No Scalar IntegerPotential Speedup1.081.061.09
Nb Loops to get 80%12138
FP VectorisedPotential Speedup1.071.031.04
Nb Loops to get 80%898
Fully VectorisedPotential Speedup1.291.241.21
Nb Loops to get 80%242422
Only FP ArithmeticPotential Speedup1.261.261.36
Nb Loops to get 80%282921
OpenMP perfectly balancedPotential SpeedupNot Available1.161.32
Nb Loops to get 80%Not Available99

Cumulated Speedup If No Scalar Integer

Cumulated Speedup If FP Vectorized

Cumulated Speedup If Fully Vectorized

Cumulated Speedup If Only FP Arithmetic

Cumulated Speedup if OpenMP Perfectly Balanced

Loop Based Profiles

Innermost / Single Loops

Inbetween Loops

Outermost Loops

Cumulated Coverage With All Loops

Innermost Loop Based Profiles

Coverage

Count

Application Categorization

Time

Coverage

Compilation Options

Source ObjectIssue
gmx_mpi
-g is missing for some functions (possibly ones added by the compiler), it is needed to have more accurate reports. Other recommended flags are: -O2/-O3, -march=(target)
libgromacs_mpi.so.7
fft5d.cpp
-march=x86-64 is used but it should be replaced by a more architecture specific option or -march=native.
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.
kernel_outer.h
-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_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.
pme.cpp
-march=x86-64 is used but it should be replaced by a more architecture specific option or -march=native.
kernel_common.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.
constr.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.
kerneldispatch.cpp
-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.
fft_fftw3.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.
bonded.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.
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.
vec.h
-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.
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.
pme_grid.cpp
-march=x86-64 is used but it should be replaced by a more architecture specific option or -march=native.

Path Count Profiles

Coverage

Count

Low Iteration Count Profiles

Coverage

Count

Experiment Summaries

r0r1r2
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
Timestamp2023-07-28 11:50:562023-07-28 09:05:182023-07-28 09:43:52
Experiment TypeMPI; OpenMP; same as r0same as r0
Machineskylakesame as r0same as r0
Architecturex86_64same as r0same as r0
Micro ArchitectureSKYLAKEsame as r0same as r0
Model NameIntel(R) Xeon(R) Platinum 8170 CPU @ 2.10GHzsame as r0same as r0
Cache Size36608 KBsame as r0same as r0
Number of Cores26same as r0same as r0
Maximal Frequency2.1 GHzsame as r0same as r0
OS VersionLinux 6.4.1-arch2-1 #1 SMP PREEMPT_DYNAMIC Tue, 04 Jul 2023 08:39:40 +0000same as r0same as r0
Architecture used during static analysisx86_64same as r0same as r0
Micro Architecture used during static analysisSKYLAKEsame as r0same 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: N/A

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_VF.cpp.o -MF CMakeFiles/libgromacs.dir/nbnxm/kernels_simd_2xmm/kernel_ElecEw_VdwLJCombLB_VF.cpp.o.d -o CMakeFiles/libgromacs.dir/nbnxm/kernels_simd_2xmm/kernel_ElecEw_VdwLJCombLB_VF.cpp.o -c

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
gmx_mpi: N/A
Number of processes observed1same as r0same as r0
Number of threads observed52same as r0same as r0
Frequency Driverintel_cpufreqsame as r0same as r0
Frequency Governorschedutilsame as r0same as r0
Huge Pagesalwayssame as r0same as r0
Hyperthreadingoffsame as r0same as r0
Number of sockets2same as r0same as r0
Number of cores per socket26same as r0same as r0
MAQAO version2.17.7same as r0same as r0
MAQAO buildbf11934ec971510c7f500e010d8ca2474fd787ed::20230726-123240same as r0same as r0
CommentsGROMACS 2022.4 compiled with g++ 13.1.1 running on Skylake with 52 OMP threads, 10000 stepsGROMACS 2022.4 compiled with icc 2021.8 running on Skylake with 52 OMP threads, 10000 stepsGROMACS 2022.4 compiled with icx 2023.0.0 running on Skylake with 52 OMP threads, 10000 steps
×