cd /path/to/GROMACS
tar -xvf gromacs-2019.3.tar.gz
cd gromacs-2019.3 mkdir build
sed -i '212s/return fftw_version;/return 0;/g' src/gromacs/utility/binaryinformation.cpp sed -i '214s/return fftwf_version;/return 0;/g' src/gromacs/utility/binaryinformation.cpp sed -i '457s/int fftwflags = FFTW_DESTROY_INPUT;/int fftwflags = 0;/g' src/gromacs/fft/fft5d.cpp sed -i '587s/FFTWPREFIX(cleanup)();/fftwf_cleanup_threads();/g' src/gromacs/fft/fft_fftw3.cpp cd build FLAGS="-march=armv8.2-a -mcpu=tsv110"; CFLAGS=$FLAGS CXXFLAGS=$FLAGS LDFLAGS="-fuse-ld=lld" CC=mpicc CXX=mpicxx \ cmake -DCMAKE_INSTALL_PREFIX=/path/to/GROMACS \ -DBUILD_SHARED_LIBS=on \ -DBUILD_TESTING=on \ -DREGRESSIONTEST_DOWNLOAD=off \ -DGMX_BUILD_OWN_FFTW=off \ -DGMX_SIMD=ARM_NEON_ASIMD \ -DGMX_DOUBLE=off \ -DGMX_EXTERNAL_BLAS=on \ -DGMX_EXTERNAL_LAPACK=on \ -DGMX_FFT_LIBRARY=fftw3 \ -DGMX_BLAS_USER=/path/to/OPENBLAS/lib/libopenblas.a \ -DGMX_LAPACK_USER=/path/to/OPENBLAS/lib/libopenblas.a \ -DFFTWF_LIBRARY=/path/to/FFTW/lib/libfftw3f.so \ -DFFTWF_INCLUDE_DIR=/path/to/FFTW/include \ -DGMX_GPU=on \ -DGMX_OPENMP=on \ -DGMX_X11=off \ -DGMX_MPI=on \ -DHWLOC_LIBRARIES=/usr/lib64 \ -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda \ ../
make -j40 V=1 make -j40 install
ll /path/to/GROMACS/bin/gmx_mpi
若回显信息中存在“gmx_mpi”文件,说明生成成功。
export PATH=/path/to/GROMACS/bin:$PATH