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

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

Archive

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