Interesting effects may be observed by using ‘top’ process and memory-usage monitor from commandline (perhaps in XTerm).
Running FlightGear.org flight-simulator which makes use of OpenSceneGraph and the NVIdia OpenGL, will reliably bring the system load up near to 3 or more.
Using ‘top’ on a 1-second update in an xterm, and having pressed “1” to see per-CPU statistics, I notice that when only the xterm is running in compiz/lightdm/Xorg, the load is less than one and the only CPU statistics are for CPU#0.
But as load increases much above 1, now we see statistics also for CPU#1. As load passes 2.0 or so, now we may see also statistics for CPU#2 and then also for CPU#3. Thus, all four CPUs are engaged in processing, but it seems that this is only at high loads.
For the Kernel Geeks:
I guess this is probably inherent in the stock kernel and it seems reasonable that this happens because the Tegra is really meant to be a Mobile system. However, as applies to the Jetson TK1 board, which is run from the mains rather than from a battery, this may not be the most desirable default behavior.
I’m not a really good C coder and also have not really looked into this issue in the kernel source. Maybe I am lazy. But maybe some of those who are concentrating on the kernel tweaking will know, or can learn, if it is possible to alter the CPU scaling to aim for full-time operation of all 4 CPUs with the object being an initial layer of parallel processing useful for sorting out what should be sent to CUDA versus what is better handled in a sequential rather than parallel fashion, etc., or, which may be easily handled within the multiple CPU without any overhead associated with offloading it to the CUDA system. (Possibly I am not saying this well, for which I apologize.)
More-or-less, is it possible to run all 4 CPUs fulltime when connected to the mains, rather than always operating in a power-saving mode perhaps best suited for battery operation. Heat problems, maybe?