Hello everyone,
I am trying to build GROMACS from source on Fugaku ARM (A64FX) compute nodes using the Fujitsu compiler and Fujitsu MPI environment available on the system.
Current software environment:
-
Architecture: aarch64 (A64FX)
-
CPU Vendor: Fujitsu
-
System GCC: GCC 8.5.0
-
Fujitsu Compiler:
- FCC 4.12.2
- mpiFCC / mpifcc wrappers available
-
Fujitsu MPI Library: 4.0.1
-
CMake: 3.26.5
MPI environment currently detected:
-
mpirun / mpiexec using Fujitsu MPI Library 4.0.1
-
MPI wrappers:
- mpifcc
- mpiFCC
- mpifrt
Compiler observations:
-
GCC supports:
- C++11
- C++14
- C++17
-
Fujitsu MPI wrappers (
mpifcc,mpiFCC) internally report:simulating gcc version 6.1
-
Fujitsu compiler also enters GNU compatibility mode during compilation.
I am currently testing GROMACS 2019.x and 2020.x builds using:
- Fujitsu MPI enabled build (
GMX_MPI=ON) - ARM node compilation directly on Fugaku
- GROMACS own built FFTW (
GMX_BUILD_OWN_FFTW=ON) - ARM/A64FX optimization attempts
During compilation, I observe warnings related to SIMD/vectorization handling such as:
uxsimd sub-option specified in -K option is invalid-Xg option is obsolete. GNU C/C++ compatible mode is active
and in some cases the Fujitsu compiler backend crashes internally during make.
I would appreciate guidance regarding:
- recommended stable GROMACS versions for Fugaku
- recommended compiler flags for A64FX/FCC
- whether SIMD/SVE should initially be disabled
- whether GROMACS own FFTW is recommended on Fugaku
- known compatibility limitations with recent GROMACS versions
- any recommended patches or build procedures used internally on Fugaku systems
Any suggestions or references would be greatly appreciated.
Thank you.