0

Hi,
I'm running a C++ program (HPCG benchmark) on an ARM processor based board (Juno) with 64-bit Fedora 21 OS.
When I run perf top in another terminal to find which functions are taking more CPU time, I get an output like below.

75.84 xhpcg [.] ComputeSYMGS_ref
22.27% xhpcg [.] ComputeSPMV_ref
1.14% xhpcg [.] ComputeWAXPBY_ref
0.40% xhpcg [.] ComputeDotProduct_ref
0.12% xhpcg [.] ComputeRestriction_ref
0.11% xhpcg [.] ComputeProlongation_ref
0.08% xhpcg [.] ComputeDotProduct_ref

The function ComputeDotProduct_ref is printed twice, once on line 4 and again on line 7 (last line).
I thoroughly checked source code and found that there is no function overloading for this function and it's defined only once.
Then why "perf top" is showing the same function twice instead of just once ?

Thank you.

2
Contributors
1
Reply
14
Views
2 Years
Discussion Span
Last Post by rubberman
1

Assuming perf top is single threaded, then it has to go through the process table linearly, and it may have then found that ComputeDotProduct_ref had reduced its CPU load in the interim, hence listing it again. These tools aren't "exact science", but are for general monitoring purposes. IE, the results will change significantly (usually) from run to run.

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.