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

![Conceptual charcoal illustration of one engineer holding and examining a PCIe FPGA accelerator card above an electronics work mat.](https://bigchange.ai/api/media/file/opentpu-fpga-card-hero-v2.png)
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 instruction-set سمیولیٹر، کمپائلر، SystemVerilog ڈیزائن اور FPGA host ٹولز کو ایک ہی پروجیکٹ میں جمع کرتی ہے۔ مصنفین کے مطابق انہوں نے Inspur Kintex-7 کارڈ پر زبان کے ماڈلز چلائے۔ ML سسٹمز یا FPGA ڈیولپر کے لیے نسبتاً آسان آغاز یہ ہے کہ اصل ماڈل weights کے ساتھ سافٹ ویئر چیٹ چلائی جائے۔ اسی پروجیکٹ کو کارڈ پر چلانے کے لیے مخصوص بورڈ، لائسنس یافتہ build ٹولز اور Linux host کی ترتیب بھی درکار ہے۔ یہ گائیڈ 7 اکتوبر 2026 کے commit `b9a3f3b` پر موجود ریپوزٹری کی پیروی کرتی ہے؛ BIG CHANGE نے اسے انسٹال، سمیولیٹ یا ٹیسٹ نہیں کیا۔

## بڑی تبدیلی

- **کیا بدلا:** openTPU ایکسلریٹر کا instruction set، سمیولیٹر، کمپائلر، RTL اور بورڈ انٹیگریشن ایک ساتھ شائع کرتا ہے۔ انجینئر معاون کارڈ خریدنے سے پہلے ماڈل آپریشن سے سمیولیٹڈ ہدایات تک کا راستہ دیکھ سکتا ہے۔
- **یہ کیوں اہم ہے:**دستاویز کردہ سمیولیٹر ہارڈویئر سیکھنے والوں کو ڈیزائن کا مطالعہ کرنے اور عام host سافٹ ویئر کے ذریعے چھوٹا زبان ماڈل چلانے کا عملی طریقہ دیتا ہے۔ پروجیکٹ کا کہنا ہے کہ AI ایجنٹس نے ہارڈویئر اسٹیک تیار کرنے میں مدد کی؛ قابلِ معائنہ آرٹیفیکٹس اس دعوے کی جانچ ممکن بناتے ہیں، جبکہ کارڈ کے رپورٹ کردہ نتائج اب بھی پروجیکٹ کی اپنی پیمائشیں ہیں۔
- **کس بات پر نظر رکھیں:**حقیقی نتائج دہرانے کے لیے Kintex-7 بورڈ، لائسنس یافتہ Vivado build اور کام کرتا PCIe bring-up درکار ہے۔ ریپوزٹری اس کام کے لیے کمانڈز اور self-tests دیتی ہے۔ ایک مقررہ revision پر آزادانہ run بتائے گا کہ دوسرے انجینئر یہ نتیجہ کتنی آسانی سے دہرا سکتے ہیں۔

## سورس کو مقرر کریں اور سافٹ ویئر کا راستہ چنیں

نیچے کے مراحل ریپوزٹری `main` کے [commit `b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93`](https://github.com/FeSens/openTPU/commit/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93) پر مبنی ہیں، جو 7 اکتوبر کو commit ہوا تھا۔ ریپوزٹری میں ایک `v0.5` tag موجود ہے، مگر یہ گائیڈ بعد والا مقررہ commit استعمال کرتی ہے کیونکہ اس کے 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) بتاتا ہے؛ صرف پیکیج نمبر سے سورس snapshot کی شناخت نہیں ہوتی۔ ریپوزٹری Apache 2.0 لائسنس استعمال کرتی ہے۔

آپ کو Python 3.10 یا اس کے بعد کا ورژن درکار ہے۔ پیکیج `numpy` اور `textual` کا اعلان کرتا ہے؛ README ٹیسٹ اور ماڈل کے استعمال کے لیے الگ سے `pytest`، `torch` اور `transformers` انسٹال کرتا ہے۔ اس میں Hugging Face کی `hf` کمانڈ کے ذریعے checkpoint کو `models/LFM2.5-230M` میں ڈاؤن لوڈ کرنے کی مثال ہے۔ ڈاؤن لوڈ سے پہلے دیکھیں کہ آپ کے Python ماحول میں `hf` دستیاب ہے۔ Checkpoint چیٹ کمانڈ کا input ہے، سورس کے ساتھ شامل ماڈل نہیں۔ اس راستے کے لیے پروجیکٹ کل ڈاؤن لوڈ سائز، host memory کی ضرورت یا سمیولیٹر کا مقررہ دورانیہ نہیں بتاتا۔

ریپوزٹری کے root سے [دستاویز کردہ ترتیب](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 کمانڈز جانچی گئی revision کو مقرر کرتی ہیں؛ انسٹال، ٹیسٹ، ڈاؤن لوڈ اور چیٹ کمانڈز README سے لی گئی ہیں۔ `--backend isa` Python instruction-set سمیولیٹر منتخب کرتا ہے۔ مکمل `pytest` suite میں RTL ٹیسٹ بھی ہیں جن کے لیے Verilator 5 درکار ہے؛ اس ٹول کے بغیر مشین مکمل suite کو صرف سافٹ ویئر کی کامیابی جانچنے کے لیے استعمال نہیں کر سکتی۔ دستاویز کردہ سب سے چھوٹے interactive run کے مکمل ہونے کی علامت LFM2.5-230M checkpoint کا لوڈ ہونا، پھر ایسا چیٹ انٹرفیس ہے جو prompt قبول کرکے ماڈل کا متن واپس کرے۔ جواب کے عین الفاظ prompt اور sampling پر منحصر ہیں۔ [chat CLI source](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/opentpu/host/chat.py) میں terminal REPL کے لیے `--plain` اور ایک مرتبہ جواب کے لیے `--prompt` بھی ہے؛ آخری کمانڈ جواب اور turn statistics دکھاتی ہے۔ یہ دستاویزی انٹرفیس ہیں، BIG CHANGE کا مشاہدہ کردہ آؤٹ پٹ نہیں۔

README میں بنیادی chat انتخاب کے طور پر Qwen3-0.6B، LFM2.5-230M اور Qwen3.5-0.8B کے ساتھ کئی بڑے ماڈلز بھی درج ہیں۔ ہر ماڈل کے لیے متوقع directory میں اپنا checkpoint یا واضح checkpoint path چاہیے۔ اوپر دیا گیا LFM2 طریقہ ریپوزٹری میں ماڈل ڈاؤن لوڈ کرنے کی مختصر ترین مثال ہے۔ README کے وسیع نتائج میں کارڈ پر دس ماڈلز شامل ہیں، جن میں Gemma 4 اور expert offloading والے ماڈلز بھی ہیں؛ بعض کے متعدد weight formats جانچے گئے۔ یہ مصنفین کی پیمائشیں ہیں، اس بات کی ضمانت نہیں کہ ہر ماڈل اس ایک کمانڈ والے LFM2 سیٹ اپ سے چلے گا۔

## سمیلیٹر کیا جانچتا ہے

پروجیکٹ کے مطابق kernel language اور compiler ایکسلریٹر کے لیے ہدایات بناتے ہیں۔ Python ISA سمیولیٹر ان ہدایات پر عمل کرتا ہے؛ SystemVerilog RTL ہارڈویئر کی عملی صورت ہے۔ [README کا system outline](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` کے ساتھ چلانے سے سافٹ ویئر instruction path کے ذریعے ماڈل inference ہوتا ہے۔ یہ FPGA پروگرام نہیں کرتا اور نہ کارڈ کی throughput ناپتا ہے۔

مینٹینرز کے مطابق ان کا کارڈ سمیولیٹر جیسے ہی tokens bit-for-bit دیتا ہے، اور منتخب device runs کا CPU Hugging Face reference سے موازنہ کرنے کے لیے وہ [توثیق کی اسکرپٹ](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/tools/validate.py) فراہم کرتے ہیں۔ مقررہ README میں default prompts، token اور logit کا موازنہ، اور 7 اکتوبر کا کارڈ run درج ہے۔ ان رپورٹوں اور کوڈ سے جانچ پڑتال ممکن ہے۔ BIG CHANGE نے انہیں نہیں دہرایا، اس لیے یہ آزادانہ طور پر درستگی یا رفتار ثابت نہیں کرتے۔

## حقیقی کارڈ کے ساتھ کیا بدلتا ہے

بورڈ مینوئل میں [درج کارڈ ](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/docs/board.md)یہ ہے: **Inspur YPCB-00338** اور Xilinx Kintex-7 `xc7k480t-ffg1156-2` کے لیے ہے؛ اس میں 2 GiB کے دو DDR3 چینل اور host PC سے PCIe کنکشن شامل ہیں۔ اس کا default bitstream build Vivado 2026.1 استعمال کرتا ہے۔ مینوئل کے مطابق مفت ایڈیشن میں یہ device شامل نہیں، اور وہ paid license یا 30 دن کی evaluation تجویز کرتا ہے۔ [AMD کی 2026.1 device table](https://docs.amd.com/r/en-US/ug973-vivado-release-notes-install-license/Device-Availability-by-Subscription-Tier?contentId=FXBYqlfi_pd_k5OTkJcJ1A) اس device سے متعلق دعوے کی تردید کرتی ہے: **Basic میں تمام Kintex 7 devices شامل ہیں**۔

[AMD کے موجودہ لائسنس کے اختیارات](https://www.amd.com/en/products/software/adaptive-socs-and-fpgas/vivado/vivado-licensing-options.html) Basic کی قیمت $0 بتاتے ہیں، Linux support اور مفت سالانہ renewal کے ساتھ۔ [لائسنس FAQ](https://www.amd.com/en/products/software/adaptive-socs-and-fpgas/licensing-faq.html) کے مطابق Basic کو بھی سالانہ معتبر license file چاہیے؛ الگ full-feature evaluation **60 دن** جاری رہتی ہے۔ [AMD کی 2026.1 feature table](https://docs.amd.com/r/en-US/ug973-vivado-release-notes-install-license/Supported-Devices-and-Features) Basic میں JTAG programming دکھاتی ہے، مگر XSIM simulation اور کچھ debug features محدود ہیں۔ زیادہ قیمت والے درجے مزید خصوصیات دیتے ہیں، اور AMD کے مطابق IP licensing تبدیل نہیں ہوئی۔ BIG CHANGE نے Basic پر openTPU build نہیں کیا۔ اسے بلا لاگت build کہنے سے پہلے اس bitstream flow کے tool اور IP حقوق جانچنا ضروری ہے۔ بورڈ مینوئل کے مطابق `make bit` میں مشین کے لحاظ سے 1.5 سے 3 گھنٹے لگ سکتے ہیں۔ نہ مینوئل اور نہ AMD tier table اس کارڈ کی خرید قیمت یا مکمل reproduction cost بتاتے ہیں۔

بورڈ اور toolchain ملنے کے بعد دستاویز کردہ طریقے میں `boards/ypcb-00338` پر bitstream build کرنا، JTAG کے ذریعے FPGA پروگرام کرنا اور Linux host ترتیب دینا شامل ہے۔ بورڈ کا [`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 load برقرار نہیں رہتا۔

```shell
cd boards/ypcb-00338
make lint
make bit
make program
```

اوپر کے ہارڈویئر مراحل بورڈ مینوئل سے لیے گئے ہیں، یہاں آزمائے گئے طریقے نہیں۔ Linux host کی bring-up checklist میں Python package اور checkpoint، `sudo otpu-setup` کے ذریعے XDMA driver اور device rules کی تنصیب، JTAG load کے بعد PCIe rescan، اور `otpu-setup --check` شامل ہیں۔ دستاویز کے مطابق اگر driver، card، link، device nodes اور ID register درست ہوں تو آخری کمانڈ کامیابی سے ختم ہوکر “all in place” دکھاتی ہے۔ پھر `otpu-selftest` کارڈ جانچتا ہے، اس کے بعد `otpu-chat --backend board --model lfm2` چلتا ہے۔ بورڈ diagnostics کو `otpu-diag --json diag.json` کے ذریعے محفوظ کیا جا سکتا ہے۔ یہ کارڈ والے راستے کی واضح تکمیل کی نشانیاں ہیں؛ صرف ISA چیٹ ان کی جگہ نہیں لے سکتی۔

شائع شدہ کارکردگی کے اعداد کو بھی اسی احتیاط سے دیکھنا چاہیے۔ README مصنفین کے کارڈ پر 4-bit weights اور int8 head کے ساتھ LFM2.5-230M کے لیے مثالاً **فی سیکنڈ 82.1 tokens wall time** بتاتا ہے۔ طریقہ 512-token prompt کے بعد 64 greedy decode tokens استعمال کرتا ہے، جبکہ جدول device cycles اور host سمیت wall time میں فرق کرتا ہے۔ مختلف host، bitstream، weight format یا prompt سے پیمائش بدل جاتی ہے۔ 7 اکتوبر کے commit message میں کارڈ پر اضافی qualification درج ہے، مگر وہ بھی maintainer کا ریکارڈ ہے۔ اس گائیڈ کے لیے دیکھے گئے ذرائع میں آزادانہ طور پر دہرایا گیا benchmark موجود نہیں۔

## ذرائع اور مزید مطالعہ

- [جانچے گئے commit پر openTPU repository](https://github.com/FeSens/openTPU/tree/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93)، 7 اکتوبر 2026۔ README میں system outline، سمیولیٹر کمانڈز، ماڈل فہرست اور خود رپورٹ کردہ بورڈ پیمائشیں ہیں۔ یہ پروجیکٹ کے دعوے ہیں؛ BIG CHANGE نے repository نہیں چلائی۔
- [Python package metadata](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/pyproject.toml) اور [Apache 2.0 لائسنس](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/LICENSE) Python ورژن، بیان کردہ dependencies، CLI entry points، package version اور سورس لائسنس بتاتے ہیں۔ ماڈل checkpoints اور Vivado کی الگ شرائط اور ضروریات ہیں۔
- [بورڈ اور host bring-up مینوئل](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/docs/board.md)، 7 اکتوبر 2026 کو دیکھا گیا۔ یہ معاون کارڈ، bitstream مراحل، Linux سیٹ اپ، JTAG programming اور self-tests بتاتا ہے۔ Paid-license اور 30 روزہ evaluation کے بیانات AMD کی موجودہ 2026.1 لائسنس دستاویزات سے متصادم ہیں۔ بعض پرانی bitstream مثالیں پچھلے builds سے متعلق ہیں؛ دہرانے کے لیے مقررہ tree اور موجودہ build ہدایات استعمال کریں۔
- [AMD Vivado 2026.1 device availability, UG973](https://docs.amd.com/r/en-US/ug973-vivado-release-notes-install-license/Device-Availability-by-Subscription-Tier?contentId=FXBYqlfi_pd_k5OTkJcJ1A) اور [supported devices and features](https://docs.amd.com/r/en-US/ug973-vivado-release-notes-install-license/Supported-Devices-and-Features)، دونوں 23 جون 2026 کے، اور [licensing options](https://www.amd.com/en/products/software/adaptive-socs-and-fpgas/vivado/vivado-licensing-options.html)، 7 اکتوبر کو دیکھے گئے۔ ان کے مطابق تمام Kintex 7 devices مفت Basic میں ہیں، Linux اور JTAG support موجود ہے، اور Basic کی simulation/debug حدود درج ہیں۔ [AMD licensing FAQ](https://www.amd.com/en/products/software/adaptive-socs-and-fpgas/licensing-faq.html) سالانہ Basic license file اور 60 روزہ evaluation واضح کرتا ہے۔ صرف device coverage سے اس پروجیکٹ کا پورا bitstream flow Basic پر چلنے کی تصدیق نہیں ہوتی۔
- [Chat CLI](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/opentpu/host/chat.py) اور [LFM2 گائیڈ](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/docs/lfm2.md) backend selection، model path، interactive اور one-shot output کے رویے، اور چھوٹے checkpoint کی مثال دکھاتے ہیں۔
- [7 اکتوبر کی GIGAZINE رپورٹ](https://gigazine.net/gsc_news/en/20261007-opentpu) پروجیکٹ پر عوامی توجہ کا مفید پس منظر فراہم کرتی ہے۔ اس گائیڈ میں setup اور performance کی تفصیل رپورٹ سے نہیں بلکہ repository سے جانچی گئی۔

## Sources

- [جانچے گئے commit پر openTPU README](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/README.md) — بنیادی جائزہ، سمیولیٹر کمانڈز، ماڈل فہرست، رپورٹ کردہ کارڈ پیمائشیں اور طریقۂ کار۔ نتائج اور AI-assisted design کا بیان پروجیکٹ کے دعوے ہیں۔
- [openTPU بورڈ مینوئل](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/docs/board.md) — معاون Inspur کارڈ، device، DDR3، Vivado 2026.1، build/program/host سیٹ اپ اور جانچ۔ صرف paid license/30 دن evaluation کا مشورہ AMD کے 2026.1 tier documents سے متصادم ہے۔ تاریخی حصوں میں پرانی تصاویر ہیں۔
- [openTPU package metadata اور chat source](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/pyproject.toml) — Python کی کم از کم version، بیان کردہ dependencies، package version، license declaration اور CLI entry points؛ chat source backend اختیارات اور متوقع output interface بتاتا ہے۔
- [openTPU Apache 2.0 لائسنس](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/LICENSE) — پروجیکٹ کے سورس کوڈ کا لائسنس؛ اس سے ماڈل یا Vivado کی الگ شرائط مراد نہیں ہوتیں۔
- [AMD Vivado 2026.1 subscription tier کے لحاظ سے device availability (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 device table تمام Kintex 7 devices کو Basic میں واضح طور پر درج کرتی ہے؛ یہ معلومات پورے openTPU bitstream/IP flow کی آزادانہ توثیق نہیں کرتیں۔
- [AMD Vivado 2026.1 supported devices and features (UG973)](https://docs.amd.com/r/en-US/ug973-vivado-release-notes-install-license/Supported-Devices-and-Features) — چلاتے وقت معتبر license file چاہیے؛ Basic میں JTAG programming شامل ہے مگر XSIM simulation اور کچھ debug features محدود ہیں۔ یہ Basic پر openTPU build کی تصدیق نہیں کرتا۔
- [AMD Vivado licensing options](https://www.amd.com/en/products/software/adaptive-socs-and-fpgas/vivado/vivado-licensing-options.html) — Basic کی موجودہ قیمت $0 ہے، سالانہ renewal مفت اور Linux support دستیاب ہے؛ tier کے لحاظ سے features بدلتے ہیں اور IP licensing برقرار ہے۔ 2026.1 سے tier model شروع ہوا۔
- [AMD licensing FAQ](https://www.amd.com/en/products/software/adaptive-socs-and-fpgas/licensing-faq.html) — Basic 2026.1 یا بعد کے ورژن کے لیے مفت حاصل کی جا سکنے والی معتبر سالانہ license file ضروری ہے؛ الگ full-feature evaluation 60 دن کی ہے۔
- [GIGAZINE: openTPU رپورٹ](https://gigazine.net/gsc_news/en/20261007-opentpu) — صرف ثانوی رپورٹنگ کا پس منظر۔ سیٹ اپ اور کارکردگی کے حقائق repository کے بنیادی ذرائع سے جانچے گئے۔
