-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implausible cycle count when PMU muxing is active #53
Comments
The above measurements are with the diff from #50 (comment), but this also happens using Here's a strange measurement from current master: julia> @pstats "cpu-cycles,instructions,branch-instructions,branch-misses,cache-misses,cache-references" rand(1000,1000)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
╶ cpu-cycles 1.43e+04 59.4% # 0.0 cycles per ns
╶ instructions 1.26e+07 100.0% # 877.8 insns per cycle
╶ branch-instructions 1.07e+06 100.0% # 8.5% of insns
╶ branch-misses 1.19e+04 100.0% # 1.1% of branch insns
╶ cache-misses 1.09e+05 100.0% # 8.2% of cache refs
╶ cache-references 1.33e+06 40.9%
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ |
I haven't been able to get
|
Seems to be affected by the number of events we're creating for threading (I'm running on a 64-core / 128-hyper-threads machine). This is the worst outlier with julia> @pstats "cpu-cycles,instructions,branch-instructions,branch-misses,cache-misses,cache-references" threads=false rand(1000,1000)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
╶ cpu-cycles 4.27e+06 73.0% # 1.2 cycles per ns
╶ instructions 1.03e+07 100.0% # 2.4 insns per cycle
╶ branch-instructions 6.23e+05 100.0% # 6.0% of insns
╶ branch-misses 4.94e+03 100.0% # 0.8% of branch insns
╶ cache-misses 8.85e+04 100.0% # 7.6% of cache refs
╶ cache-references 1.17e+06 27.4%
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Using Weirdly enough, the situation also improves dramatically if I use |
If I group the julia> @pstats "(cpu-cycles,instructions),branch-instructions,branch-misses,cache-misses,cache-references" rand(1000,1000)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┌ cpu-cycles 8.71e+04 40.7% # 0.0 cycles per ns
└ instructions 2.60e+04 40.7% # 0.3 insns per cycle
╶ branch-instructions 1.01e+06 100.0% # 3900.4% of insns
╶ branch-misses 1.33e+04 100.0% # 1.3% of branch insns
╶ cache-misses 1.04e+05 100.0% # 11.7% of cache refs
╶ cache-references 8.91e+05 59.6%
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Somehow these counters were active ~40% of the time, but the reading was ~100x lower than expected |
All the issues you've had have been on a single machine right? |
Yeah, that's right. I'm going to try to take some measurements tomorrow on other HW. |
It's not uncommon for me to get a reading like this:
about ~10-30% of the time, compared to a more reasonable measurement:
~100 instructions per cycle seems... a little high
The text was updated successfully, but these errors were encountered: