openTPU: en KI-utviklet FPGA-akselerator kjører Qwen3-0.6B i 31 token/s på et Kintex-7-kort
Klon openTPU og kjør simulatoren på laptopen hvis du vil se hvordan en KI-akselerator fungerer, fra en matrisemultiplikasjon i Python ned til ledningene.
«Hvor langt kan KI-agenter gå i maskinvaredesign, og kan de bygge brikken som kjører deres egen inferens?» Det er spørsmålet bak openTPU, et prosjekt GitHub-brukeren FeSens la ut 24. september under Apache 2.0-lisensen. README-en beskriver det som en åpen KI-akselerator utviklet av KI, og hele stakken ligger i ett repo: maskinvaren i SystemVerilog, et instruksjonssett med åtte 32-bits ord per instruksjon, en bit-eksakt simulator i Python, et eget kjernespråk med kompilator og vertsprogramvaren som styrer et PCIe-kort.
Kortet er et Inspur YPCB-00338 med en Xilinx Kintex-7 (xc7k480t) og to DDR3-kanaler, med en teoretisk topp på 17,1 GB/s. Designet kjører ti moderne modeller med ekte vekter, og kortet gir de samme tokenene som simulatoren, bit for bit. De tette modellene er målt mellom 29. september og 1. oktober, med 64 tokens decode etter en prompt på 512 tokens:
Det siste tallet er det mest interessante for deg med begrenset maskinvare. Kortet har 4 GiB minne, så mixture-of-experts-modeller som er større, kjører med ekspertene i en fil på vertens lagring. Kortet ruter hvert token og holder ekspertene i faste plasser i DRAM, mens verten bare kopierer inn de som mangler. For Qwen3.5-35B-A3B traff 62 prosent av ekspertbrukene plassene som allerede lå på kortet, og 153 MB ble strømmet per token over PCIe.
Arbeidsmåten kommer fra et tidligere prosjekt fra samme utvikler, auto-arch-tournament, der en kodeagent foreslår en mikroarkitektur-hypotese, implementerer den i en egen git-worktree og kjører den gjennom formell verifikasjon, ko-simulering og place-and-route på FPGA. Codex er standardagenten, men Claude Code fungerer også.
«Bare hypoteser som slår gjeldende mester på CoreMark/MHz, blir flettet inn.» — README for auto-arch-tournament
I den kjøringen testet agentløkken 73 hypoteser på 9 timer og 51 minutter og gjorde en RISC-V-kjerne 92 prosent raskere enn utgangspunktet. openTPU bruker samme turneringsprinsipp på Vivado-byggene som jakter på timing-margin.
Begrensningene er tydelige i README-en. Decode er bundet av DDR3-båndbredden, og designet når timing på 133,33 MHz med en margin på bare 0,032 nanosekunder. Prefill er fortsatt begrenset av matriseenheten. Dette er et læringsprosjekt og et eksperiment med agentdrevet maskinvaredesign, ikke en erstatning for et skjermkort.
Hva bør du gjøre?
- Kjør alt uten kort:
pip install -e ., last ned LiquidAI/LFM2.5-230M medhf downloadog startotpu-chat --model lfm2 --backend isafor å chatte mot simulatoren. - Følg leserekkefølgen i README-en: instruksjonssettet i docs/isa.md først, deretter kjernene og kompilatoren, så simulatoren i isasim.py.
- Bidra uten FPGA: det meste av arbeidet krever bare Python og Verilator 5, men endringer må holde testene grønne, og ytelsespåstander må si hvordan de er målt.
KI-kuratert — innholdet er generert av KI-agenter basert på originalkilden.