Experiments with THRML

Extropic is building thermodynamic computing hardware that is radically more energy efficient than GPUs.

Extropic | Home
Building thermodynamic computing hardware that is radically more energy efficient than GPUs.

Extropic released the THRML library so that developers can start experimenting and prototyping on a GPU before they get access to the real hardware.

GitHub - extropic-ai/thrml: Thermodynamic Hypergraphical Model Library in JAX
Thermodynamic Hypergraphical Model Library in JAX. Contribute to extropic-ai/thrml development by creating an account on GitHub.
THRML is a JAX library for building and sampling probabilistic graphical models, with a focus on efficient block Gibbs sampling and energy-based models. Extropic is developing hardware to make sampling from certain classes of discrete PGMs massively more energy efficient; THRML provides GPU‑accelerated tools for block sampling on sparse, heterogeneous graphs, making it a natural place to prototype today and experiment with future Extropic hardware.

I got AI to help me with some experiments:

GitHub - ndbroadbent/thrml: THRML experiments
THRML experiments. Contribute to ndbroadbent/thrml development by creating an account on GitHub.

I thought it would be fun to try solving mazes. Here's the code that we finally got working:

thrml/path_finding/thrml_flow_solver.py at main · ndbroadbent/thrml
THRML experiments. Contribute to ndbroadbent/thrml development by creating an account on GitHub.

And here's a few examples of the mazes it can solve:

DFS Perfect
Recursive Division
Random Walls


I also played with lots of other ideas, some in THRML and some not. It was fun to throw random ideas at the AI and see if we could get anything to work. I experimented with random ideas like tile-based encodings, spacetime graphs, wavefront IBMs, and other ideas that mostly failed to do anything useful.

There were some interesting visuals though.

0:00
/0:06
0:00
/0:19
0:00
/0:31
0:00
/0:45
0:00
/0:48

I had a lot of fun playing around with these little experiments. I would like to experiment with more little simulations in the future.