MPI potential¶
conda-forge availability
The conda-forge package omits MPI. Build from source with -Dwith_mpi=enabled.
Note
This is only for modified VASP at the moment..
VASP¶
If you have access to the modified VASP source code that is compatible with eOn,
you can compile a version of VASP that will work with eOn. This can be
accomplished by compiling with make MPMD=1.
That VASP binary joins the eOn client in one MPI job. A standalone client
sets EON_CLIENT_STANDALONE. The client count is then 1, so the run does
not read EON_NUMBER_OF_CLIENTS. The client loads config_0.ini when that
file exists, and config.ini otherwise. The MPI communicator leaves
EON_CLIENT_STANDALONE unset and sets EON_NUMBER_OF_CLIENTS and
EON_SERVER_PATH, as on the communicator page.
Each client still gets the VASP output directory described next.
Each group of VASP ranks will write its output to a directory named vasp###
where the number that follows is a zero-padded number that ranges from zero to
EON_NUMBER_OF_CLIENTS. There is a script in the tools directory named
mkvasp.py that takes the number of clients and a path and then creates these
directories in that path.
An INCAR file must be prepared that has the following lines in addition to any
other settings you wish to specify:
IBRION=3
POTIM=0
LMPMD=.TRUE.
NSW=99999999
EDIFF=1E-7
EDIFFG=-1e-6
LWAVE=.FALSE.
LCHARG=.FALSE.
[Potential] potential = mpi selects this interface. A build without
-Dwith_mpi=enabled has no such potential, and the client stops with
No known potential could be constructed. The number of vasp_mpmd ranks
must be a positive multiple of the client count. [Potential] mpi_poll_period
is the wait between probes, in seconds. The default is 0.25.
Example¶
Eight VASP ranks and one client:
#!/bin/sh
mkdir vasp000
export EON_CLIENT_STANDALONE=1
mpirun -n 8 vasp_mpmd : -n 1 eonclient
[Main]
job = point
[Potential]
potential = mpi
job = point reads pos.con from that working directory.