SoNIC (Solver Over Network Interface Card) is a distributed computing manager for Solver. It allows the user to spread the Solver computations for any number of skeletons over as many client computers as are available. It is composed of two separate programs - one that runs as a server and communicates with EVaRT to receive streamed marker data; and the other is a client that runs on separate workstations to do the distributed solving.
Using SoNIC, any number of skeleton computations can be defined and distributed among the SoNIC clients. EVaRT streams the identified marker data to the SoNIC server via the SDK2 communication interface. SoNIC takes each of the markersets and, using the definitions found in the configuration file, distributes each markerset to a client. Each client solves for a result and sends it back to the server which assembles all the results and passes them along to the Talon plugin. Note that the use of SoNIC clients is optional. The SoNIC server uses itself to solve models just like any client. A general rule of of thumb is that one CPU can be used to solve two standard character models (approximately 40 markers and 25 skeleton segments) so the first client is necessary only if 3 or more models are to be solved.
