Andrew Cooke | Contents | Latest | RSS | Previous | Next

C[omp]ute

Welcome to my blog, which was once a mailing list of the same name and is still generated by mail. Please reply via the "comment" links.

Always interested in offers/projects/new ideas. Eclectic experience in fields like: numerical computing; Python web; Java enterprise; functional languages; GPGPU; SQL databases; etc. Based in Santiago, Chile; telecommute worldwide. CV; email.

Personal Projects

Choochoo Training Diary

Last 100 entries

Surprise Paradox; [Books] Good Author List; [Computing] Efficient queries with grouping in Postgres; [Computing] Automatic Wake (Linux); [Computing] AWS CDK Aspects in Go; [Bike] Adidas Gravel Shoes; [Computing, Horror] Biological Chips; [Books] Weird Lit Recs; [Covid] Extended SIR Models; [Art] York-based Printmaker; [Physics] Quantum Transitions are not Instantaneous; [Computing] AI and Drum Machines; [Computing] Probabilities, Stopping Times, Martingales; bpftrace Intro Article; [Computing] Starlab Systems - Linux Laptops; [Computing] Extended Berkeley Packet Filter; [Green] Mainspring Linear Generator; Better Approach; Rummikub Solver; Chilean Poetry; Felicitations - Empowerment Grant; [Bike] Fixing Spyre Brakes (That Need Constant Adjustment); [Computing, Music] Raspberry Pi Media (Audio) Streamer; [Computing] Amazing Hack To Embed DSL In Python; [Bike] Ruta Del Condor (El Alfalfal); [Bike] Estimating Power On Climbs; [Computing] Applying Azure B2C Authentication To Function Apps; [Bike] Gearing On The Back Of An Envelope; [Computing] Okular and Postscript in OpenSuse; There's a fix!; [Computing] Fail2Ban on OpenSuse Leap 15.3 (NFTables); [Cycling, Computing] Power Calculation and Brakes; [Hardware, Computing] Amazing Pockit Computer; Bullying; How I Am - 3 Years Post Accident, 8+ Years With MS; [USA Politics] In America's Uncivil War Republicans Are The Aggressors; [Programming] Selenium and Python; Better Walking Data; [Bike] How Fast Before Walking More Efficient Than Cycling?; [COVID] Coronavirus And Cycling; [Programming] Docker on OpenSuse; Cadence v Speed; [Bike] Gearing For Real Cyclists; [Programming] React plotting - visx; [Programming] React Leaflet; AliExpress Independent Sellers; Applebaum - Twilight of Democracy; [Politics] Back + US Elections; [Programming,Exercise] Simple Timer Script; [News] 2019: The year revolt went global; [Politics] The world's most-surveilled cities; [Bike] Hope Freehub; [Restaurant] Mama Chau's (Chinese, Providencia); [Politics] Brexit Podcast; [Diary] Pneumonia; [Politics] Britain's Reichstag Fire moment; install cairo; [Programming] GCC Sanitizer Flags; [GPU, Programming] Per-Thread Program Counters; My Bike Accident - Looking Back One Year; [Python] Geographic heights are incredibly easy!; [Cooking] Cookie Recipe; Efficient, Simple, Directed Maximisation of Noisy Function; And for argparse; Bash Completion in Python; [Computing] Configuring Github Jekyll Locally; [Maths, Link] The Napkin Project; You can Masquerade in Firewalld; [Bike] Servicing Budget (Spring) Forks; [Crypto] CIA Internet Comms Failure; [Python] Cute Rate Limiting API; [Causality] Judea Pearl Lecture; [Security, Computing] Chinese Hardware Hack Of Supermicro Boards; SQLAlchemy Joined Table Inheritance and Delete Cascade; [Translation] The Club; [Computing] Super Potato Bruh; [Computing] Extending Jupyter; Further HRM Details; [Computing, Bike] Activities in ch2; [Books, Link] Modern Japanese Lit; What ended up there; [Link, Book] Logic Book; Update - Garmin Express / Connect; Garmin Forerunner 35 v 230; [Link, Politics, Internet] Government Trolls; [Link, Politics] Why identity politics benefits the right more than the left; SSH Forwarding; A Specification For Repeating Events; A Fight for the Soul of Science; [Science, Book, Link] Lost In Math; OpenSuse Leap 15 Network Fixes; Update; [Book] Galileo's Middle Finger; [Bike] Chinese Carbon Rims; [Bike] Servicing Shimano XT Front Hub HB-M8010; [Bike] Aliexpress Cycling Tops; [Computing] Change to ssh handling of multiple identities?; [Bike] Endura Hummvee Lite II; [Computing] Marble Based Logic; [Link, Politics] Sanity Check For Nuclear Launch; [Link, Science] Entropy and Life

