Hi,
The script looks OK and the log is showing no issues that I can see.
The tools let you specify in your device which SpiNNaker link the device is connected to. The SpiNN-3 boards have two: id 0 is the J2 and id 1 is J1 from memory (. It may be worth checking which one you have connected to and making sure that the software has the right one selected (I can see you have selected 0 so far, so you could try switching to 1). An additional issue could be that the output population is connected using a fixed probability connector. A possibly simpler solution would be something like an all-to-all connector to ensure that every source connects to a target (though I can see that you should get at least one target for each source with the probability you have chosen).
1) You don’t need start and stop commands, they are just there to help you if you want them. The only thing to be sure of is that you don’t send lots of packets into SpiNNaker before the simulation actually starts i.e. before the main executables are loaded and running, as this can stop the simulation working correctly e.g. you might find that it doesn’t boot or fails to load things. If you have something external that can stop the sending until things start, you should be OK (and also stop sending when things stop as otherwise the same will be true for getting data back out).
2) There is a p.external_devices.run_forever() command. This will freeze the script at this point. It is possible to then manually stop the simulation with p.external_devices.request_stop() (which then has to be run from another thread, or else the run_forever command has to be called from another thread).
Let us know if you continue to have issues and we can see if we can help to debug them.
Andrew :)
--
You received this message because you are subscribed to the Google Groups "SpiNNaker Users Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
spinnakeruser...@googlegroups.com.
To view this discussion on the web, visit
https://groups.google.com/d/msgid/spinnakerusers/792b9d3a-d748-45dd-bf85-cf7925f6809bn%40googlegroups.com.
Hi,
In the current software, the neurons are linearly numbered, so a packet 0xfefe0202 with routing mask 0xffff0000 will have source neuron id 0x0202 = 514. I don’t think we have a connector that will connect the neurons 10-1, so you may be stuck with a FromListConnector for now. This would then just be done as a list e.g.
connections = [(i, i // 10) for i in range(128*128*2)]
Andrew :)
To view this discussion on the web, visit https://groups.google.com/d/msgid/spinnakerusers/7798c74f-4c22-4ebf-90d4-3290b1812833n%40googlegroups.com.
Hi,
Yes, I can see the issue. This is because the timing between the devices isn’t likely to match up… The solution for now is to disable the dropping of spikes at the end of the timestep, which is done by modifying your .spynnaker.cfg file in your home directory, and adding:
[Simulation]
drop_late_spikes = False
This should then avoid dropping of spikes.
Andrew :)
To view this discussion on the web, visit https://groups.google.com/d/msgid/spinnakerusers/98b55c93-6ad2-48cc-be48-614ae9832f48n%40googlegroups.com.
Hi,
In general when there are no external devices, we expect spikes from a certain time step to arrive within that time step. We then hopefully can process them within the time step so that they are used in the next time step. When you are using an external device, there is no synchronization with that device and generally you don’t care that much about the time step in which a spike arrives; the device sends when it wants to, so that could easily be the moment just before the cores decide the time step is finished and then flush received spikes (for reference before we had inter-board synchronization in the software, this would quite often happen with multi-board simulations as well). So it isn’t something that you need to worry about, it is just an option in the software. I guess we could make it so that adding a device will turn the option off by default, at least on cores that receive from the device.
In terms of the timing of the arrival of the spike, if the network on SpiNNaker is not too congested, spikes will likely arrive very quickly at the cores they are intended for. The core will put it in a queue of all spikes received and process it as soon as it can, either in the “current” time step or the next one (and if it is getting lots of spikes, it might even process it much later than that).
I hope that helps to clear things up!
Andrew :)