Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multi-chip population spikes #226

Merged
merged 5 commits into from Jul 8, 2019

Conversation

@hunse
Copy link
Collaborator

commented Jun 7, 2019

Allow population spikes between chips. This allows convolutional connections from chip to chip.

@hunse

This comment has been minimized.

Copy link
Collaborator Author

commented Jun 20, 2019

We can use probes with population axons with this change, so we should enable and test that:

assert len(block.probes) == 0

@hunse hunse force-pushed the pop-spikes-multichip branch from 0870deb to 62e1d39 Jun 25, 2019

@hunse

This comment has been minimized.

Copy link
Collaborator Author

commented Jun 25, 2019

I noticed that in test_conv_connection, the ensemble is off-chip, when it should be on-chip. However, there are a few other minor improvements needed for this, namely #232 and allowing neuron slices (which is done in the DVS stuff somewhere).

Use axon compiler for all axons
This allows population axons between chips, fewer problems when using
probes with population axons, and greatly simplifies axon building.

@hunse hunse force-pushed the pop-spikes-multichip branch 4 times, most recently from 1d3b265 to 3e7bb07 Jun 26, 2019

@drasmuss
Copy link
Member

left a comment

I don't really know the nxsdk population axon system well enough to evaluate the implementation, but I trust that the unit tests are at least assuring us that nothing is real broken 😄. Just some minor comments, otherwise looks good!

nengo_loihi/builder/connection.py Outdated Show resolved Hide resolved
nengo_loihi/builder/connection.py Show resolved Hide resolved
nengo_loihi/hardware/builder.py Outdated Show resolved Hide resolved
nengo_loihi/block.py Outdated Show resolved Hide resolved
@hunse hunse referenced this pull request Jul 4, 2019
0 of 1 task complete

hunse added some commits Jun 12, 2019

Do not use full matrices for diagonal connections
This allows much larger connections where the weights are diagonal
(e.g. connecting 500 neurons to 500 neurons with a scalar transform).
Test fully on-chip convolution connection
Also explain why probing the `pre` of such a connection
is not supported.

@drasmuss drasmuss force-pushed the pop-spikes-multichip branch from 650c797 to 39ec612 Jul 8, 2019

@drasmuss
Copy link
Member

left a comment

Looks good!

@drasmuss drasmuss merged commit 39ec612 into master Jul 8, 2019

3 checks passed

Travis CI - Branch Build Passed
Details
codecov/patch 100% of diff hit (target 100%)
Details
codecov/project Absolute coverage decreased by -0.02% but relative coverage increased by +0.52% compared to 39c915d
Details

@drasmuss drasmuss deleted the pop-spikes-multichip branch Jul 8, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
2 participants
You can’t perform that action at this time.