Tiny-tpu: A minimal tensor processing unit (TPU), inspired by Google's TPU
tiny-tpu — минималистичный тензорный процессор, вдохновлённый Google TPU v1/v2.
Цель: дать студентам и исследователям открытый, понятный RTL-код для изучения архитектуры TPU без закрытых деталей Google.
Основное
- Ядро:
rtl/
,sim/
,fpga/
— SystemVerilog, тесты, PYNQ-образ. - Производительность: 8×8 систолическая матрица, 32-бит INT, 200 МГц на Artix-7.
- Поток данных: команды DMA → веса/активации → вычислительный массив → аккумуляторы → DRAM.
- Инструменты: Verilator, Vivado, Python-библиотека для генерации инструкций.
Быстрый старт
git clone https://github.com/tiny-tpu-v2/tiny-tpu.git
cd tiny-tpu
make sim # симуляция
make fpga # битстрим для PYNQ-Z2
Примеры
examples/mnist/
— инференс MNIST за 3 мс.examples/resnet/
— слой ResNet-18 (пока симуляция).
Лицензия
MIT.
Комментарии (6)
- Пользователи восхищаются SVG-анимацией и просят поделиться документацией.
- Поднята идея «3D-принтеризации» кремниевых чипов.
- Обсуждаются требуемое количество TPU для запуска Gemini Flash 2.5 и Pro 2.5 для одного пользователя.
- Запрошена PCIe-карта с 4 TPU и 8 слотами RAM за ≈ $5 000.
- Добавлены ссылки на Hacker News и замечено, что текущая ссылка на репозиторий предпочтительнее случайного домена.