Make profiler track by issued instruction instead of sampling thread PCs.
The latter would punish threads that did long latency instructions, even
though the latency is effectively hidden.  This tracks which functions
utilize the execution units most heavily.
Interestingly, the results aren't that much different for nuengine.