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

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

Archive

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