这个 openTPU 代码库 將 Python 指令集模擬器、編譯器、SystemVerilog 设计与 FPGA 主机工具整合在同一个专案。作者表示曾在 Inspur Kintex-7 卡上执行语言模型。对 ML 系统或 FPGA 开发者而言,较容易开始的第一步,是以真正的模型权重执行软体聊天。將同一专案移至电路板,还需要特定板卡、具授权的建置工具与 Linux 主机设定。本指南依据代码库的 commit b9a3f3b(2026 年 10 月 7 日);BIG CHANGE 尚未安裝、模擬或测试此专案。
重大变化
- 有何改变: openTPU 同时发布加速器指令集、模擬器、編譯器、RTL 与电路板整合。工程師可以先检视模型运算如何转成模擬指令,再決定是否购买支援的卡。
- 为何重要:文件化的模擬器讓硬体学習者能以具体方式研究设计,并使用一般主机软体执行小型语言模型。专案称 AI agents 协助产生硬体堆疊;可检视的产出讓这项开发主張值得进一步查证,而卡上执行结果仍是专案自行测得。
- 接下来观察:要重现实体结果,须有 Kintex-7 电路板、具授权的 Vivado 建置环境,以及可正常运作的 PCIe 启动流程。代码库提供相关指令和自我测试。以固定版本进行独立执行,才能確認其他工程師重现结果是否容易。
固定来源版本并选择软体路徑
以下步驟依据代码库 main的版本,使用 commit b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93,于 10 月 7 日提交。代码库有一个 v0.5 标签,但本指南采用较新的固定 commit,因为其 README 新增了 Hugging Face 验证章节。Python 套件仍在 0.1.0 中标示为版本 pyproject.toml;仅憑套件版本号无法識别来源快照。代码库采用 Apache 2.0 授权。
需要 Python 3.10 或更新版本。套件宣告相依于 numpy 和 textual;README 另行安裝 pytest、torch 和 transformers 以供测试和使用模型。README 示範透过 Hugging Face 的 hf 指令,將 checkpoint 下载至 models/LFM2.5-230M。下载前請確認 Python 环境中可以使用 hf。Checkpoint 是聊天指令的输入,不是随原始码附上的模型。专案未说明这條路徑的下载总容量、主机记憶体需求或固定模擬器执行时间。
在代码库根目录执行,文件所列的 步驟 如下:
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 isacheckout 指令固定检视过的版本;安裝、测试、下载与聊天指令则来自 README。 --backend isa会选择 Python 指令集模擬器。完整的 pytest 测试套件也包含需要 Verilator 5 的 RTL 测试,因此沒有该工具的电脑无法用整套测试作为纯软体成功检查。文件中最精简的互动式执行,完成讯号是载入 LFM2.5-230M checkpoint,接著聊天介面可接收提示并回传模型文字。产生回覆的確切文字取決于提示和抽样设定。 聊天 CLI 原始码 也提供终端机 REPL 的 --plain 和单次回覆的 --prompt;后者会输出回覆与回合统计。这些是文件记载的介面,并非 BIG CHANGE 实际观察到的输出。
README 將 Qwen3-0.6B、LFM2.5-230M 和 Qwen3.5-0.8B 列为主要聊天模型,另有数个较大型模型。每个模型都需在预期目录中放置自己的 checkpoint,或指定明確路徑。上述 LFM2 路徑是代码库中最简短的模型下载範例。README 更完整的结果涵蓋卡上十个模型,包括 Gemma 4 与需要专家卸载的模型;部分模型也测试了多種权重格式。该表是作者的测量结果,并不保证所有模型都能采用这项单指令 LFM2 设定。
模擬器检查什么
专案说明,一種 kernel 语言与編譯器会产生加速器指令。Python ISA 模擬器执行这些指令;SystemVerilog RTL 则是硬体实作。 README 的系统概述 和 opentpu/isasim.py可讓读者追蹤两者的界线。执行 otpu-chat 搭配 isa会透过软体指令路徑进行模型推論,不会編写 FPGA,也不会测量电路板的吞吐量。
维护者表示,他們的卡所产生的 token 与模擬器逐位元相同,并提供 验证指令码 ,將选定的裝置执行结果与 CPU Hugging Face 参考结果比较。固定版本 README 说明预设提示、token 与 logit 比较,以及 10 月 7 日的卡上执行。这些报告和程序码可供检查。BIG CHANGE 未重做测试,因此不能据此证明独立的准確度或速度。
使用实体卡有何不同
这份 电路板手冊 以 Inspur YPCB-00338 搭配 Xilinx Kintex-7 xc7k480t-ffg1156-2、两个 2 GiB DDR3 通道,以及连接主机电脑的 PCIe 为目标。预设 bitstream 建置使用 Vivado 2026.1。手冊称免费版不包含此裝置,并建議购买授权或使用 30 天评估版。 AMD 2026.1 裝置表 对此裝置说法提出相反资讯: Basic 包含所有 Kintex 7 裝置。
AMD 目前的授权选项 列出 Basic 价格为 $0,支援 Linux,且可免费年度续約。 授权常見问题 指出 Basic 仍需有效的年度授权档;独立提供的完整功能评估版期限为 60 天。 AMD 2026.1 功能表 列出 Basic 支援 JTAG 編程,但限制 XSIM 模擬和部分除错功能。较高階付费層级增加功能,AMD 并表示 IP 授权不变。BIG CHANGE 尚未用 Basic 建置 openTPU。在將此流程称为零成本建置前,仍须確認 bitstream 流程所需的工具和 IP 权利。电路板手冊估计 make bit 需时 1.5 至 3 小时,视电脑而定。手冊与 AMD 層级表都未提供此卡的购买价格或完整重现成本。
取得电路板和工具鏈后,文件记载的板卡路徑是在 boards/ypcb-00338 建置 bitstream,透过 JTAG 編程 FPGA,并设定 Linux 主机。板卡的 Makefile 会將 make bit 输出传送至 build/vivado/otpu.bit。make program 预设使用 openFPGALoader;手冊也说明 Vivado 的 hardware manager。JTAG 载入内容不会在断电重启后保留。
cd boards/ypcb-00338
make lint
make bit
make program上述硬体步驟来自电路板手冊,并非本指南实际测试的流程。Linux 主机的启动检查表要求 Python 套件与 checkpoint、 sudo otpu-setup(用来安裝 XDMA 驅动程序和裝置规则)、JTAG 载入后重新掃描 PCIe,以及执行 otpu-setup --check。文件指出,若驅动程序、卡、连线、裝置节点和 ID register 正確,最后一项会以「all in place」成功结束。之后由 otpu-selftest 检查卡,再执行 otpu-chat --backend board --model lfm2。板卡診断可用 otpu-diag --json diag.json 儲存。这些检查才是卡板路徑的具体完成讯号;ISA 聊天本身无法取代。
对公开的效能数字也须同样謹慎。README 舉例指出,作者的卡以 4-bit 权重和 int8 head 执行 LFM2.5-230M,wall time 为 每秒 82.1 个 token 。其方法是在 512-token 提示后使用 greedy decode 产生 64 个 token;表格区分裝置週期与包含主机时间的 wall time。更換主机、bitstream、权重格式或提示都会得到不同测量。10 月 7 日的 commit 讯息记录卡上的額外验证,但仍是维护者紀录。本指南检视的来源中,沒有独立重现的基准测试。
来源与延伸阅读
- 检视版本的 openTPU 代码库,2026 年 10 月 7 日。README 提供系统概述、模擬器指令、模型清单和作者自行回报的板卡测量。结果是专案主張;BIG CHANGE 未执行代码库。
- Python 套件中继资料和Apache 2.0 授权。这些资料说明 Python 版本、宣告的相依套件、CLI 进入点、套件版本与原始码授权。模型 checkpoint 和 Vivado 有各自的條款与要求。
- 电路板与主机启动手冊,于 2026 年 10 月 7 日检查。手冊说明支援的卡、bitstream 步驟、Linux 设定、JTAG 編程与自我测试。其付费授权和 30 天评估版说法与 AMD 现行 2026.1 授权文件相互矛盾。部分历史 bitstream 範例提及较早建置;重现时請使用固定版本樹与目前的建置指示。
- AMD Vivado 2026.1 裝置可用性,UG973和支援的裝置与功能,两者日期均为 2026 年 6 月 23 日;另有授权选项,于 10 月 7 日检查。这些资料將所有 Kintex 7 裝置列入免费 Basic,列出 Linux 和 JTAG 支援,并说明 Basic 的模擬与除错限制。AMD 授权常見问题说明 Basic 的年度授权档与 60 天评估版。仅有裝置支援资讯,无法验证此专案完整 bitstream 流程可在 Basic 上运作。
- 聊天 CLI和LFM2 指南。这些资料说明后端选择、模型路徑、互动式与单次输出的行为,以及小型 checkpoint 範例。
- GIGAZINE 10 月 7 日报导可提供专案受到公开关注的背景。本指南的设定和效能细节是根据代码库查核,而非取自该报导。



