OpenTPU: Open-Source Reimplementation of Google Tensor Processing Unit (TPU)
Published on: 2025-06-18 15:10:44
UCSB ArchLab OpenTPU Project
OpenTPU is an open-source re-implementation of Google's Tensor Processing Unit (TPU) by the UC Santa Barbara ArchLab.
The TPU is Google's custom ASIC for accelerating the inference phase of neural network computations.
Our design is based on details from Google's paper titled "In-Datacentre Performance Analysis of a Tensor Processing Unit" (https://arxiv.org/abs/1704.04760), which is to appear at ISCA2017. However, no formal spec, interface, or ISA has yet been published for the TPU.
The OpenTPU is powered by PyRTL (http://ucsbarchlab.github.io/PyRTL/).
Requirements
Python 3
PyRTL version >= 0.8.5
numpy
Both PyRTL and numpy can be installed with pip; e.g., pip install pyrtl .
How to Run
To run the simple matrix multiply test in both the hardware and functional simulators:
Make sure MATSIZE is set to 8 in config.py, then
python3 assembler.py simplemult.a python3 runtpu.py simplemult.out simplemult_hostmem.npy simplemult_weights.npy python3 sim.p
... Read full article.