Competer: An application for watching compute intensive threads
Competer is an application for watching compute intensive threads in real time. Of course, the compute intensive tasks here are XNOR evaluation engines. With Competer you can spin up as many compute intensive threads as you like and observe them in a separate window (using 'top -H'). The user can also adjust the thread priorities and yield times in real time. Important times and counts are displayed at the end of the test.
Very often I work on pipelines that are waiting on results from various peripherals. This means my CPU is pretty free most of the time. However, occasionally I have compute intensive tasks that require some CPU and I was curious how XNOR would live in this environment. Competer lets me spin up as many XNOR threads as I like, adjust their priorities and control their yield time.
Previously Andrew had mentioned that XNOR was evaluating how they wanted to surface thread control in the API. Based on Competer, I would like to control the thread count, thread priorities and the thread yield time. For instance, in the options structure I would like to be able to say, "hey, I want to run multi-threaded but only give me three threads, run them at, say, priority 40 and yield 20% of the time". Once I get the rest of my system working I would then go back to tune those settings with something like Competer.
Click there for build and usage instructions.