Brief description of tools/files:
In my docker file compile OMPI with
RUN cd /opt && git clone https://github.com/NVIDIA/gdrcopy.git && cd gdrcopy/packages && CUDA=/usr/local/cuda ./build-deb-packages.sh
RUN cd /opt && git clone https://github.com/openucx/ucx.git && cd ucx && ./autogen.sh && ./contrib/configure-release --prefix=/usr/local && make -j8 && make install
RUN cd /opt/ompi && ./autogen.pl && ./configure --prefix=/usr/local --with-cuda=/usr/local/cuda --with-gdrcopy=/usr
And compile gromacs with:
wget https://ftp.gromacs.org/gromacs/gromacs-2021.5.tar.gz && tar xvzf gromacs-2021.5.tar.gz && cd gromacs-2021.5 && mkdir build && cd build && cmake .. -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DGMX_BUILD_OWN_FFTW=OFF -DREGRESSIONTEST_DOWNLOAD=ON -DGMX_FFT_LIBRARY=fftw3 -DCMAKE_INSTALL_PREFIX=/usr/local/gromacs -DGMX_GPU=CUDA -DGMX_PYTHON_PACKAGE=ON -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda -DGMX_THREAD_MPI=ON -DGMX_MPI=on -DMPI_C_COMPILER=mpicc
But when I try to pass parameters other than -n* params to gmx_mpi I get the silliest mpirun/prterun errors:
This “runs/works” but it doesn’t know my input and output files from -deffnm:
mpirun -np 12 /usr/local/gromacs/bin/gmx_mpi mdrun -ntomp 2 -npme 4 -ntomp_pme 1
Then when I add -deffnm, mpirun thinks the last commandline arg before -deffnm is for prterun, i.e. for this is thinks the 1 after -ntomp_pme is a prterun param
$ mpirun -np 12 /usr/local/gromacs/bin/gmx_mpi mdrun -ntomp 2 -npme 4 -ntomp_pme 1 -deffnm md_0_1
--------------------------------------------------------------------------
An unrecognized option was included on the prterun command line:
Option: 1
Please use the "prterun --help" command to obtain a list of all
supported options.
--------------------------------------------------------------------------
And for this is just thinks mdrun is an argument to mpirun. So WEIRD!!!
$ /usr/local/bin/mpirun -np 12 /usr/local/gromacs/bin/gmx_mpi mdrun -deffnm md_0_1
--------------------------------------------------------------------------
An unrecognized option was included on the prterun command line:
Option: mdrun
Please use the "prterun --help" command to obtain a list of all
supported options.
--------------------------------------------------------------------------