Skip to content
Snippets Groups Projects
Commit dcde0b08 authored by Kenny Sharma's avatar Kenny Sharma
Browse files

[NRRPLT-4722] Support faux-dynamic MUSIC ports for transfer functions.

This patch fixes a critical issue where the output of distributed simulations
did not match that of single process simulations.

The issue was due to static synapse creation for proxy connections that did
not consider the specific spike devices that were connected - each of which
have different default and user configurable values - and would produce
similar but incorrect output. Further, fixed port width meant that multiple
transfer functions would be connected to the same parrot neurons, resulting
in cumulative output to the actual brain neurons rather than properly
separated input from each device.

To resolve this issue, the following was implemented:
- faux large port widths to the brain allowing 5 x population connections
- dynamic configuration of these ports via MPI communication
- use of Nest freeze/thaw paradigm to try and reduce performance impact

Thus, the CLE notifies the remote brain processes of each TF's specific
configuration and it is replicated using the appropriate free proxy
neurons on each side through direct Nest manipulation. Once the CLE
notifies the processes that the transfer functions are loaded, they no
longer accept configuration messages and run the simulation.

This creates proper transfer function connectivity to workaround the lack
of dynamic port creation in MUSIC and produces the same results as the
single process version of the Husky experiment.

This patch should absolutely be removed and fully refactored when
MUSIC supports dynamic port creation, it is a workaround to achieve
functionality.

Change-Id: Ifee5e668c9644e679861dc7598dff9e9f5c6fa52
parent 4782ac39
No related branches found
No related tags found
No related merge requests found
Showing
with 283 additions and 31 deletions
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment