В репозитории openTPU объединены симулятор набора инструкций на Python, компилятор, проект на SystemVerilog и инструменты FPGA для хоста. Авторы сообщают, что запускали языковые модели на плате Inspur Kintex-7. Для разработчика ML-систем или FPGA проще всего начать с программного запуска чата на реальных весах модели. Перенос того же проекта на плату потребует конкретной модели платы, лицензированных инструментов сборки и настройки хоста на Linux. В руководстве рассматривается репозиторий на коммите b9a3f3b от 7 октября 2026 года; BIG CHANGE не устанавливал его, не запускал симуляцию и не проводил тесты.
Главное изменение
- Что изменилось: openTPU публикует вместе набор инструкций ускорителя, симулятор, компилятор, RTL и интеграцию с платой. Инженер может изучить путь от операции модели до симулируемых инструкций ещё до покупки поддерживаемой карты.
- Почему это важно:Документированный симулятор даёт изучающим аппаратное обеспечение конкретный способ разобраться в конструкции и запустить небольшую языковую модель с помощью обычного ПО на хосте. Проект утверждает, что ИИ-агенты помогали создавать аппаратный стек; доступные для проверки артефакты позволяют изучить это утверждение, тогда как результаты на плате остаются собственными измерениями проекта.
- На что обратить внимание:Для воспроизведения результата на реальном оборудовании нужны плата Kintex-7, лицензированная сборка Vivado и работающая инициализация PCIe. В репозитории есть команды и самотесты для этой работы. Независимый запуск на закреплённой ревизии покажет, насколько легко другим инженерам повторить результат.
Зафиксируйте исходный код и выберите программный путь
Далее приведены шаги для репозитория main на коммите b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93, созданном 7 октября. В репозитории есть тег v0.5, однако в руководстве используется более поздний закреплённый коммит, поскольку в его README добавлен новый раздел проверки через Hugging Face. В 0.1.0 Python-пакет по-прежнему обозначен как версия pyproject.toml; одного номера пакета недостаточно, чтобы определить снимок исходного кода. Репозиторий распространяется по лицензии Apache 2.0.
Нужен Python 3.10 или новее. В пакете указаны зависимости numpy и textual; README отдельно устанавливает pytest, torch и transformers для тестирования и работы с моделями. В нём показана команда Hugging Face hf для загрузки контрольной точки в models/LFM2.5-230M. До загрузки проверьте, доступен ли hf в среде Python. Контрольная точка служит входными данными команды чата и не входит в исходный код. Проект не указывает общий объём загрузки, требования к памяти хоста или фиксированное время работы симулятора для этого варианта.
Из корневого каталога репозитория выполняется документированная последовательность :
git clone https://github.com/FeSens/openTPU.git
cd openTPU
git checkout b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93
pip install -e .
pip install pytest torch transformers
python3 -m pytest -q
hf download LiquidAI/LFM2.5-230M --local-dir models/LFM2.5-230M
otpu-chat --model lfm2 --backend isaКоманды checkout фиксируют изученную ревизию; команды установки, тестирования, загрузки и чата взяты из README. --backend isa выбирает симулятор набора инструкций на Python. Полный набор pytest также включает тесты RTL, для которых нужен Verilator 5, поэтому на компьютере без этого инструмента весь набор не может служить проверкой успеха только программного варианта. Для самого небольшого документированного интерактивного запуска признаком завершения служит загруженная контрольная точка LFM2.5-230M и работающий чат-интерфейс, который принимает запрос и возвращает текст модели. Точная формулировка ответа зависит от запроса и настроек выборки. Исходный код CLI чата также предоставляет --plain для REPL в терминале и --prompt для разового ответа; последний режим выводит ответ и статистику хода. Это документированные интерфейсы, а не результат, наблюдавшийся BIG CHANGE.
В числе основных моделей для чата README перечисляет Qwen3-0.6B, LFM2.5-230M и Qwen3.5-0.8B, а также несколько более крупных моделей. Каждой нужна собственная контрольная точка в ожидаемом каталоге моделей или явно заданный путь к ней. Пример с LFM2 выше — кратчайший в репозитории вариант загрузки модели. Более широкие результаты README охватывают десять моделей на плате, включая Gemma 4 и модели, которым требуется выгрузка экспертов; для некоторых указано несколько форматов весов. Таблица содержит измерения авторов и не гарантирует, что каждая модель запускается с этой однокомандной настройкой LFM2.
Что проверяет симулятор
В проекте описан язык ядер и компилятор, создающие инструкции для ускорителя. Симулятор ISA на Python выполняет эти инструкции; RTL на SystemVerilog представляет аппаратную реализацию. Схема системы в README и opentpu/isasim.py помогают проследить эту границу. Запуск otpu-chat с isa выполняет инференс модели по программному пути инструкций. Он не программирует FPGA и не измеряет пропускную способность платы.
По словам сопровождающих, их плата выдаёт токены, полностью совпадающие с результатом симулятора на уровне битов. Они также предоставляют скрипт проверки для сравнения выбранных запусков на устройстве с эталоном Hugging Face на CPU. В закреплённой README описаны запросы по умолчанию, сравнение токенов и логитов, а также запуск на плате 7 октября. Эти материалы и код позволяют проверить процедуры. BIG CHANGE их не повторял, поэтому они не подтверждают независимо точность или скорость.
Что меняется при работе с физической платой
В руководстве по плате рассматривается Inspur YPCB-00338 с Xilinx Kintex-7 xc7k480t-ffg1156-2, двумя каналами DDR3 по 2 ГиБ и подключением PCIe к хост-ПК. Для стандартной сборки битстрима требуется Vivado 2026.1. В руководстве говорится, что бесплатная редакция не включает это устройство, и предлагается платная лицензия или 30-дневная оценочная версия. Таблица устройств AMD для 2026.1 опровергает это утверждение об устройстве: Basic включает все устройства Kintex 7.
В актуальных вариантах лицензирования AMD Basic указан по цене $0, с поддержкой Linux и бесплатным ежегодным продлением. В разделе часто задаваемых вопросов о лицензиях говорится, что Basic всё равно требует действующий годовой файл лицензии; отдельная оценочная версия со всеми функциями действует 60 дней. В таблице функций AMD для 2026.1 указано программирование JTAG в Basic, но ограничены симуляция XSIM и некоторые функции отладки. Более дорогие уровни добавляют функции, а лицензирование IP, по словам AMD, не меняется. BIG CHANGE не собирал openTPU в Basic. Прежде чем считать сборку бесплатной, необходимо проверить права на инструменты и IP для этого процесса создания битстрима. Руководство оценивает, что make bit занимает от 1,5 до 3 часов в зависимости от компьютера. Ни в нём, ни в таблице уровней AMD нет цены этой платы или общей стоимости воспроизведения.
После получения платы и набора инструментов документированный процесс предусматривает сборку битстрима в boards/ypcb-00338, программирование FPGA через JTAG и настройку хоста на Linux. Makefile платы отправляет вывод make bit в build/vivado/otpu.bit. make program по умолчанию использует openFPGALoader; в руководстве также описан менеджер аппаратуры Vivado. Загрузка через JTAG не сохраняется после отключения и повторного включения питания.
cd boards/ypcb-00338
make lint
make bit
make programОписанные выше аппаратные шаги взяты из руководства по плате и здесь не проверялись. В контрольный список запуска хоста на Linux входят Python-пакет и контрольная точка, sudo otpu-setup для установки драйвера XDMA и правил устройств, повторное сканирование PCIe после загрузки через JTAG и otpu-setup --check. Согласно документации, последняя команда успешно завершается с сообщением «all in place», если драйвер, карта, соединение, узлы устройств и регистр ID работают правильно. Затем otpu-selftest проверяет карту перед запуском otpu-chat --backend board --model lfm2. Диагностику платы можно сохранить с помощью otpu-diag --json diag.json. Это конкретные признаки завершения аппаратного пути; одного ISA-чата недостаточно, чтобы их заменить.
К опубликованным показателям производительности тоже нужно относиться внимательно. Например, README сообщает о 82,1 токена в секунду по wall time для LFM2.5-230M с 4-битными весами и int8-головой на карте авторов. В методике после запроса на 512 токенов выполняется жадное декодирование 64 токенов; таблица отдельно показывает циклы устройства и wall time с учётом хоста. Другой хост, битстрим, формат весов или запрос дадут другое измерение. В сообщении коммита от 7 октября указана дополнительная проверка на карте, но это всё ещё запись сопровождающего. Среди источников, изученных для руководства, нет независимо воспроизведённого бенчмарка.
Источники и материалы для чтения
- Репозиторий openTPU на изученном коммите, 7 октября 2026 года. В README приведены схема системы, команды симулятора, перечень моделей и измерения на плате, самостоятельно сообщённые авторами. Это утверждения проекта; BIG CHANGE репозиторий не запускал.
- Метаданные Python-пакета и лицензия Apache 2.0. Они устанавливают версию Python, объявленные зависимости, точки входа CLI, версию пакета и лицензию исходного кода. Для контрольных точек моделей и Vivado действуют отдельные условия и требования.
- Руководство по запуску платы и хоста, проверено 7 октября 2026 года. В нём указаны поддерживаемая карта, шаги создания битстрима, настройка Linux, программирование JTAG и самотесты. Заявления о платной лицензии и 30-дневной оценочной версии противоречат актуальным документам AMD о лицензировании 2026.1. Некоторые старые примеры битстрима относятся к прежним сборкам; для воспроизведения используйте закреплённое дерево и текущие инструкции по сборке.
- Доступность устройств AMD Vivado 2026.1, UG973 и поддерживаемые устройства и функции, оба документа от 23 июня 2026 года, а также варианты лицензирования, проверенные 7 октября. В них все устройства Kintex 7 включены в бесплатный Basic, указана поддержка Linux и JTAG и приведены ограничения Basic на симуляцию и отладку. В разделе часто задаваемых вопросов AMD о лицензиях описаны годовой файл лицензии Basic и 60-дневная оценочная версия. Поддержка устройства сама по себе не подтверждает работу всего процесса создания битстрима этого проекта в Basic.
- CLI чата и руководство по LFM2. В них показаны выбор бэкенда, путь к модели, поведение интерактивного и разового вывода, а также пример небольшой контрольной точки.
- Репортаж GIGAZINE от 7 октября даёт полезный контекст общественного внимания к проекту. Сведения о настройке и производительности в этом руководстве проверены по репозиторию, а не взяты из репортажа.