© 2006-2017 Andrew Cooke (site) / post authors (content).

Overclocking E6400 by 60%

From: "andrew cooke" <andrew@...>

Date: Sat, 9 May 2009 18:26:20 -0400 (CLT)

I have a new motherboard (Asus P5Q), CPU cooling fan (Zalman CNPS9500 AT),
and memory (Kingston DDR-800 CL5).

The new board alone is slightly faster (by a few percent).  But the memory
allows me to overclock much further than before (I didn't understand
earlier, but I was memory limited).  It's now pretty much trivial to run
my E6400 dual core (which is a 2.13GHz CPU) at 3.4GHz.  With the faster
memory and board, benchmarks are running nearly twice as fast (the
improvement is more than you'd expect by the increase in clock speed
alone).

Here are the benchmarks, from mprime (prime95):

           [1]     [2]     [3]     [4]     [5]     [6]
  768K  20.408  18.241  14.898  17.353  14.254  11.419
  896K  24.876  22.116  18.014  21.155  17.390  13.970
 1024K  27.775  25.058  20.568  23.578  19.832  15.571
 1280K  34.984  31.135  25.311  29.848  24.876  19.717
 1536K  42.091  37.696  31.153  35.838  29.813  23.776
 1792K  51.313  45.907  37.693  43.665  36.242  28.936
 2048K  56.736  56.497  42.449  48.220  40.535  32.298
 2560K  74.556  67.344  54.061  63.542  52.445  42.005
 3072K  89.958  80.724  66.441  76.359  63.521  50.682
 3584K 109.729  98.756  80.448  93.190  77.496  61.782
 4096K 122.243 111.042  90.782 103.557  87.006  69.195
 5120K 155.761 139.786 112.167 131.977 108.599  86.527
 6144K 186.275 164.912 130.115 157.367 127.388 102.715
 7168K 232.665 223.349 162.070 195.954 156.536 127.688
 8192K 255.999 231.800 181.558 212.689 172.551 139.292
  768K  12.167  12.593  12.156  10.155  10.188   7.602
  896K  14.285  14.807  14.131  12.061  11.898   8.868
 1024K  27.114  20.936  19.060  16.603  16.590  12.834
 1280K  20.403  20.009  18.410  17.327  16.803  12.842
 1536K  24.219  24.158  22.570  20.488  20.162  15.400
 1792K  29.525  28.951  26.523  24.874  23.957  18.281
 2048K  32.503  33.430  30.858  27.649  27.169  20.819
 2560K  42.824  42.459  38.833  36.412  35.013  26.808
 3072K  51.851  52.456  48.089  43.808  42.211  32.735
 3584K  63.313  66.375  57.097  53.347  50.151  38.603
 4096K  71.242  74.312  67.507  59.918  56.966  43.686
 5120K  95.112  98.149  84.860  76.887  71.544  55.143
 6144K 119.427 123.165 109.660  96.872  95.226  71.323
 7168K 153.167 163.594 137.815 120.865 116.777  90.379
 8192K 195.421 201.644 158.536 141.485 128.384 106.770
 58bit   4.858   4.156   3.160   4.143   3.141   2.614
 59bit   5.042   5.596   3.300   4.233   3.180   2.668
 60bit   4.927   5.574   4.385   4.166   3.198   2.638
 61bit   5.324   6.084   4.633   4.556   3.467   2.882
 62bit   5.648   6.440   4.894   4.820   3.664   3.044
 63bit   6.521   7.470   5.684   5.590   4.256   3.537
 64bit   8.246   9.383   7.143   7.027   5.341   4.426
 65bit   8.547   9.739   7.379   7.246   5.550   4.580
 66bit   9.594  11.029   8.418   8.218   6.261   5.161
 67bit   9.514  10.910   8.277   8.154   6.217   5.136


