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
×