mscroggs.co.uk
mscroggs.co.uk

subscribe

Comment

Comments

Comments in green were written by me. Comments in blue were not written by me.
@Lord Sméagol: Right, I wasn't using SMT (I meant it when I said without multithreading, sorry for the bad wording). I tried to use intel-based VM before with 4 cpu/8 threads, but the speedup was about 5.5 times only, and the price was only 20% less (I used Azure spot instances which are not so expensive, but some automation is needed to restart them every time they are stopped by Azure).
To give you all details, my program spent 21 days on an AMD EPYC 9004 (8 cores without SMT, Azure spot instance Standard F8als v6) using 8 threads (that is, about 160 CPU-days!)
I've published the source code, still planning to write about the optimizations: https://github.com/lightln2/partridge-...
(anonymous)
on /blog/119
               
@(anonymous): Thanks for the clarification.
I'm still (slowly) building my asm funcion. I think I have settled on register allocation, leaving only rcx as a 'scratch' register because cl will be needed for some variable shifts.
I also use the xmm registers (14 so far) to minimize memory operations to hopefully let HT/SMT get some decent gains.

How long would Matt Parker's 'terrible Python code' take to solve this problem ? :)
Ok, his maths knowledge might produce some decent algorithms, but it would help him a lot to use something that compiles to native code.
Lord Sméagol
on /blog/119
               

Archive

Show me a random blog post
 2026 

May 2026

World Cup stickers 2026

Apr 2026

A new puzzle every day
Mixing Wordle with other games

Feb 2026

Christmas (2025) is over
 2025 

Dec 2025

Christmas card 2025

Nov 2025

Christmas (2025) is coming!

Sep 2025

The partridge puzzle

Aug 2025

TMiP 2025 puzzle hunt

Jun 2025

A nonogram alphabet

Mar 2025

How to write a crossnumber

Jan 2025

Christmas (2024) is over
Friendly squares
 2024 

Dec 2024

A regular expression Christmas puzzle
Christmas card 2024

Nov 2024

Christmas (2024) is coming!

Feb 2024

Zines, pt. 2

Jan 2024

Christmas (2023) is over
 2023 
▼ show ▼
 2022 
▼ show ▼
 2021 
▼ show ▼
 2020 
▼ show ▼
 2019 
▼ show ▼
 2018 
▼ show ▼
 2017 
▼ show ▼
 2016 
▼ show ▼
 2015 
▼ show ▼
 2014 
▼ show ▼
 2013 
▼ show ▼
 2012 
▼ show ▼

Tags

coventry turtles news hannah fry interpolation exponential growth map projections nonograms matrix of minors hats convergence warwick machine learning partridge puzzle asteroids weak imposition programming bodmas signorini conditions noughts and crosses braiding sorting fonts youtube boundary element methods advent calendar talking maths in public friendly squares football flexagons radio 4 squares books crosswords guest posts geometry dataset databet chebyshev hyperbolic surfaces error bars curvature folding paper geogebra php pac-man games latex crochet a gamut of games folding tube maps numerical analysis royal baby go captain scarlet triangles errors manchester science festival thirteen game of life estimation bempp bluesky computational complexity matrix multiplication preconditioning approximation dates quadrilaterals tmip simultaneous equations realhats 24 hour maths runge's phenomenon golden spiral chalkdust magazine manchester polynomials data misleading statistics matt parker pythagoras menace regular expressions python dragon curves mathsjam cross stitch logs determinants tetris christmas standard deviation weather station reddit numbers fractals arithmetic graphs bots edinburgh stickers statistics phd pokémon national lottery crossnumbers javascript trigonometry gerry anderson golden ratio rhombicuboctahedron alphabets pi royal institution big internet math-off kenilworth pi approximation day sport propositional calculus binary nine men's morris live stream platonic solids raspberry pi tennis recursion chess rust pokémon wordle wordle crossnumber electromagnetic field light inline code logic plastic ratio matrices anscombe's quartet mean european cup finite group correlation dinosaurs newcastle craft arrangement puzzles mathslogicbot accuracy ternary bubble bobble rugby hexapawn oeis gather town kings draughts matrix of cofactors finite element method sobolev spaces harriss spiral stirling numbers reuleaux polygons graph theory ucl puzzles cambridge inverse matrices game show probability martin gardner christmas card mathsteroids london final fantasy gaussian elimination palindromes wool speed countdown video games london underground coins people maths probability sound world cup wave scattering data visualisation pizza cutting the aperiodical fence posts zines frobel pascal's triangle datasaurus dozen logo

Archive

Show me a random blog post
▼ show ▼
© Matthew Scroggs 2012–2026