When I run htop, I just get four CPU cores. How does one see the utilization of all the CPU cores nvidia@tegra-ubuntu:~/1$ cat /proc/cpuinfo
processor : 0
model name : ARMv8 Processor rev 3 (v8l)
BogoMIPS : 62.50
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x1
CPU part : 0xd07
CPU revision : 3
processor : 3
model name : ARMv8 Processor rev 3 (v8l)
BogoMIPS : 62.50
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x1
CPU part : 0xd07
CPU revision : 3
processor : 4
model name : ARMv8 Processor rev 3 (v8l)
BogoMIPS : 62.50
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x1
CPU part : 0xd07
CPU revision : 3
processor : 5
model name : ARMv8 Processor rev 3 (v8l)
BogoMIPS : 62.50
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x1
CPU part : 0xd07
CPU revision : 3
Mainly for saving power…although in some cases this is not what we are looking for !
For performance you may also try the jetson_clocks.sh script in ubuntu or nvidia home directory.
And if you are not looking for power saving and intend to use USB devices, you may also disable usb core autosuspend in extlinux.conf.
(be careful cpu0 has no online node and is not listed, only cores 1 to 5). But you may not be able to change it this way.
You may also adjust frequencies. Having a look to jetson_clocks.sh script could help a lot.
In short, using this will give you most of performance:
I read, while trying to find out just what a Denver CPU is, that the Denvers are not wonderful at multi-threading but the other 4 are. Design accordingly.
Do keep in mind that if you spawn many threads which are bound by I/O to outside devices (e.g., cameras over CSI/MIPI, GPIO, USB, ethernet) then although the software threads can work on all cores that you will still be bottlenecked by your method of I/O.