I am trying to compare the number crunching performance of an i5-3210M @ 2.5GHz with 6GB ram and an i7 970 @3.2GHz with 24GB ram. The results are so unexpected I presume I am either doing something very wrong or there is something very wrong with the i7.

As background, the information at the following site shows that the i7 is better is every way (other than being an older cpu model by about 2 years).

http://www.cpubenchmark.net/compare.php?cmp[]=840&cmp[]=815

The operating systems on both computers are identical(Arch Linux x86_64). Both computers are equally stable and never crash.

I am using xlinpack_xeon64, which I obtained here https://aur.archlinux.org/packages/linpack/

This test "...makes use of SMP parallelism and by default generates as many threads of execution as the number of the processors of the SMP system." I can verify it is doing so by watching top/htop. Also, when I explicitly set the environment variable OMP_NUM_THREADS to variable numbers of threads, I can observe by top/htop that the specified numbers are being used.

Using this, I have found the i5 to be faster than the i7 by sometimes a factor of 1.2. I have pasted the results for both in full below.

I was initially expecting that in these very parallelizable tests, i7 would outperform the i5 by maybe a factor of three (the i7 has 6 physical cores, and i5 has 2).

I used the systester benchmarker to see if there was something peculiar about linpack here, and this provided almost identical results (i5 faster by around a factor of 1.2).

Finally, I checked the recorded gflops for the two cpu's reported at this site http://www.intel.com/support/processors/sb/CS-017346.htm

Here, the specified gflops for the i5 is 40. So more of less exactly what the linpack results show. On the other hand, the specified gflops for the i7 is around 79. And I am getting about half of that.

I am baffled but I presume the i7 (whether the cpu itself or the ram or the mb) is malfunctioning. Indeed the variability of the results for the i7 and also complete lack of variability for the i5 is also indicative of something awry with the i7.

Any insight would be very helpful.

-m

======= Results =================

```
============================================================================
========== i7 linpack test =================================================
============================================================================
Input data or print help ? Type [data]/help :
Number of equations to solve (problem size): 20000
Leading dimension of array: 20000
Number of trials to run: 4
Data alignment value (in Kbytes): 4
Current date/time: Wed May 21 23:51:14 2014
CPU frequency: 3.206 GHz
Number of CPUs: 1
Number of cores: 6
Number of threads: 12
Parameters are set to:
Number of tests: 1
Number of equations to solve (problem size) : 20000
Leading dimension of array : 20000
Number of trials to run : 4
Data alignment value (in Kbytes) : 4
Maximum memory requested that can be used=3200404096, at the size=20000
=================== Timing linear equation system solver ===================
Size LDA Align. Time(s) GFlops Residual Residual(norm) Check
20000 20000 4 149.874 35.5909 3.288586e-10 2.911119e-02 pass
20000 20000 4 135.832 39.2701 3.288586e-10 2.911119e-02 pass
20000 20000 4 142.117 37.5334 3.288586e-10 2.911119e-02 pass
20000 20000 4 121.434 43.9262 3.288586e-10 2.911119e-02 pass
Performance Summary (GFlops)
Size LDA Align. Average Maximal
20000 20000 4 39.0801 43.9262
Residual checks PASSED
End of tests
============================================================================
========== i5 linpack test =================================================
============================================================================
Input data or print help ? Type [data]/help :
Number of equations to solve (problem size): 20000
Leading dimension of array: 20000
Number of trials to run: 4
Data alignment value (in Kbytes): 4
Current date/time: Wed May 21 23:54:15 2014
CPU frequency: 3.092 GHz
Number of CPUs: 1
Number of cores: 2
Number of threads: 4
Parameters are set to:
Number of tests: 1
Number of equations to solve (problem size) : 20000
Leading dimension of array : 20000
Number of trials to run : 4
Data alignment value (in Kbytes) : 4
Maximum memory requested that can be used=3200404096, at the size=20000
=================== Timing linear equation system solver ===================
Size LDA Align. Time(s) GFlops Residual Residual(norm) Check
20000 20000 4 125.668 42.4461 4.097986e-10 3.627616e-02 pass
20000 20000 4 125.602 42.4686 4.097986e-10 3.627616e-02 pass
20000 20000 4 125.551 42.4856 4.097986e-10 3.627616e-02 pass
20000 20000 4 125.550 42.4861 4.097986e-10 3.627616e-02 pass
Performance Summary (GFlops)
Size LDA Align. Average Maximal
20000 20000 4 42.4716 42.4861
Residual checks PASSED
End of tests
```