Hello, and welcome to the Nengo forum!
We’ve had issues before where time that one would think should be spent in the spiking phase actually ends up being spent in other phases (such as management, though sometimes even some time in the learning phase, even though we don’t have any learning going on). We’re not sure why this is; you would have to ask on the INRC forum.
We have found that making some changes to the network can sometimes resolve this issue, for example removing all probes and changing the network so the inputs are entirely on-chip (for example, by using an Ensemble with fixed biases). Of course, these workarounds aren’t great; for example, you typically want to measure at least something in your network, so getting rid of probes isn’t a long term solution. We have also found that upgrading to a newer NxSDK version can also help, though I am seeing a similar issue on a similar network with NxSDK 0.9.8.
Sorry I can’t be of more help, but overall, it’s also a mystery to us why time is spent in particular phases.
plotExecutionTime function on your energy probe can help with visualizing how time is spent across all timesteps of your simulation.
The last thing I’ll mention is that if you’re creating your
precompute=False, then the SNIPs that it creates will happen in the management phase. So if possible, use
precompute=True. In your case, though, you’re using the default, which should always use
precompute=True if possible, and I think it should be possible for your network. You can always explicitly pass
precompute=True to double-check, though.