Let’s discuss this here. I’m not sure we really want to do this. And if we do, what exactly does “Support for multi-threaded run” mean?
- Option #1: Multi-threaded network, where all nodes in the network have their own thread.
- Option #2: Multi-threaded within a node itself, which is probably easier.
There are probably more options, too. In The NuPIC Network API (video), Subutai mentioned that we have had parallelism in the Network API in the past, but it was very hard to keep working properly and was a cause of a lot of bugs.
Do we really want to add more complexity? I think the Network API is architected in a way that allows the complexities of parallelism to be offloaded to the host architecture. Let’s discuss here. I’ve locked the ticket above for new comments for now because I want to first resolve what it means.