Description - phoronix/n-queens

This is a test of the OpenMP version of a test that solves the N-queens problem. The board problem size is 18.

Metrics (Intel) - phoronix/n-queens
sh - pid 26949
	On_CPU   1.000
	On_Core  7.998
	IPC      1.096
	Retire   0.502	(50.2%)
	FrontEnd 0.035	(3.5%)
	Spec     0.395	(39.5%)
	Backend  0.068	(6.8%)
	Elapsed  34.94
	Procs    10
	Maxrss   10K
	Minflt   261
	Majflt   0
	Inblock  0
	Oublock  16
	Msgsnd   0
	Msgrcv   0
	Nsignals 0
	Nvcsw    55	(3.5%)
	Nivcsw   1512
	Utime    279.424005
	Stime    0.011999
	Start    762166.05
	Finish   762200.99

The program is On_CPU for 100%. Interesting to see such a high amount of speculative misses.

Metrics (AMD) - phoronix/n-queens
sh - pid 20321
	On_CPU   0.999
	On_Core  15.982
	IPC      1.165
	FrontCyc 0.011	(1.1%)
	BackCyc  0.097	(9.7%)
	Elapsed  17.99
	Procs    18
	Maxrss   10K
	Minflt   282
	Majflt   0
	Inblock  0
	Oublock  16
	Msgsnd   0
	Msgrcv   0
	Nsignals 0
	Nvcsw    98	(0.4%)
	Nivcsw   27853
	Utime    287.521327
	Stime    0.000633
	Start    10663.92
	Finish   10681.91

Process Tree - phoronix/n-queens
Process Tree
The process tree is simple

    26949) sh
      26950) n-queens
        26951) qn24b_openmp
        26952) qn24b_openmp
        26953) qn24b_openmp
        26954) qn24b_openmp
        26955) qn24b_openmp
        26956) qn24b_openmp
        26957) qn24b_openmp
        26958) qn24b_openmp

About this graph
Overall shows all cores scheduled to run n-queens.


An IPC of ~1.1 overall.

About this graph
Bad speculation is the largest issue and not much problem with stalls.

Topdown (Intel)
retire         0.502
ms_uops                0.000
speculation    0.394
branch_misses          99.98%
machine_clears         0.02%
frontend       0.036
idq_uops_delivered_0   0.002
idq_uops_delivered_1   0.008
idq_uops_delivered_2   0.022
idq_uops_delivered_3   0.039
backend        0.068
resource_stalls.sb     0.000
stalls_ldm_pending     0.116

The bad speculation appears to be branch misses.

Next steps: Understand branch misses in n-queens.