Stimulation backend mpi - Receive stimulation parameters via MPI¶
This stimulation backend is only available if NEST was compiled with support for MPI.
The mpi stimulation backend collects data from MPI channels and updates stimulation devices just before each run. This is useful for co-simulation or for receiving stimuli from external software.
The name of the MPI port to receive data on is read from a file for each device configured to use this backend. The file needs to be named according to the following pattern:
data_prefix are global kernel properties,
while label is a property of the device in question and node_id
its node ID. This path can only be set outside of a
Prepare() has been called, but
The following protocol is used to exchange information between both MPI processes. The protocol is described using the following format for the MPI messages: (value, number, type, source/destination, tag)
Prepare: Connection of MPI port include in one file (see below)
Runbegin : Send start run (true, 1, CXX_BOOL, 0, 0)
Runbegin : Send the id of the device to update (node_id, 1, INT, 0, 0)
Runbegin : Receive shape of the data (shape, 1, INT, 0, 0)
Runbegin : Receive the data for updating the device (data, shape, DOUBLE, 0, 0)
Runend : Send at each ending of the run (true, 1, CXX_BOOL, 0, 1)
Cleanup: Send at this en of the simulation (true, 1, CXX_BOOL, 0, 2)
The format of the data depends on the exact type of stimulation device.