[1] Laptop
----------

Lenovo Thinkpad X60

Intel(R) Core(TM)2 CPU         T5600  @ 1.83GHz
CPU speed: 1829.83 MHz, 2 cores
CPU features: RDTSC, CMOV, Prefetch, MMX, SSE, SSE2
L1 cache size: 32 KB
L2 cache size: 2 MB
L1 cache line size: 64 bytes
L2 cache line size: 64 bytes
TLBS: 256


[2-6] Desktop
-------------

Intel(R) Core(TM)2 CPU          6400  @ 2.13GHz
[2] CPU speed: 2137.22 MHz, 2 cores (ASUS p5LD2 SE, i945P, 266, DDR2-533)
[3] CPU speed: 2803.53 MHz, 2 cores (ASUS p5LD2 SE, i945P, 350, DDR2-700)
[4] CPU speed: 2137.22 MHz, 2 cores (ASUS p5Q,      p45,   266, DDR2-533)
[5] CPU speed: 2807.79 MHz, 2 cores (ASUS p5Q,      p45,   350, DDR2-700)
[6] CPU speed: 3400.13 MHz, 2 cores (ASUS p5Q,      p45,   425, DDR2-851)
CPU features: RDTSC, CMOV, Prefetch, MMX, SSE, SSE2
L1 cache size: 32 KB
L2 cache size: 2 MB
L1 cache line size: 64 bytes
L2 cache line size: 64 bytes
TLBS: 256

92% Faster

From: "andrew cooke" <andrew@...>

Date: Sun, 10 May 2009 12:33:55 -0400 (CLT)

After a bit more experimenting I've settled with a base frequency of
435MHz (which gives a reported CPU speed of 3.5GHz on boot with the fixed
scaling of 8 for the E6400).

Some details in case I ever try to repeat this:

 - using "auto" for as much as possible seems to be the best approach
 - memory is still the limitation
 - 440MHz passed memtest
 - 450MHz failed memtest
 - dual channel (memory in both yellow slots) appears to be slightly
   (5%?) faster than single channel

Also, I tried to understand the Northbridge strap.  I am unclear how it is
implemented, but in practice all it lets you do is specify the integer
divider for the FSB.  The FSB is related to the base clock via the ratio
of two integers: A/B.  So f(FSB) = f(base) * A/B (and B is selected by the
"strap").

Curiously the "A" has values (with some arbitrary scale factor) of 5, 6, 8
and 9 (no 7).  While B has values 3, 4, 5, 6 (which ASUS labels as 200,
266, 333 and 400 MHz for some obscure reason).

If you use the integers above (which are the smallest simple numbers) then
you also need an extra factor of 2.  For example, given a base clock of
350 Hz, the available factors (including the extra 2) and corresponding
FSB frequencies are:

           A
B          5         6         8         9
3 (200)    10/3=1167 12/3=1400
4 (266)    10/4=875  12/4=1050 16/4=1400
5 (333)    10/5=700  12/5=840  16/5=1120
6 (400)              12/6=700  16/6=933  18/6=1050

which are the FSB speeds available (the spaces were missing from the BIOS
display).

But you don't need to bother with this.  If you set strap to "auto", the
BIOS automatically lists all the different values available in the FSB
menu (and appears to select the most stable implementation when the
frequency is available by two different A,B combinations, like 700MHz
above).

Anyway, the final results are below.  I wrote a small program to calculate
the average ratio between two different configurations for all the timings
given in the prime output.  Comparing my current (apparently stable)
setting (3.5GHz) with that for which the chip was originally designated on
my old board (2.13GHz with DDR 533), I have a 92% speedup!


