PantheonSim / Tenstorrent simulator

A simulated Tenstorrent Blackhole or Wormhole in your browser

PantheonSim, the GPU simulator for CUDA and ROCm, also hosts Tenstorrent Blackhole and Wormhole machines in its playground. You get a Linux terminal with tt-metal installed, write a TT-Metalium program, build it, and run it on ttsim, Tenstorrent’s own open source simulator. It is a functional simulation: programs run and give answers, but there is no performance data of any kind.

What you get

Choose a Tenstorrent machine in the playground and start it. The machine is a container with Ubuntu 24.04, a compiler, CMake, Python and the tt-metal packages. It has no card in it, and no driver for one. Before the shell opens, the machine sources the environment that points tt-metal at the simulator, so the first program you build already sees a device.

Four machines are offered: a Blackhole, a board with two Blackhole chips, a Wormhole, and a board with two Wormhole chips. Each two-chip board is a machine of its own, not two of the single chip; asking for two of a single chip is refused. The second chip of the two-chip Wormhole is reached over Ethernet, so that machine is noticeably slower to run its first program.

IdMachineChipsTensix cores per chipDRAM per chipL1 per core
tenstorrent/blackholeTenstorrent Blackhole1 chip13 x 10 = 13031.9 GiB in 8 banks1536 KiB
tenstorrent/blackhole-x2Tenstorrent Blackhole, two chips2 chips11 x 10 = 11031.9 GiB in 8 banks1536 KiB
tenstorrent/wormholeTenstorrent Wormhole1 chip8 x 9 = 7212 GiB in 12 banks1464 KiB
tenstorrent/wormhole-x2Tenstorrent Wormhole, two chips2 chips8 x 7 = 5612 GiB in 12 banks1464 KiB

These figures were read from the simulator with tt-sim-info (ttsim v1.11.5, tt-metal 0.78.0), not copied from a data sheet. The Tensix grids are smaller than the grids on the data sheets, because the simulator’s descriptors apply harvesting, as real boards have cores fused off. Run tt-sim-info in the terminal to see what your machine reports.

What runs it

The simulator is ttsim, written and published by Tenstorrent. It is not PantheonSim’s simulator and PantheonSim did not change it: the playground installs Tenstorrent’s release and tells tt-metal to load it instead of a device. PantheonSim contributes the machine around it: the container, the editor and terminal in the browser, the limits, and the clean-up when the session ends. PantheonSim is not affiliated with or endorsed by Tenstorrent.

That division matters when something looks wrong. A message about a Tensix core, a NoC transfer or a missing instruction comes from ttsim and is Tenstorrent’s to answer; a machine that will not start or a file that will not save is the playground’s.

Start a machine and run a program

  1. Open the playground and choose Tenstorrent Blackhole. The operating system is fixed at Ubuntu 24.04, because that is what the tt-metal packages are built for.
  2. Press Start machine. The editor opens with device_info.cpp and a CMakeLists.txt that turns each .cpp file into a program.
  3. Press Run. The editor saves the file and types the build and run commands into the terminal.

In the terminal the same thing is:

tt-sim-info
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --target device_info -j2
./build/device_info

tt-sim-info prints the chip or chips, the Tensix grid and the DRAM the way nvidia-smi prints a GPU. The self-test, /opt/tt/selftest <chip>, compiles and runs a small vector add through DRAM and L1 and checks the result on the host. The Tools menu in the playground has both, and a list of the starter programs in /work/examples.

Kernels are compiled when the program runs

A TT-Metalium program has a host part, which CMake builds, and kernels for the Tensix cores. tt-metal compiles the kernels itself the first time a program uses them and keeps the result in a cache under your home directory. The first run of a program is therefore slower than the next one. A playground machine has little CPU, so building kernels takes noticeable time, and the build uses two jobs for the same reason.

What it cannot tell you

Like every playground machine it is shut down after a time limit and after a period without input, and its files are deleted with it.

Questions

Is this Tenstorrent’s simulator or PantheonSim’s?

The simulator is Tenstorrent’s ttsim, unchanged. PantheonSim provides the browser machine around it, and is not affiliated with Tenstorrent.

Can I measure performance on it?

No. ttsim is functional only, so run times, cycle counts and bandwidth from a simulated run carry no information about a real card.

Which Tenstorrent chips are available?

Blackhole and Wormhole, each as a single chip and as a board with two chips.

Do I need an account or a card?

Neither. The machine runs in the browser with no sign-up, and the simulated device needs no hardware.

For NVIDIA and AMD machines in the same playground, see running CUDA without a GPU and running ROCm and HIP without an AMD GPU, or the GPU index.