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


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

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; [Link, Bike] Cheap Cycling Jerseys; [Link, Music] Music To Steal 2017; [Link, Future] Simulated Brain Drives Robot; [Link, Computing] Learned Index Structures; Solo Air Equalization; Update: Higher Pressures; Psychology; [Bike] Exercise And Fuel; Continental Race King 2.2; Removing Lowers; Mnesiacs; [Maths, Link] Dividing By Zero; [Book, Review] Ray Monk - Ludwig Wittgenstein: The Duty Of Genius; [Link, Bike, Computing] Evolving Lacing Patterns; [Jam] Strawberry and Orange Jam; [Chile, Privacy] Biometric Check During Mail Delivery; [Link, Chile, Spanish] Article on the Chilean Drought; [Bike] Extended Gear Ratios, Shimano XT M8000 (24/36 Chainring); [Link, Politics, USA] The Future Of American Democracy; Mass Hysteria

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

Overclocking: Asus P5LD2 SE, Core 2 Duo 2.1GHz (E6400)

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

Date: Sun, 11 Mar 2007 21:57:00 -0400 (CLT)

Below is a record of my experiments.  There may be some errors, as the
data were transcribed from rough notes on scraps of paper.  The basic
conclusions are:

- fine details don't matter too much as there are so many things to vary
  (in other words, there's more than one way to hit the same bottleneck)

- the board is very nice at "helping" with various automatic choices, but
  that also becomes a limiting factor (see below)

- using stock components it's possible to get a 25% performance gain.

- none of the above changed voltages (except for any "automatic"
  adjustments) and there seems to be very little risk involved
  (only once did I have to hard reset the motherboard).

- typically the board either works, or fails to boot.  Very few
  settings gave unstable behaviour later.

- top configurations are:

  fCPU    fClock                  t           speed
  2.77GHz 346MHz DDR922 5-2-2-18  0.78        +28%
  2.66GHz 333MHz DDR888 4-4-4-11  0.79, 0.81  +23-27%
  2.77GHz 346MHz DDR692 4-4-4-11  0.80, 0.80  +25%
  2.77GHz 346MHz DDR692 5-2-2-18  0.83        +20%
  2.13GHz 266MHz DDR712 4-4-4-11  1.00        (reference)

  where "t" is normalised time relative to the base config and
  "speed" is the relative % speed increase (100 * (1/t - 1))

The values given for frequency and memory settings are taken from
Memtest86+, v1.7.  They do not always agree with the BIOS settings (see
details below, where BIOS settings are given on first line).

The details below show that it is difficult to reach the settings achieved
directly.  Instead the boards "automatic" values need to be used -
entering direct values typically gives board lockups.  This may be because
using automatic settings also modifies voltages (which I otherwise left

I don't really understand memory timings, but 5-2-2-18 does look odd.  I
will probably go with 2.66GHz 333MHz DDR888 because it gives good
performance with less worry about CPU heating, and avoids the odd memory
values.  I have run that setting overnight on Memtest with no errors.
Note the strange memory multiplier (which fits those "4" values into "3").
 The FSB is then 1665MHz.


overclocking notes

090307 - all standard voltages

a  3.00GHz   375MHz  DDR750   4-4-4-11  fail

b  3.00GHz   375MHz  DDR563   4-4-4-11  fail

c  2.80GHz   350MHz  DDR933*  4-4-4-11  fail

d  2.77GHz   346MHz  DDR923*  4-4-4-11  fail

e  2.77GHz   30%     Auto     4-4-4-11  kernel 13m31s
             346MHz  DDR692   4-4-4-11

f  2.77GHz   30%     DDR922*  Auto      overlooked candidate?
             346MHz  DDR922*  5-2-2-18  (see below)

g  2.77GHz   30%     Auto     Auto      kernel 14m02s
             346MHz  DDR692   5-2-2-18

h  2.66GHz   333MHz  DDR888*  4-4-4-11  fail

i  2.66GHz   333MHz  DDR666   4-4-4-11  kernel 13m24s
             333MHz  DDR888*  4-4-4-11  (compare w above!)

j  2.66GHz   333MHz  DDR1110  Auto?     fail

k  ?         888/DDR667       Auto      fail

l  2.33GHz   10%     Auto     Auto
             292MHz  DDR584   5-2-2-18

m  2.24GHz   5%      Auto     Auto
             280MHz  DDR746*  4-4-4-11

n  2.13GHz   Auto    Auto     Auto      kernel 16m53s
             266MHz  DDR712*  4-4-4-11  mobo default

fastest cpu speed attained was 2.77GHz (e)
fastest 4-4-4-11 memory is DDR888* (i)
5-2-2-18(!) memory doesn't seem that useful (g), but perhaps (f) ok? (i)
was an attempt at a balanced solution - seems good
comparing (e) and (g), 4-4-4-11 v 5-2-2-11 is ~4%

strange bug in (h)/(i) - memtest or mobo wrong?
if memtest correct, (i) and (d) memory limit between DDR888* and DDR923*
otherwise (m) has fast memory

350MHz, DDR750, 4-4-4-11 (pushing i/f)
346MHz, DDR922*, Auto (f)
350MHz, DDR933*, Auto (pushing f)
333MHz, DDR888*, 4-4-4-11, higher V? (retry h)

100307 - all standard voltages except (p)

o  2.80GHz   350MHz  DDR700   4-4-4-11  fail
p  2.80GHz   350MHz  DDR700   4-4-4-11  fail  FSB 1.3V
q  2.66GHz   333MHz  DDR888*  4-4-4-11  fail (confirm above)
r  2.66GHz   333MHz  DDR833!  4-4-4-11  fail
s  2.66GHz   333MHz  DDR711!  4-4-4-11  fail
t  2.13GHz   266MHz  DDR889!  4-4-4-11  fail
u  2.13GHz   266MHz  DDR771!  4-4-4-11  fail

v  2.72GHz   340MHz  DDR680   4-4-4-11  new best candidate?
             340MHz  DDR906   4-4-4-11

w  2.77GHz   346MHz  DDR923*  5-5-5-15  fail
x  2.77GHz   346MHz  DDR923*  5-2-2-18  fail

y  2.77GHz   30%     Auto     Auto
             346MHz  DDR692   5-2-2-18

z  2.77GHz   346MHz  Auto     Auto
             346MHz  DDR692   5-2-2-18

-  2.77GHz   346MHz  DDR865*  Auto      fail (hard)
=  2.77GHz   346MHz  DDR692   4-4-4-11  fail (in memtest)
_  2.77GHz   346MHz  DDR692   5-2-2-18  fail

f  2.77GHz   346MHz  DDR692   Auto      previous (f) must have had error
             346MHz  DDR922*  5-2-2-18

e  2.77GHz   346MHz  Auto     4-4-4-11  equivalent to (e above)
             346MHz  DDR692   4-4-4-11

$  2.66GHz   333MHz  DDR666   Auto      doesn't give (i)
             333MHz  DDR888*  5-2-2-11

so after all that we have three candidates.
all odd - need auto and/or conflict between bios and memtest

e  2.77GHz   346MHz  Auto     4-4-4-11
             346MHz  DDR692   4-4-4-11

f  2.77GHz   346MHz  DDR692   Auto
             346MHz  DDR922*  5-2-2-18

i  2.66GHz   333MHz  DDR666   4-4-4-11
             333MHz  DDR888*  4-4-4-11

note that none can be specified exactly:

=  2.77GHz   346MHz  DDR692   4-4-4-11  fail (in memtest)
_  2.77GHz   346MHz  DDR692   5-2-2-18  fail
i  is specified exactly, but measures differently

kernel compile times (while rebuilding raid):

e  17m45s (33m/4m)
f  17m20s (31m/3m)
i  18m06s (34m/3m)
n  22m18s (39m/4m)

normalising all results:

f  2.77GHz 346MHz DDR922 5-2-2-18  0.78        +28%
i  2.66GHz 333MHz DDR888 4-4-4-11  0.79, 0.81  +23-27%
e  2.77GHz 346MHz DDR692 4-4-4-11  0.80, 0.80  +25%
g  2.77GHz 346MHz DDR692 5-2-2-18  0.83        +20%
n  2.13GHz 266MHz DDR712 4-4-4-11  1.00

difficult to improve further because nothing fixed exactly.
cannot "push" auto value.  don't want to play with voltages.

Slightly Faster

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

Date: Mon, 12 Mar 2007 09:09:25 -0400 (CLT)

After checking out what "safe" voltages might be for memory, I realised
that my mobo (Asus P5LD2 SE) is not at all hard-core, and that its maximum
voltage (2V) is not a problem.  Using that, and a CPU voltage of just
1.4125V, I can get to:

  fCPU    fClock                  t           speed
  2.72GZ  343MHz DDR914 4-4-4-11              +24-28%
b 2.77GHz 346MHz DDR922 5-2-2-18  0.78        +28%
a 2.66GHz 333MHz DDR888 4-4-4-11  0.79, 0.81  +23-27%
  2.77GHz 346MHz DDR692 4-4-4-11  0.80, 0.80  +25%
  2.77GHz 346MHz DDR692 5-2-2-18  0.83        +20%
  2.13GHz 266MHz DDR712 4-4-4-11  1.00        (reference)

Where the speed is extrapolated from the 2.66GHz config (a).

Looking again at the table above, I am surprised by the performance of the
2.77GHz DDR922 case (b).  I have been focusing on the 2.66GHz because (i)
the CPU speed kept low and (ii) it doesn't rely on "auto" settings (apart
from the strange 4:3 difference between specified and actual memory
speed).  But this seems to be pretty much the limit.  Maybe I should try
extending (b) with the new voltages, as the CPU seems to have a lot more
"headroom" than the memory.


3.04GHz, but no Disks

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

Date: Mon, 12 Mar 2007 18:07:34 -0400 (CLT)

Heh.  So I tried leaving the memory timings on Auto (ie 5-2-2-18), setting
the memory to 2V, and upping the clock speed.  The CPU and memory work
reliably (Memtest passed) at 380MHz (DDR1013!), but the SATA controller
(ICH7) fails to find the disks.  Pity...  The mobo allows the ICH7 voltage
to be raised slightly, but it made no real difference - the fastest speed
at which the disks are detected is 350.  Since I have 4-4-4-11 at 343 it
seems pointless.

Also, losing your disks is not a nice feeling.

In the future, however, I should buy a better mobo.  Overclocking was
never my intention before, but now I understand what's happening and it's
clear the mobo is critical.


Another 1 percent

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

Date: Mon, 12 Mar 2007 20:57:27 -0400 (CLT)

Hmmm.  I tied (e) again (faster CPU at the expense of the 4-3 multiplier
for memory access).  And it seems to be a couple of percent faster on the
kernel compile.  However, something flakey is happening with the display
as I type this, so I'm going back to the slower version.

Both these are memory at 1.95V:

2.74GHz 343MHz DDR914 4-4-4-11 12m46s
2.84GHz 355MHz DDR710 4-4-4-11 12m27s (video problems)

Higher than 355 again lost the disks...


Non-CPU Cooling Helps

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

Date: Fri, 18 Jul 2008 09:13:00 -0400 (CLT)

As part of generally keeping my server cool (it's a packaed case with 6
discs and all PCI slots filled, including an aircooled Graphics card with
a rather large heatsink and th edisk temperatures were getting worryingly
high) I added an extra fan - one of the bigger, quieter ones - on the side
of the case, pulling in air through holes on the case side.

As a consequence, there's extra air flow over the motherboard, including
the heatsink over what I guess is the southbridge(?).  Given that the
limits I hit before came from losing the disks rather than CPU overheating
I wondered whether this extra airflow would let me increase the clock

It does - I got to 355 MHz with all other settings on "Auto" (that's
2.88GHz).  I've dropped it to 350 and am running with no issues so far
(but don't do many long-term CPU intensive tasks).

Incidentally, I don't lose my SCSI disks (a couple of old disks configured
as RAID1 that hold /var and improve the response of the system
considerably, because the main RAID 5 isn't bothering with basic system
maintenance) which are connected via a PCI SCSI card.  So if you don't use
the SATA connections you could go higher...


Latest BIOS - No Memroy Remap for P5LD2 SE

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

Date: Mon, 25 Aug 2008 15:19:00 -0400 (CLT)

I just updated my BIOS (v1208) (using CD and FreeDos as described here - ) and
nothing much changed.  In particular, I still see no "remap memory" option
that would allow the full 4GB of memory to be used (if you search the web
various people mention this option, but as far as I can tell, it's not
present on the P5LD2 SE model).

Also, in search of a simpler life, I now simply set the board to 30%
overclocking using the "auto" feature, rather than setting clock values
manually.  It's very close to the same speed I could get by hand, but a
lot easier.


Overclocking Again

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

Date: Tue, 26 Aug 2008 22:07:34 -0400 (CLT)

Looking at this one more time, with the new BIOS (not sure it's changed
anything) and focussing on only the high level settings, I found that:

- 30% faster "automatic" reduces the memory speed from DDR2-533 to
  DDR2-400 and runs the CPU at 2.78GHz.
  this still gives a 22% speedup (using an arbitrary compile benchmark)

- FSB1333/DDR2-667 "automatic" doesn't seem to do what it says.
  CPU runs at 2.68GHz and memory at DDR-4300 according to the initial
  boot screen.  But that doesn't make sense since the CPU multiplier
  is 8 (8x333) which would make the memory DDR2-667 (as set).  So maybe
  the number reported on the boot screen is wrong in this case?
  Anyway, also gives 22% speedup.

- FSB1333/DDR2-834 caused boot to hang, but first reported PC2-5300
  (ie DDR2-667).  Perhaps again reported wrong?

- Setting both clock speed and memory speed together "manually" at
  350MHz (2.8GHz) and DDR2-700 is about as fast as I can get without
  hanging.  Gives a 30% speedup.

- Finally, at one point (manually setting DDR2-800) I got a black screen
  with "WAIT..." in white letters in the middle.  No idea what that was
  (eventually had to reset mobo by removing battery).


New Mobo

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

Date: Wed, 10 Jun 2009 06:21:19 -0400 (CLT)

With a new Motherboard (perhaps not necessary) and cooler (Zalman CNPS9500
AT), and faster RAM (DDR800, critical) I am now running at 3.4GHz,
completely stable.  See

With faster memory I think I could go faster still: the current limitation
is memory errors; core temp seems just fine.


Comment on this post