Description - phoronix/asmfish

This is a test of asmFish, an advanced chess benchmark written in Assembly.

Metrics (Intel) - phoronix/asmfish
sh - pid 32504
	On_CPU   0.998
	On_Core  7.984
	IPC      0.962
	Retire   0.467	(46.7%)
	FrontEnd 0.290	(29.0%)
	Spec     0.170	(17.0%)
	Backend  0.074	(7.4%)
	Elapsed  220.05
	Procs    12
	Minflt   273834
	Majflt   0
	Utime    1756.59 	(100.0%)
	Stime    0.35    	(0.0%)
	Start    243559.28
	Finish   243779.33

The benchmark runs for almost four minutes. During that time it is scheduled on all CPUs 100% of the time.

Metrics (AMD) - phoronix/asmfish
sh - pid 12237
	On_CPU   0.997
	On_Core  15.952
	IPC      0.935
	FrontCyc 0.089	(8.9%)
	BackCyc  0.083	(8.3%)
	Elapsed  213.43
	Procs    20
	Minflt   279864
	Majflt   0
	Utime    3404.30 	(100.0%)
	Stime    0.29    	(0.0%)
	Start    236054.23
	Finish   236267.66
Process Tree - phoronix/asmfish
Process Tree
   32504) sh elapsed=220.05 start=0.00 finish=220.05
      32505) asmfish elapsed=220.05 start=0.00 finish=220.05
        32506) asmfish elapsed=0.00 start=0.00 finish=0.00
        32507) asmFishL_2018-0 elapsed=220.05 start=0.00 finish=220.05
        32508) asmFishL_2018-0 elapsed=219.96 start=0.05 finish=220.01
        32509) asmFishL_2018-0 elapsed=219.96 start=0.05 finish=220.01
        32510) asmFishL_2018-0 elapsed=219.96 start=0.05 finish=220.01
        32511) asmFishL_2018-0 elapsed=219.96 start=0.05 finish=220.01
        32512) asmFishL_2018-0 elapsed=219.96 start=0.05 finish=220.01
        32513) asmFishL_2018-0 elapsed=219.95 start=0.06 finish=220.01
        32514) asmFishL_2018-0 elapsed=219.95 start=0.06 finish=220.01
        32515) asmFishL_2018-0 elapsed=219.95 start=0.06 finish=220.01

The process tree is relatively simple and symmetric for all cores.

About this graph
CPU utilization maxed out for all cores.


The IPC is just slightly less than one.

About this graph
Reasonably high percentages of time speculating slots that are never retired as well a moderately high delays in the front end contribute to the lower IPC.

Next steps: Deeper investigation into causes for speculation e.g. branch misses and front end e.g. icache/itlb or other reasons.