Triton Puzzles Lite kept the visualization file it says it removed
Puzzles for learning Triton, play it with minimal environment configuration!
At a glance
- What is it?
- A stripped-down fork of Sasha Rush's Triton teaching notebook, turned from Jupyter into a script that runs on CPU through the Triton interpreter. The install is one pinned pip line, the version check is a demo output, and two puzzles do not pass on a GPU.
- Who is it for?
- This is a good fit for someone who wants to learn Triton kernels without standing up a GPU or a notebook environment, and a poor fit for anyone who needs the visualization layer or a maintained dependency set. The two decisions to check first are the pin and the freshness: the install line is torch==2.5.0 with a comment expecting triton==3.1.0, and the last recorded push to main is 2026-03-17, so nothing in this repository is going to move that pin for you.
- Can I use it commercially?
- Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Activity is slowing. The repository last received commits 6 months ago.
- What is it written in?
- Mainly Python, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 11, 2026, and from our analysis. They are not legal advice.
Editorial analysis
The debug section shows one truncated sample and two promises
The Debug section has three numbered items. The first is the only one with an example, and the example stops in the middle of a row:
# In the Triton kernel program
print("Weight: ", weight) # Print "weight" tensorWhat follows is a printed tensor that runs to eight rows and then begins a ninth, starting 67937 -74551 -45982, and stops there. Items two and three have no output sample at all. Item two says the test function is enhanced to print more information, and that when your output differs from the expected output both are printed along with the positions of the different values. Item three says that when invalid memory access is detected the memory access information is printed, including access offsets and the valid or invalid mask, and that this is implemented by hooking the Triton interpreter so it exists only in CPU mode. Those two behaviours are the ones a beginner actually needs, and neither is illustrated. The mode split is the other half of the item: in interpreter mode on CPU you can print intermediate values and their shapes with print, while on a GPU the same job needs tl.static_print or tl.device_print instead.
Interpreter mode has to be asked for on every command line
Every puzzle runs on CPU through the Triton interpreter, which means GPU configuration is optional and torch-cpu is enough, though the puzzles can also be run on a GPU. What is not optional is the flag, because there is no config file and no default:
# Run all puzzles. Stop at the first failed one
TRITON_INTERPRET=1 python3 puzzles.py -a
# Run on GPU
python3 puzzles.py -a
# Only run puzzle 1
TRITON_INTERPRET=1 python3 puzzles.py -p 1
# More arguments, refer to help
python3 puzzles.py -hSo the same flag appears in front of three of the four commands, and the one without it is the GPU run. The second argument controls the scope: -a runs everything and stops at the first failure, -p 1 runs a single puzzle by number, and -h prints the rest. The instruction above the block spells out the requirement in words as well, with a typo, reminding the reader to open the Triton interpreter mode. Answers ship alongside the puzzles and run the same way, with puzzles_ans.py taking -a under the same flag.
Two puzzles are listed as failing on GPU
The Known Issues section is two items long and the first is simply that puzzle 11 and puzzle 12 fail in GPU mode. That is the entire statement: no error message, no workaround, no note about whether the interpreter path passes them. Since interpreter mode is the path the install section recommends and the one the run commands use, a learner following the documentation never meets this. It matters when you go looking for the pictures: puzzles.md carries the puzzle descriptions with illustrations, and the pictures come from an imgs/ directory in the tree. Puzzle 12 is also the one that picked up a description change in the Changes section, a set of notes about the difference of shift in the formula and in the real tests. So the same puzzle is simultaneously the one with a formula caveat and the one that does not pass on hardware, which is worth knowing before you spend an afternoon on it.
The version check is a demo output, not a version number
The install section pins one package and warns about a version problem without saying how to check it:
# In your Python virtual environment / conda environment
pip install torch==2.5.0
# Check triton version: triton==3.1.0The second line is a comment, so nothing checks anything. The documented way to check is in Known Issues, and it works by reading numbers off a demo run instead of reading a version off the toolchain. There are compatibility issues between the Triton interpreter and NumPy 2.0, and to check for them you first run the demos:
TRITON_INTERPRET=1 python3 puzzles.py -iIf Demo 1 prints the identity row followed by a row of zeros, you have the version problem, and the detailed solution is not in this repository at all: it is in issue 1. So the support path for the single most likely first-run failure is a link out to a tracker, which also means the answer can change without anything in the tree changing.
Six committed files are never named in the documentation
The tree holds eleven entries plus LICENSE and imgs/. The documentation names three of them: puzzles.py, which the getting-started section calls the main content and tells you to read in order, puzzles_ans.py, which holds the answers, and puzzles.md, which holds the descriptions and pictures. Six more are committed and unnamed: display.py, interpreter.py, tensor_type.py, test_puzzle.py, puzzles_ans_bp.py and the imgs/ directory. display.py is the interesting one, because the Changes section says the visualization part of the original was removed and the project was turned from a Jupyter notebook into a Python script. The file is still there. interpreter.py is the hook item three of the debug section refers to, test_puzzle.py is the enhanced test function from item two, and puzzles_ans_bp.py is a second answer file that nothing in the documentation explains. Their presence matters for a learner who reads the source: the vendored interpreter hook and the test harness are the parts that make the debugging claims work.
Four problem descriptions were corrected against the original
This is a fork of Triton-Puzzles by Sasha Rush and others, described as a good educational notebook, with the unnecessary dependencies removed to make it more accessible to beginners. Beyond that, four descriptions were fixed rather than rewritten. Puzzle 6 had its indices transposed: (i, j) should be (j, i), and x should be two-dimensional. Puzzle 9 had a confusing description and notation set, replaced with a corrected version. Puzzle 10 renamed its index variable from k to l so it would not be confused with the kernel k. Puzzle 12 gained notes about the difference of shift in the formula versus the real tests. The rest of the changes are smaller: modifications to the test function and the triton-viz interpreter for better debugging, and minor edits to the puzzle code, mainly variable naming for readability. The Apache-2.0 licence file at the root matches what the metadata records, and the upstream is credited by name and link in the first paragraph.
One pinned torch version, no releases, and a last push in March
Everything you need is torch, and Triton and NumPy arrive with it. No other dependency survives from the original project, and because all puzzles execute through the interpreter on CPU, installing torch-cpu is enough rather than a full CUDA stack. That is the whole dependency story, and it is the reason this fork exists. What is frozen with it is the pin: torch==2.5.0, with a comment expecting triton==3.1.0. The repository has no GitHub releases, so there is no version to install other than what you clone, and no changelog to check the pin against. The last recorded push to the main branch is 2026-03-17. Between that date and the two puzzles that fail on GPU and the NumPy 2.0 compatibility note, the practical reading is that this is a finished teaching artifact rather than a project that tracks new Triton releases, and that anyone starting today will be pairing its pins with their own newer PyTorch unless they follow the line exactly.
Editorial conclusion
This is a good fit for someone who wants to learn Triton kernels without standing up a GPU or a notebook environment, and a poor fit for anyone who needs the visualization layer or a maintained dependency set. The two decisions to check first are the pin and the freshness: the install line is torch==2.5.0 with a comment expecting triton==3.1.0, and the last recorded push to main is 2026-03-17, so nothing in this repository is going to move that pin for you. The second is the version problem. It is diagnosed by looking at Demo 1's output rather than by reading a version, and the documented fix lives in a GitHub issue rather than in the code, so check that before you assume your own install is broken. And if you are working through the puzzles, stay on the interpreter path: two of them are listed as failing on GPU, and the debug tooling that prints access offsets and masks is hooked into the interpreter and does not exist on the GPU path.
Frequently asked questions
What does Triton Puzzles Lite need installed?
Only torch. Triton and NumPy come with PyTorch, the other dependencies of the original project were removed, and every puzzle runs on CPU through the Triton interpreter, so installing torch-cpu is enough.
How do I run a single puzzle in Triton Puzzles Lite?
Use TRITON_INTERPRET=1 python3 puzzles.py -p 1. Running everything with -a stops at the first failed puzzle, and python3 puzzles.py -h prints the rest of the arguments.
How do I check whether my Triton Puzzles Lite install has the version problem?
Run TRITON_INTERPRET=1 python3 puzzles.py -i and look at Demo 1. If it prints the identity row followed by a row of zeros, you have the Triton interpreter and NumPy 2.0 compatibility problem, and the fix is written up in issue 1 of the repository.
Which Triton Puzzles Lite puzzles fail on GPU?
Puzzle 11 and puzzle 12 are listed as failing in GPU mode. They are meant to be run through the Triton interpreter on CPU instead.
Are the answers to Triton Puzzles Lite in the repository?
Yes, puzzles_ans.py holds the answers for reference and runs the same way as the puzzles, with -a under the interpreter flag.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/siriusneo-triton-puzzles-lite)