這個 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 是聊天指令的輸入,不是隨原始碼附上的模型。專案未說明這條路徑的下載總容量、主機記憶體需求或固定模擬器執行時間。

在儲存庫根目錄執行,文件所列的 步驟 如下:

Terminal
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 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 載入內容不會在斷電重啟後保留。

Terminal
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 日報導可提供專案受到公開關注的背景。本指南的設定和效能細節是根據儲存庫查核,而非取自該報導。