@tsingletaryTT
Taylor
Singletary
Developer Relations at Tenstorrent
Building tools, community, and on-ramps for the future of AI hardware.
Interactive developer education
tt-vscode-toolkit TypeScript · Python · VS Code extension
A complete learning and development environment for Tenstorrent hardware, shipped on the VS Code Marketplace: 53 interactive lessons from hardware detection through custom training, click-to-run commands instead of copy-paste, production-ready templates, live device telemetry in the status bar, and hardware auto-detection that tailors the guidance to whatever accelerator you actually have. Covers vLLM, TT-Forge, TT-XLA and TT-Metalium.
VS Code with the toolkit open: a lesson tree on the left, a particle-life lesson with code in the middle, its rendered output top-right, and simulation results in the terminal.
A lesson mid-run — tree of 53 on the left, the code, its output, and live device telemetry in the status bar.
github.com/tenstorrent/tt-vscode-toolkit ↗ Live site ↗
tt-quietbox2-guide JavaScript · Nunjucks · docs site
The handbook for the Tenstorrent QuietBox 2 — first boot to confident daily use, organised as four paths (explore, run & build, tinker, customize) across 23 chapters. Unboxing and power-on, system access and administration, workloads and development flows, troubleshooting and recovery, then command and configuration reference.
The guide's landing page: a four-circle Venn diagram of learning paths beside cards for Explore, Run & build, Tinker and Customize, each with a chapter count and reading time.
The landing page — four overlapping paths through the machine, each with its chapter count and how long it takes.
github.com/tenstorrent/tt-quietbox2-guide ↗ Live site ↗
ttsim-blackhole Python · Docker · ttsim
A public playground that runs real ttnn code against a simulated Tenstorrent Blackhole chip, with no Tenstorrent hardware anywhere in the container — type a kernel, pick a backend, and it streams back output from a real device driver talking to a virtual chip. Built on Tenstorrent's own ttnn wheel plus ttsim from source, pinned to v1.10.1 because a later tag has a reproduced Blackhole regression on wide matmuls. The point is the missing first step: anyone can try the actual API before they have the actual silicon.
The ttsim-blackhole playground: "Run real ttnn code on a simulated Blackhole chip", with a kernel picker, a ttsim-bh Blackhole emulation backend, a Run button, and a tensor-addition kernel in the editor.
Real ttnn, no silicon. That kernel returns exit code 0 against the emulated chip in about two simulated seconds.
huggingface.co/spaces/episod/ttsim-blackhole ↗ Live site ↗
Model development & bringup
tt-tnt Python · ttml / tt-train
A small Llama-3-style language model built Tenstorrent-first — trained from random initialization on Blackhole hardware with ttml, packaged with tt-kernel, and served through the Tenstorrent vLLM plugin. The point isn't capability; it's showing end to end, without gaps, what a model designed for Tenstorrent from the first line looks like when it's trained, published, and served entirely on Tenstorrent tooling. Weights and the corpus recipe are public on Hugging Face.
github.com/tsingletaryTT/tt-tnt ↗ Live site ↗
tt-vjepa2 Python · TTNN
A TTNN bring-up of Meta's V-JEPA 2-AC — a self-supervised video encoder plus an action-conditioned, frame-causal predictor — running end to end on Blackhole: the ViT-giant encoder's 40 blocks and the predictor's 24, at PCC 0.997 against the reference implementation. 120.7 ms per forward pass traced-replay, against 4.3 seconds for the unmodified reference on the same machine's CPU. Ships a Gradio show that proves it works without ever generating a pixel: the model predicts embeddings, so a robot arm dances to a chained choreography of imagined rollouts, and a real port of Meta's CEM planner searches for the action that was actually taken.
The tt-vjepa2 microsite hero: "A world model that predicts what happens next — never what it looks like", over a dark teal gradient.
The project's own microsite — the bring-up written up as a story, from the RoPE bug to the dancing arm.
github.com/tsingletaryTT/tt-vjepa2 ↗ Live site ↗
tt-animatediff Python · TTNN
AnimateDiff on Blackhole, in three phases: temporally coherent video on CPU with the full MotionAdapter, then spatial denoising accelerated by the TTNN UNet, then MotionAdapter temporal attention injected directly into the Blackhole denoising loop — no distillation, weights loaded straight from the upstream adapter. Eight frames at 25 steps, about 15 seconds a frame.
Eight frames of "cathedral," denoised on a Blackhole P300C with temporal attention injected into the loop.
github.com/tenstorrent/tt-animatediff ↗ Live site ↗
tt-openvla Python · TTNN
A TTNN bring-up of OpenVLA — a fused DINOv2 + SigLIP vision backbone driving a LLaMA-2-7B language model, fine-tuned on the Open X-Embodiment dataset to predict robot manipulation actions. Given an image and a natural-language instruction, it generates a 7-DoF end-effector action autoregressively, as extra tokens appended to the tokenizer's vocabulary and decoded back to continuous values. Every stage validated end to end against real checkpoint weights at ≥0.995 PCC, vision through all 32 LLaMA-2-7B layers to decoded action, on a real 2-device mesh. Reuses tt-vjepa2's Gradio backend pattern rather than its architecture — the two share no weights or code, only the bring-up conventions.
The demo's bundled example photo: two tabby cats sprawled on a pink couch beside two TV remotes.
The demo's own bundled example image: upload it (or your own) with an instruction like "pick up the remote," and get back a real decoded 7-DoF action from a real forward pass.
github.com/tsingletaryTT/tt-openvla ↗
tt-skyreels Python · TTNN
SkyReels-V2-DF-1.3B-540P text-to-video on Blackhole, packaged as a tt-model-manager v5.1 container — pull it with Docker and a TT card, no host tt-metal install required. The transformer is weight-compatible with tt-metal's own WanTransformer3DModel, so this repo reuses that TTNN model wholesale rather than shipping new kernels; what it adds is the serving glue, an ASGI app wrapping the pipeline behind an HTTP surface, plus the fixes needed to run a real generation end to end. 48 CPU-only tests need no card to run.
Terminal output pulling and serving tt-skyreels via tt-model-manager, then a curl request generating a video from a text prompt.
The whole path from pull to a generated video: three commands, no host tt-metal install.
github.com/tsingletaryTT/tt-skyreels ↗
tt-waypoint Python · TTNN
A from-scratch TTNN bring-up of Overworld/Waypoint-1.5-1B, a custom autoregressive causal diffusion transformer — a "world model" generating interactive video conditioned on keyboard/mouse input, one full frame per step against a per-layer ring-buffer cache of previous frames rather than a token-by-token KV cache. Unlike tt-skyreels' reused transformer, nothing in tt-metal's model library already covers this shape, so the attention/cache scheme, conditioning heads, and CNN VAE were all ported and hardware-verified from scratch against the real HF reference. Bring-up in progress, not yet packaged or served — the timestamped log of every stage and bug is public in the repo.
The reference seed frame captured from the real HF model, used to validate this port's own generation loop against.
The captured reference seed frame this port's interactive loop starts a session from — the ground truth its own output is checked against.
github.com/tsingletaryTT/tt-waypoint ↗
Applied AI Applications
tt-local-generator Python · GTK4
A desktop UI for generating video, images and generative art entirely on your own Tenstorrent hardware — Wan2.2 and SkyReels for text- and image-to-video, FLUX.1 and Z-Image for stills, AnimateDiff for looping GIFs, plus a local LLM that writes the imaginative prompts to feed them. Nothing leaves the box. TT-TV turns the whole thing into an endless channel that queues its own prompts and plays the results.
TT-TV — the machine writing its own prompts, generating the video, and playing it back as a channel that never runs out.
github.com/tenstorrent/tt-local-generator ↗ Live site ↗
tt-cv-agency Python · TTNN · VCV Rack
A model running on Tenstorrent hardware placed inside a synthesizer's control loop: listen to the live audio, decide a control-voltage adjustment toward a goal, write it back, repeat. A small inverse-regression model trained on CV sweeps against a live patch runs its forward pass on a Blackhole chip via ttnn, and the CV backend is kept behind an interface so the same loop should carry over from VCV Rack to real Eurorack through Expert Sleepers hardware. Work in progress, and the write-up says so: one of three target features converges reliably, and a review that caught the pitch estimator silently returning a clipped constant is why the other two are honestly reported rather than quietly dropped.
Output of tt-cv-agency's roundtrip test: five MIDI CC values written to a live VCV Rack patch, each with the audio RMS measured back from it, rising evenly from 0.00 to 9042.26.
Phase 1, before any model: evenly-spaced control values produce evenly-spaced audio. Proof the loop is really closed.
github.com/tsingletaryTT/tt-cv-agency ↗
tt-midi-maker Python · MCP server
Multi-track MIDI generation from text prompts, running on Tenstorrent hardware. Exposes generation as a fully-featured MCP server — meaning any MCP-compatible client can compose music through it.
Piano-roll notation for the groove section of a generated piece, notes laid out across several tracks.
A generated piano roll: the groove section of "midnight blues."
github.com/tsingletaryTT/tt-midi-maker ↗ Live site ↗
tt-agents Python
Six local-agent demos that run entirely on a Tenstorrent QuietBox 2 — no cloud, no API keys: a web-research agent, a codebase explorer, a multi-agent writing pipeline, a stateful dungeon master, and storyboard-to-pixelart and landscape-SVG generative pipelines. A working argument that 32B+ models make agentic tool-calling reliable where 7B models fall apart.
Generated vector landscape: a yellow sun over layered purple mountain ridges against a magenta-to-indigo gradient sky.
Output of the landscape-SVG pipeline — composed entirely on a QuietBox 2, no cloud, no API keys.
github.com/tsingletaryTT/tt-agents ↗
Demos & games
tt-bio-demo Python · GTK4 + OpenGL
A turnkey conference demo built on top of moritztng/tt-bio — the project that brings protein structure prediction to Tenstorrent hardware, running Boltz-2 and friends on Blackhole. This is the booth wrapped around it: watch a protein condense out of noise into its folded structure in real time, on the chips a few feet away. Four chips fold four molecules at once in a quad view, streaming the model's actual denoising trajectory a step at a time. Built to run unattended on a show floor all day.
Four chips, four molecules, real denoising trajectories — trimmed from the repo's own 30-second booth capture.
github.com/tsingletaryTT/tt-bio-demo ↗ Live site ↗
tt-zork-and-more Python · C++ · TT-Lang
Zork I (and II, III, Hitchhiker's, Planetfall, Colossal Cave) running on a Blackhole accelerator across three hardware stages: a host-CPU Z-machine, the same interpreter with the game binary living in Blackhole DRAM, and finally a Z-machine kernel executing on the chip's RISC-V management cores. An optional remix layer has Llama-3.3-70B on Tensix rewrite every response as you play. 1977 interactive fiction as a way to explore what's actually programmable on the silicon.
Hybrid mode: a human plays, Llama-3.3-70B on Tensix rewrites every response the game gives back.
github.com/tsingletaryTT/tt-zork-and-more ↗ Live site ↗
tt-forge-compiletron Python
Compile more than 100 models on tt-forge and display the results in a format built for demos. A fast way to show off the breadth of the Tenstorrent software stack.
Models compiling on tt-forge, results landing live.
github.com/tsingletaryTT/tt-forge-compiletron ↗ Live site ↗
tt-claw Shell
Allow the claw machine to reward you with experience. A playful hardware integration that turns physical arcade interaction into something meaningful.
Flow diagram from a user question through the gateway and memory search to a vector database, an LLM, and a cited answer.
Question, to a vector DB of 46+ hard-won lessons, to vLLM on TT hardware, back as a cited answer.
github.com/tsingletaryTT/tt-claw ↗
tt-lang-freeciv C
Defer FreeCiv AI and generative work to Tenstorrent hardware via TT-Lang-based kernels. An experiment in offloading game intelligence to real accelerator silicon.
A 256 by 256 greyscale terrain height map produced by the generator.
A height map generated through TT-Lang kernels.
github.com/tsingletaryTT/tt-lang-freeciv ↗
Developer tools
tt-toplike Rust
Real-time hardware monitoring for Grayskull, Wormhole and Blackhole silicon — top(1) if it had been designed to be looked at. The visualizations aren't decorative: every particle, star and colour shift maps to a real signal off the chip, read from the driver's sysfs attributes (power, die temperature, current, three clock domains, DDR training state, ECC counters, PCIe throughput, the ARC firmware heartbeat). An adaptive baseline learns your chip's idle state, so a 20 W card and an 80 W card read the same at the same fraction above idle.
Arcade mode, four Blackhole chips under LLM inference. Hue tracks temperature, drifts with time, and offsets per core — so the grid shows a wave instead of flipping all at once.
github.com/tenstorrent/tt-toplike ↗ Live site ↗
tt-awesome JavaScript · Eleventy · curated directory
The community directory for the Tenstorrent ecosystem — over 150 projects, tools, models and papers across 13 categories, each tagged community, affiliated or official. Taylor built and maintains the thing: entries are JSON files, the README and the site are both generated from them, and anyone can submit one through an issue template. The content is the ecosystem's; the machinery is his.
The tt-awesome site: a category sidebar, a search box over 151 entries, headline counts of 151 projects and 13 categories, and a grid of category cards each previewing an entry.
The directory itself — 151 entries, 13 categories, searchable, with a submit button that opens an issue template.
github.com/tenstorrent/tt-awesome ↗ Live site ↗
tt-gozer Python · stdlib only
Cooperative chip leasing for Tenstorrent boxes, so several agents — Claude Code sessions, aider, shell scripts, cron jobs — can share one machine without corrupting each other's runs. A lease says who is using which chips and why; the kernel says whether that's actually true, and when the two disagree the kernel wins. Let go and let Gozer.
The Gozer Containment Log microsite: a green phosphor GOZER wordmark over a report header, and headline counts reading 7 entities on the line, 27 leases granted, 8 ghosts exorcised, 22.7 hours of containment time reclaimed.
Its own containment log, generated from the lease ledger — 47 hours in which seven unrelated sessions took turns on two boards with nobody refereeing.
github.com/tsingletaryTT/tt-gozer ↗ Live site ↗
tt-discolike Python · FastAPI + htmx
A local catalog and launcher for the one-off Gradio demos that pile up around scarce hardware. Tenstorrent chips are contended, so demos get built, shown once, and forgotten — there's no way to bring one back up later. Any repo joins the catalog by committing a small manifest; the page starts and stops each app as a systemd --user unit and hands off to gozer for chip leasing when it's installed. Named after Disco, the self-hosted PaaS, but deliberately not built on it: Docker Swarm's execution model fights chip passthrough, and gozer tracks leases by host PID.
The tt-discolike catalog page: animatediff and vjepa2 as cards, each with an INACTIVE status badge and Start/Stop buttons.
Two demos in the catalog, both idle — including the vjepa2 one listed just above.
github.com/tsingletaryTT/tt-discolike ↗
tt-demo-maker Rust · tmux + asciinema
A project-agnostic toolkit for authoring demo recordings and draft posts from inside any project. Point it at a TUI or CLI, describe the scenes in YAML, and it produces recorded footage (asciicast, GIF, MP4) alongside a first-draft Markdown post pairing each directive with the reaction it caused — so the recording machinery isn't reinvented per project.
Ouroboros — tt-demo recording tt-demo. Left pane drives a real matmul burst; right pane watches the board react to its own filming.
github.com/tsingletaryTT/tt-demo-maker ↗
tt-station Rust · Swift · macOS
Use your Tenstorrent hardware from a Mac with ease — a native bridge between macOS and TT accelerators. "Such is the stuff, from where dreams are woven."
The tt-station macOS app showing a list of models available on a remote Tenstorrent machine.
The native macOS app browsing models on a Tenstorrent box.
github.com/tsingletaryTT/tt-station ↗ Live site ↗
tensix-viz JavaScript
Hardware topology visualizer — from individual Tensix chips up to full multi-chip clusters. Makes the physical architecture of Tenstorrent hardware legible at a glance.
The cluster view — chip up to full multi-chip topology.
github.com/tsingletaryTT/tensix-viz ↗ Live site ↗
tt-warp Python · Warp plugin
A Warp terminal plugin for Tenstorrent — hardware status, model runner shortcuts, and workflow automation built into the terminal experience.
Four shell commands: pip install tt-warp, tt-warp install, tt-warp sync, and adding the rc file to bashrc.
The entire install: four commands and the terminal knows about your hardware.
github.com/tsingletaryTT/tt-warp ↗
tt-model-runner Python · GUI + TUI
Discover, load, and benchmark models with a GUI and a TUI for tt-inference-server. The friendly face on top of raw hardware inference.
Tree diagram of AppController and its seven components, with GTK and Textual views underneath.
One controller, seven workers, two front-ends — no widget ever touched from a background thread.
github.com/tsingletaryTT/tt-model-runner ↗
tt-qb-lights Rust
Sync your Quietbox's LED lighting to the live status of its accelerator chips. Real-time visual feedback from the hardware, written in Rust.
Flow diagram: hardware sensors polled at 1Hz feed a Rust service that drives an OpenRGB server and 240 LEDs.
hwmon at 1 Hz, into a Rust service, out to 240 LEDs.
github.com/tsingletaryTT/tt-qb-lights ↗
tt-developer-image Dockerfile
A developer-focused container image for Tenstorrent work. Batteries included: the full stack, tooling, and a development experience worth having.
Nested-box diagram of the image: code-server containing the tt-vscode-toolkit extension, over three venvs, branching to real hardware or simulator.
code-server, the toolkit extension, and three venvs — the same image on real silicon or on the simulator.
github.com/tsingletaryTT/tt-developer-image ↗
View all writing ↗ RSS ↗