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

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

Archive

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