nengo / nengo-loihi

Run Nengo models on Intel's Loihi chip
https://www.nengo.ai/nengo-loihi/
Other
35 stars 12 forks source link

Dummy axons work properly on chip #261

Closed hunse closed 4 years ago

hunse commented 4 years ago

We were having problems with dummy axons still doing something on the chip, even though they shouldn't. This PR fixes that. I added the test in a separate commit first, so that it's easy to confirm the test fails before the fix and passes after it.

The latter two commits improve support for population axons. The first one allows users to make a connection use pop16 axons instead of the default pop32. This uses fewer axon slots, so that connections can have more axons, but adds some constraints to how these axons are used. (In convolutional networks, this functionally amounts to having to use numbers of filters that are a multiple of 4, with channels_last=True. This allows the axon compartment offset ("base") to be a multiple of 4, which is the requirement for pop16. We could make copies of the weights in the case that we need offsets that are not multiples of 4, such that we have up to 4 copies each for a different modulo of the offset. See #262.)

The last commit allows population axons to be used on input connections when precompute=True (since NxSDK's spike generators now support them).

Based on #260.

arvoelke commented 4 years ago

Leaving reminder here: after #260 should be able to change the splitter logic to allow any convolution connections for both precompute True and False.