Benchmarks from mprime.

           [1]     [2]     [3]     [4]     [5]     [6]     [7]
  768K  20.408  18.241  14.898  17.353  14.254  11.419  10.781
  896K  24.876  22.116  18.014  21.155  17.390  13.970  13.139
 1024K  27.775  25.058  20.568  23.578  19.832  15.571  14.625
 1280K  34.984  31.135  25.311  29.848  24.876  19.717  18.418
 1536K  42.091  37.696  31.153  35.838  29.813  23.776  22.164
 1792K  51.313  45.907  37.693  43.665  36.242  28.936  26.990
 2048K  56.736  56.497  42.449  48.220  40.535  32.298  29.788
 2560K  74.556  67.344  54.061  63.542  52.445  42.005  39.185
 3072K  89.958  80.724  66.441  76.359  63.521  50.682  47.151
 3584K 109.729  98.756  80.448  93.190  77.496  61.782  57.491
 4096K 122.243 111.042  90.782 103.557  87.006  69.195  64.115
 5120K 155.761 139.786 112.167 131.977 108.599  86.527  81.049
 6144K 186.275 164.912 130.115 157.367 127.388 102.715  97.008
 7168K 232.665 223.349 162.070 195.954 156.536 127.688 119.891
 8192K 255.999 231.800 181.558 212.689 172.551 139.292 130.687
  768K  12.167  12.593  12.156  10.155  10.188   7.602   6.515
  896K  14.285  14.807  14.131  12.061  11.898   8.868   7.647
 1024K  27.114  20.936  19.060  16.603  16.590  12.834  11.174
 1280K  20.403  20.009  18.410  17.327  16.803  12.842  10.945
 1536K  24.219  24.158  22.570  20.488  20.162  15.400  12.987
 1792K  29.525  28.951  26.523  24.874  23.957  18.281  15.674
 2048K  32.503  33.430  30.858  27.649  27.169  20.819  17.440
 2560K  42.824  42.459  38.833  36.412  35.013  26.808  22.932
 3072K  51.851  52.456  48.089  43.808  42.211  32.735  27.739
 3584K  63.313  66.375  57.097  53.347  50.151  38.603  33.111
 4096K  71.242  74.312  67.507  59.918  56.966  43.686  37.790
 5120K  95.112  98.149  84.860  76.887  71.544  55.143  47.342
 6144K 119.427 123.165 109.660  96.872  95.226  71.323  59.602
 7168K 153.167 163.594 137.815 120.865 116.777  90.379  76.225
 8192K 195.421 201.644 158.536 141.485 128.384 106.770  86.106
 58bit   4.858   4.156   3.160   4.143   3.141   2.614   2.540
 59bit   5.042   5.596   3.300   4.233   3.180   2.668   2.623
 60bit   4.927   5.574   4.385   4.166   3.198   2.638   2.554
 61bit   5.324   6.084   4.633   4.556   3.467   2.882   2.784
 62bit   5.648   6.440   4.894   4.820   3.664   3.044   2.950
 63bit   6.521   7.470   5.684   5.590   4.256   3.537   3.416
 64bit   8.246   9.383   7.143   7.027   5.341   4.426   4.298
 65bit   8.547   9.739   7.379   7.246   5.550   4.580   4.480
 66bit   9.594  11.029   8.418   8.218   6.261   5.161   5.048
 67bit   9.514  10.910   8.277   8.154   6.217   5.136   4.977


[1] Laptop
----------

Lenovo Thinkpad X60

Intel(R) Core(TM)2 CPU         T5600  @ 1.83GHz
CPU speed: 1829.83 MHz, 2 cores
CPU features: RDTSC, CMOV, Prefetch, MMX, SSE, SSE2
L1 cache size: 32 KB
L2 cache size: 2 MB
L1 cache line size: 64 bytes
L2 cache line size: 64 bytes
TLBS: 256


[2-7] Desktop
-------------

Intel(R) Core(TM)2 CPU          6400  @ 2.13GHz
[2] CPU speed: 2137.22 MHz, 2 cores (ASUS p5LD2 SE, i945P, 266, DDR2-533)
[3] CPU speed: 2803.53 MHz, 2 cores (ASUS p5LD2 SE, i945P, 350, DDR2-700)
[4] CPU speed: 2137.22 MHz, 2 cores (ASUS p5Q,      p45,   266, DDR2-533)
[5] CPU speed: 2807.79 MHz, 2 cores (ASUS p5Q,      p45,   350, DDR2-700)
[6] CPU speed: 3400.13 MHz, 2 cores (ASUS p5Q,      p45,   425, DDR2-851)
[7] CPU speed: 3488.41 MHz, 2 cores (ASUS p5Q,      p45,   435, DDR2-870,
dual)
CPU features: RDTSC, CMOV, Prefetch, MMX, SSE, SSE2
L1 cache size: 32 KB
L2 cache size: 2 MB
L1 cache line size: 64 bytes
L2 cache line size: 64 bytes
TLBS: 256

