Markdown版
AI-translated from English; not yet reviewed by a fluent editor.
# openTPUシミュレーターの実行方法とFPGA要件の評価
> openTPUは、言語モデルの推論用Pythonシミュレーターと、Inspur Kintex-7カード向けの別の手順を文書化しています。このガイドでは、リポジトリに記載されたコマンド、想定される出力、ハードウェア要件を整理します。
By BIG CHANGE Editorial
Published: 2026-10-07T13:36:01.795Z
Updated: 2026-10-07T13:36:01.795Z
Canonical: https://bigchange.ai/blog/opentpu-simulator-fpga-requirements-guide

AI-generated conceptual illustration by BIG CHANGE, based on a reference photograph of the Inspur YPCB-00338 board. It does not depict a BIG CHANGE test or observed openTPU run.
この [openTPUリポジトリ ](https://github.com/FeSens/openTPU/tree/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93)は、Pythonの命令セットシミュレーター、コンパイラー、SystemVerilog設計、FPGAホストツールを1つのプロジェクトにまとめています。作者は、Inspur Kintex-7カードで言語モデルを実行したと報告しています。MLシステムやFPGAの開発者にとって取り組みやすい最初の手順は、実際のモデル重みを使ったソフトウェア上のチャット実行です。同じプロジェクトをカードに移すには、特定のボード、ライセンス済みビルドツール、Linuxホストの設定が加わります。このガイドは2026年10月7日のコミット `b9a3f3b`時点のリポジトリに沿っています。BIG CHANGEはインストール、シミュレーション、テストを行っていません。
## 大きな変化
- **何が変わったか:** openTPUは、アクセラレーターの命令セット、シミュレーター、コンパイラー、RTL、ボード統合をまとめて公開しています。エンジニアは対応カードを入手する前に、モデルの演算からシミュレーションされた命令までの流れを確認できます。
- **なぜ重要か:**文書化されたシミュレーターにより、ハードウェアを学ぶ人は設計を具体的に調べ、一般的なホストソフトウェアで小規模な言語モデルを実行できます。プロジェクトはAIエージェントがハードウェアスタックの作成を支援したと述べています。確認可能な成果物があるため、この開発上の主張を検討できますが、カードでの結果は依然としてプロジェクト自身の測定値です。
- **今後注目する点:**実機で結果を再現するには、Kintex-7ボード、ライセンス済みVivadoビルド、正常に動作するPCIeの初期化が必要です。リポジトリには、そのためのコマンドと自己テストがあります。固定したリビジョンで独立に実行すれば、他のエンジニアがどの程度簡単に再現できるかが分かります。
## ソースを固定し、ソフトウェア経路を選ぶ
以下の手順は、リポジトリ `main`の [コミット `b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93`](https://github.com/FeSens/openTPU/commit/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93)に基づいています。これは10月7日にコミットされました。リポジトリには `v0.5` タグがありますが、このガイドでは後の固定コミットを使用します。そのREADMEには新しい [Hugging Face検証セクション](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/README.md#validating-against-hugging-face)が含まれています。Pythonパッケージは `0.1.0`で依然としてバージョン [`pyproject.toml`](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/pyproject.toml)と表示されていますが、パッケージ番号だけではソースのスナップショットを特定できません。リポジトリはApache 2.0ライセンスです。
Python 3.10以降が必要です。パッケージは `numpy`と `textual`を依存関係として宣言しています。READMEはテストやモデル利用のために、別途 `pytest`、 `torch`、 `transformers`をインストールします。また、Hugging Faceの `hf`コマンドでチェックポイントを `models/LFM2.5-230M`にダウンロードする方法を示しています。ダウンロード前に、Python環境で `hf`が利用できることを確認してください。チェックポイントはチャットコマンドへの入力であり、ソースに同梱されたモデルではありません。この経路について、プロジェクトは総ダウンロード量、ホストメモリー要件、シミュレーターの固定実行時間を示していません。
リポジトリのルートから、文書化された [手順 ](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/README.md#try-it)を実行します:
```shell
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`テストスイートにはVerilator 5を必要とするRTLテストも含まれるため、このツールがないマシンでは、スイート全体をソフトウェアのみの成功確認として使えません。文書化された最小の対話型実行では、LFM2.5-230Mチェックポイントが読み込まれ、プロンプトを受け取ってモデルのテキストを返すチャット画面が起動すれば完了です。返答の正確な文言はプロンプトとサンプリングに左右されます。 [チャットCLIのソース ](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/opentpu/host/chat.py)には、端末のREPL用 `--plain`と、1回だけ応答する `--prompt`もあります。後者は応答とターン統計を出力します。これらは文書化されたインターフェースであり、BIG CHANGEが確認した出力ではありません。
READMEは主要なチャット候補としてQwen3-0.6B、LFM2.5-230M、Qwen3.5-0.8Bを挙げ、さらに複数の大型モデルを掲載しています。各モデルには、想定されたモデルディレクトリ内の個別チェックポイントか、明示的なチェックポイントパスが必要です。上記のLFM2手順は、リポジトリにある最短のモデルダウンロード例です。READMEのより広範な結果はカード上の10モデルを対象とし、Gemma 4やexpert offloadingを必要とするモデルも含みます。一部は複数の重み形式で測定されています。この表は作者の測定結果であり、すべてのモデルがこの1コマンドのLFM2設定で動くという保証ではありません。
## シミュレーターが確認すること
プロジェクトによると、カーネル言語とコンパイラーがアクセラレーター用の命令を生成します。Python ISAシミュレーターが命令を実行し、SystemVerilog RTLがハードウェアの実装に当たります。 [READMEのシステム概要 ](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/README.md#how-it-works)と [`opentpu/isasim.py`](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/opentpu/isasim.py)を読むと、その境界をたどれます。 `otpu-chat`を `isa`とともに実行すると、ソフトウェア命令経路でモデル推論が行われます。FPGAのプログラムやカードのスループット測定は行いません。
メンテナーは、カードがシミュレーターとビット単位で一致するトークンを出力すると報告し、選択したデバイス実行をCPU上のHugging Face参照結果と比較する [検証スクリプト ](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/tools/validate.py)を提供しています。固定版READMEには、既定のプロンプト、トークンとlogitの比較、10月7日のカード実行が記されています。報告とコードから検査方法を確認できます。BIG CHANGEは再現していないため、独立した精度や速度の証明にはなりません。
## 実機カードで変わること
この [ボードマニュアル ](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/docs/board.md)が対象にするのは、 **Inspur YPCB-00338** とXilinx Kintex-7 `xc7k480t-ffg1156-2`、2 GiBのDDR3チャンネル2本、ホストPCへのPCIe接続です。既定のビットストリームビルドにはVivado 2026.1を使います。マニュアルは無料版にこのデバイスが含まれないと記し、有料ライセンスまたは30日間の評価版を提案しています。 [AMDの2026.1デバイス表 ](https://docs.amd.com/r/en-US/ug973-vivado-release-notes-install-license/Device-Availability-by-Subscription-Tier?contentId=FXBYqlfi_pd_k5OTkJcJ1A)はこのデバイスに関する説明と食い違います: **BasicにはすべてのKintex 7デバイスが含まれる**。
[AMDの現在のライセンス選択肢 ](https://www.amd.com/en/products/software/adaptive-socs-and-fpgas/vivado/vivado-licensing-options.html)では、Basicは0ドルで、Linuxをサポートし、毎年無料で更新できます。 [ライセンスFAQ ](https://www.amd.com/en/products/software/adaptive-socs-and-fpgas/licensing-faq.html)によると、Basicでも有効な年間ライセンスファイルが必要です。別途提供される全機能評価版の期間は **60日間**です。 [AMDの2026.1機能表 ](https://docs.amd.com/r/en-US/ug973-vivado-release-notes-install-license/Supported-Devices-and-Features)にはBasicでのJTAGプログラミングが記載されていますが、XSIMシミュレーションと一部のデバッグ機能には制限があります。上位の有料プランは機能を追加しますが、IPライセンスは変わらないとAMDは説明しています。BIG CHANGEはBasicでopenTPUをビルドしていません。このビットストリーム経路を無償ビルドとみなす前に、ツールとIPの利用権を確認する必要があります。ボードマニュアルは、マシンに応じて `make bit`に1.5~3時間かかると見積もっています。マニュアルもAMDのプラン表も、カードの購入価格や再現の総費用を示していません。
ボードとツールチェーンを用意した後の文書化された手順は、 `boards/ypcb-00338`でビットストリームをビルドし、JTAG経由でFPGAをプログラムして、Linuxホストを設定することです。ボードの [`Makefile`](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/boards/ypcb-00338/Makefile)は `make bit`の出力を `build/vivado/otpu.bit`に送ります。 `make program`は既定でopenFPGALoaderを使います。マニュアルにはVivadoのhardware managerも記載されています。JTAGでのロードは、電源を入れ直すと保持されません。
```shell
cd boards/ypcb-00338
make lint
make bit
make program
```
上記のハードウェア手順はボードマニュアルに記載されたもので、この場で試した手順ではありません。Linuxホストのbring-upチェックリストでは、Pythonパッケージとチェックポイント、XDMAドライバーとデバイス規則のインストール用 `sudo otpu-setup`、JTAGロード後のPCIe再スキャン、そして `otpu-setup --check`を求めています。ドライバー、カード、リンク、デバイスノード、IDレジスターが正しければ、最後のコマンドは正常終了して「all in place」と表示すると説明されています。続いて `otpu-selftest`でカードを確認してから `otpu-chat --backend board --model lfm2`を実行します。ボード診断は `otpu-diag --json diag.json`で保存できます。これらがカード経路の具体的な完了条件であり、ISAチャットだけでは代用できません。
公表された性能値にも同じ注意が必要です。READMEは例として、作者のカードで4ビット重みとint8 headを使ったLFM2.5-230Mが **実時間で毎秒82.1トークン** と報告しています。手法では512トークンのプロンプトの後、greedy decodeで64トークンを生成します。表はデバイスのサイクル数とホスト込みの実時間を区別しています。ホスト、ビットストリーム、重み形式、プロンプトが異なれば測定値も変わります。10月7日のコミットメッセージはカード上で追加検証したと記していますが、これもメンテナーの記録です。このガイドで確認した資料に、独立して再現されたベンチマークはありません。
## 出典と参考資料
- [調査対象のコミットにあるopenTPUリポジトリ](https://github.com/FeSens/openTPU/tree/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93)、2026年10月7日。READMEにはシステム概要、シミュレーターコマンド、モデル一覧、作者自身が報告したボード測定値があります。結果はプロジェクトの主張であり、BIG CHANGEはリポジトリを実行していません。
- [Pythonパッケージのメタデータ](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/pyproject.toml)と[Apache 2.0ライセンス](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/LICENSE)から、Pythonのバージョン、宣言された依存関係、CLIのエントリーポイント、パッケージのバージョン、ソースライセンスが分かります。モデルのチェックポイントとVivadoには別の条件と要件があります。
- [ボードとホストの起動マニュアル](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/docs/board.md)、2026年10月7日確認。対応カード、ビットストリーム手順、Linux設定、JTAGプログラミング、自己テストを説明しています。有料ライセンスと30日評価版に関する記述は、AMDの現行2026.1ライセンス資料と矛盾します。過去のビットストリーム例には旧ビルドを参照するものがあるため、再現時は固定版のツリーと現行ビルド手順を使ってください。
- [AMD Vivado 2026.1のデバイス対応状況、UG973](https://docs.amd.com/r/en-US/ug973-vivado-release-notes-install-license/Device-Availability-by-Subscription-Tier?contentId=FXBYqlfi_pd_k5OTkJcJ1A)と[対応デバイスと機能](https://docs.amd.com/r/en-US/ug973-vivado-release-notes-install-license/Supported-Devices-and-Features)(どちらも2026年6月23日付)、および[ライセンスの選択肢](https://www.amd.com/en/products/software/adaptive-socs-and-fpgas/vivado/vivado-licensing-options.html)(10月7日確認)。すべてのKintex 7デバイスが無料のBasicに含まれること、LinuxとJTAGの対応、Basicのシミュレーションとデバッグの制限を示しています。[AMDライセンスFAQ](https://www.amd.com/en/products/software/adaptive-socs-and-fpgas/licensing-faq.html)にはBasicの年間ライセンスファイルと60日評価版が記載されています。デバイス対応だけでは、このプロジェクトのビットストリーム経路全体がBasicで動くことを確認できません。
- [チャットCLI](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/opentpu/host/chat.py)と[LFM2ガイド](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/docs/lfm2.md)には、バックエンドの選択、モデルパス、対話型と単発出力の動作、小さなチェックポイントの例があります。
- [10月7日のGIGAZINE報道](https://gigazine.net/gsc_news/en/20261007-opentpu)は、プロジェクトへの世間の関心を理解する参考情報です。このガイドの設定と性能の詳細は、その記事ではなくリポジトリに照らして確認しました。
## Sources
- [調査対象コミットのopenTPU README](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/README.md) — 主要な概要、シミュレーターコマンド、モデル一覧、報告されたカード測定値と手法。結果とAI支援設計の説明はプロジェクトの主張です。
- [openTPUボードマニュアル](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/docs/board.md) — 対応するInspurカード、デバイス、DDR3、Vivado 2026.1、ビルド/プログラミング/ホスト設定、確認項目。旧版画像を含む歴史的な記述があります。有料版のみ/30日評価との助言はAMDの2026.1プラン資料と矛盾します。
- [openTPUパッケージのメタデータとチャットソース](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/pyproject.toml) — Pythonの最低バージョン、宣言された依存関係、パッケージのバージョン、ライセンス表記、CLIエントリーポイント。チャットソースからバックエンドの選択肢と想定出力が分かります。
- [openTPU Apache 2.0ライセンス](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/LICENSE) — プロジェクトのソースコードライセンスです。モデルやVivadoの別条件を含意するものではありません。
- [AMD Vivado 2026.1のサブスクリプション別デバイス対応状況(UG973)](https://docs.amd.com/r/en-US/ug973-vivado-release-notes-install-license/Device-Availability-by-Subscription-Tier?contentId=FXBYqlfi_pd_k5OTkJcJ1A) — AMDの2026.1デバイス表には、すべてのKintex 7デバイスがBasicに明記されています。この対応状況だけではopenTPUのビットストリーム/IP経路全体を独立に検証できません。
- [AMD Vivado 2026.1の対応デバイスと機能(UG973)](https://docs.amd.com/r/en-US/ug973-vivado-release-notes-install-license/Supported-Devices-and-Features) — 起動時に有効なライセンスファイルが必要です。BasicはJTAGプログラミングに対応しますが、XSIMシミュレーションと一部デバッグ機能を制限します。BasicでopenTPUをビルドできることを確認する資料ではありません。
- [AMD Vivadoのライセンス選択肢](https://www.amd.com/en/products/software/adaptive-socs-and-fpgas/vivado/vivado-licensing-options.html) — Basicは現在0ドルで、毎年無料更新でき、Linuxをサポートします。機能はプランごとに異なりますが、IPライセンスは変わりません。プラン制は2026.1から始まりました。
- [AMDライセンスFAQ](https://www.amd.com/en/products/software/adaptive-socs-and-fpgas/licensing-faq.html) — Basic 2026.1以降では無料で取得できる有効な年間ライセンスファイルが必要です。別途提供される全機能評価版は60日間です。
- [GIGAZINE:openTPU報道](https://gigazine.net/gsc_news/en/20261007-opentpu) — 二次報道の背景情報のみ。設定と性能に関する内容は、リポジトリの一次資料で確認しました。
BIG CHANGEニュースレター
大局を、あなたのペースで。
AI とロボティクスの最新記事、注目すべき変化、活用できる実用的なアイデア。日刊ブリーフィング、週刊ダイジェスト、月刊展望から選べます。
ベオグラード時間 09:00 に送信:毎日、月曜日、または月初。確認後、次回の予定配信時に初回号が届きます。