Skip to content

Commit

Permalink
Merge pull request #612 from heplesser/spike-exchange-doc
Browse files Browse the repository at this point in the history
Added information on spike exchange to documentation
  • Loading branch information
jougs committed Jan 7, 2017
2 parents 63a9631 + 338f3f7 commit 09f8e23
Showing 1 changed file with 21 additions and 0 deletions.
21 changes: 21 additions & 0 deletions extras/userdoc/md/documentation/parallel-computing.md
Expand Up @@ -81,6 +81,27 @@ spike files and `dat` for analog recordings from the `multimeter`.
The `label` and `file_extension` of a recording device can be set like any other
parameter of a node using `SetStatus`.

### Spike exchange and synapse updates

Spike exchange in NEST takes different routes depending on the type of the
sending and receiving node. There are two distinct cases.

Spikes between neurons are always exchanged through the global spike exchange
mechanism. Neuron update and spike generation in the source neuron and spike
delivery to the target neuron may be handled by different virtual process in
this case. Spike delivery is always handled by the virtual process to which
the *target* neuron is assigned (see property `vp` in the status dictionary).

Spike exchange to or from neurons over connections that either originate or
terminate at a device (e.g., `spike_generator -> neuron` or `neuron -> spike_detector`)
differs in that it bypasses the global spike exchange mechanism. Instead,
spikes are delivered locally within the virtual process from or to a replica
of the device. In this case, both the pre- and postsynaptic nodes are handled
by the virtual process to which the neuron is assigned.

For synapse models supporting plasticity, synapse dynamics in the `Connection`
object are always handled by the virtual process of the target node.

## Using multiple threads

Thread-parallelism is compiled into NEST by default and should work on all MacOS
Expand Down

0 comments on commit 09f8e23

Please sign in to comment.