Not Quite

From: "andrew cooke" <andrew@...>

Date: Sun, 10 May 2009 13:37:44 -0400 (CLT)

Hmmm.  So it semes I am also at the limit of the CPU.  While 435 passed
memtest no problems the system hangs with prime - I assume the CPU is
stalling.  And I don't want to over-volt further (auto is already pushing
things close to 1.5V).

Changing to 440 with a x7 CPU factor (3.1GHz) seemed to be stable, but was
much slower (74% faster than base, compared to 92%).

Changing to 425 (3.4GHz) with the faster x8 also seems to be stable, and
doesn't lose as much (86% faster than base, compared to 92%).  This is
what I am using for now.

Andrew

Factor of 2 (Northbridge Explanation v2)

From: "andrew cooke" <andrew@...>

Date: Tue, 12 May 2009 14:04:02 -0400 (CLT)

The factor of 2 above was the DDR doubling (of course), so here is the
Northbridge explanation again, with that corrected:

I am unclear how the Northbridge strap is implemented, but in practice all
it lets you do is specify the integer divider for the FSB.  The FSB is
related to the base clock via the ratio of two integers: A/B.  So f(FSB) =
f(base) * A/B (and B is selected by the "strap").

Curiously the "A" has values of 5, 6, 8 and 9 (no 7).  While B has values
3, 4, 5, 6 (which ASUS labels as 200, 266, 333 and 400 MHz for some
obscure reason).

If you use the integers above then you also need an extra factor of 2 if
you want the DDR "speed" (because it's *double* data rate).  So an FSB
frequency of 400MHz requires DDR-800 memory.

As an example, here are the factors and DDR ratings when the base clock is
350MHz:

           A
B          5          6          8          9
3 (200)    2*5/3=1167 2*6/3=1400
4 (266)    2*5/4=875  2*6/4=1050 2*8/4=1400
5 (333)    2*5/5=700  2*6/5=840  2*8/5=1120
6 (400)               2*6/6=700  2*8/6=933  2*9/6=1050

You can see these by setting the clock (350), selecting the Northbridge
strap (200, 266, 333 or 400) and then looking at the list of possible
memory speeds in the BIOS.  You should see the values from the appropriate
horizontal line of the table above.

But you don't need to bother with this.  If you set strap to "auto", the
BIOS automatically lists all the different values available (and appears
to select the most stable implementation when the frequency is available
by two different A,B combinations, like 700MHz above).

Andrew

More Overvoltage Results

From: "andrew cooke" <andrew@...>

Date: Wed, 10 Jun 2009 12:42:50 -0400 (CLT)

The conclusion here is that things appear to get hot quickly once the
"Auto" board config starts to give out.

My base system is FSB 425MHz, as described above, with DDR850 and the CPU
at 3.4GHz.  That has been rock solid.  CPU voltage appears to be 1.46V and
memory 1.8V.

Memtest results (eg with lower CPU ratio) indicate that I can get to
DDR920 at 2.1V, but the CPU starts to have problems.  At FSB 440 things
appear to be stable at 1.55V for the CPU, but the speed advantage is
minimal, CPU temperatures are up, and the CPU fan is always higher (and
noiser) than before.  At FSB 450 I need 1.6V and appear to overheat on
prime (system freezes as core temperature reaches high 90s).

So 450 seems to be an upper limit for my CPU with current cooling, and 440
is the closest stable point I have found (3.5GHz).  The gain from 3.4GHz
doesn't seem to be worth the worry (increased voltage on CPU and memory,
noticeably higher core temperatures).

So an overclock of 60% (425, 3.4) is "no problem", but 65% (440, 3.5) is
borderline problematic - seems like I have met a fairly steep wall.

Andrew

Comment on this post