options

gmx_mpi - 2023-07-28 11:50:56 - MAQAO 2.17.7

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

Global Metrics

Total Time (s)71.59
Profiled Time (s)69.15
Time in analyzed loops (%)59.4
Time in analyzed innermost loops (%)42.1
Time in user code (%)60.8
Compilation Options Score (%)75.0
Perfect Flow Complexity1.01
Array Access Efficiency (%)56.2
GFLOPS648.572
Perfect OpenMP + MPI + Pthread1.23
Perfect OpenMP + MPI + Pthread + Perfect Load Distribution1.56
No Scalar IntegerPotential Speedup1.08
Nb Loops to get 80%12
FP VectorisedPotential Speedup1.07
Nb Loops to get 80%8
Fully VectorisedPotential Speedup1.29
Nb Loops to get 80%24
FP Arithmetic OnlyPotential Speedup1.26
Nb Loops to get 80%28

CQA Potential Speedups Summary

Loop Based Profile

Innermost Loop Based Profile

Application Categorization

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.

Loop Path Count Profile

Cumulated Speedup If No Scalar Integer

Cumulated Speedup If FP Vectorized

Cumulated Speedup If Fully Vectorized

Cumulated Speedup If FP Arithmetic Only

Experiment Summary

Application/home/eoseret/GROMACS/install/gplusplus/bin/gmx_mpi
Timestamp2023-07-28 11:50:56 Universal Timestamp1690537856
Number of processes observed1 Number of threads observed52
Experiment TypeMPI; OpenMP;
Machineskylake
Model NameIntel(R) Xeon(R) Platinum 8170 CPU @ 2.10GHz
Architecturex86_64 Micro ArchitectureSKYLAKE
Cache Size36608 KB Number of Cores26
OS VersionLinux 6.4.1-arch2-1 #1 SMP PREEMPT_DYNAMIC Tue, 04 Jul 2023 08:39:40 +0000
Architecture used during static analysisx86_64 Micro Architecture used during static analysisSKYLAKE
Frequency Driverintel_cpufreq Frequency Governorschedutil
Huge Pagesalways Hyperthreadingoff
Number of sockets2 Number of cores per socket26
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
CommentsGROMACS 2022.4 compiled with g++ 13.1.1 running on Skylake with 52 OMP threads, 10000 steps

Configuration Summary

Dataset/home/eoseret/GROMACS/DATA/GROMACS_TestCaseA
Run Command<executable> mdrun -s ion_channel.tpr -nsteps 10000 -pin on -deffnm g++
MPI Commandmpirun -n <number_processes> --bind-to none
Number Processes1
Number Nodes1
Number Processes per Nodes1
FilterNot Used
Profile StartNot Used
Maximal Path Number4
×