یہ openTPU ریپوزٹری ایک 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 پر مبنی ہیں، جو 7 اکتوبر کو commit ہوا تھا۔ ریپوزٹری میں ایک v0.5 tag موجود ہے، مگر یہ گائیڈ بعد والا مقررہ commit استعمال کرتی ہے کیونکہ اس کے README میں Hugging Face توثیق کا نیا حصہ شامل ہے۔ Python پیکیج 0.1.0 میں اب بھی خود کو ورژن 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 سے دستاویز کردہ ترتیب یہ ہے:
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 کمانڈز جانچی گئی 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 میں 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 اور opentpu/isasim.py اس حد کو سمجھنے میں مدد دیتے ہیں۔ otpu-chat کو isa کے ساتھ چلانے سے سافٹ ویئر instruction path کے ذریعے ماڈل inference ہوتا ہے۔ یہ FPGA پروگرام نہیں کرتا اور نہ کارڈ کی throughput ناپتا ہے۔
مینٹینرز کے مطابق ان کا کارڈ سمیولیٹر جیسے ہی tokens bit-for-bit دیتا ہے، اور منتخب device runs کا CPU Hugging Face reference سے موازنہ کرنے کے لیے وہ توثیق کی اسکرپٹ فراہم کرتے ہیں۔ مقررہ README میں default prompts، token اور logit کا موازنہ، اور 7 اکتوبر کا کارڈ run درج ہے۔ ان رپورٹوں اور کوڈ سے جانچ پڑتال ممکن ہے۔ BIG CHANGE نے انہیں نہیں دہرایا، اس لیے یہ آزادانہ طور پر درستگی یا رفتار ثابت نہیں کرتے۔
حقیقی کارڈ کے ساتھ کیا بدلتا ہے
بورڈ مینوئل میں درج کارڈ یہ ہے: 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 اس device سے متعلق دعوے کی تردید کرتی ہے: Basic میں تمام Kintex 7 devices شامل ہیں۔
AMD کے موجودہ لائسنس کے اختیارات Basic کی قیمت $0 بتاتے ہیں، Linux support اور مفت سالانہ renewal کے ساتھ۔ لائسنس FAQ کے مطابق Basic کو بھی سالانہ معتبر license file چاہیے؛ الگ full-feature evaluation 60 دن جاری رہتی ہے۔ AMD کی 2026.1 feature table 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 بھیجتا ہے make bit آؤٹ پٹ build/vivado/otpu.bit کو make program عام طور پر openFPGALoader استعمال کرتا ہے؛ مینوئل Vivado hardware manager بھی بیان کرتا ہے۔ بجلی بند کرکے دوبارہ چلانے کے بعد JTAG load برقرار نہیں رہتا۔
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، 7 اکتوبر 2026۔ README میں system outline، سمیولیٹر کمانڈز، ماڈل فہرست اور خود رپورٹ کردہ بورڈ پیمائشیں ہیں۔ یہ پروجیکٹ کے دعوے ہیں؛ BIG CHANGE نے repository نہیں چلائی۔
- Python package metadata اور Apache 2.0 لائسنس Python ورژن، بیان کردہ dependencies، CLI entry points، package version اور سورس لائسنس بتاتے ہیں۔ ماڈل checkpoints اور Vivado کی الگ شرائط اور ضروریات ہیں۔
- بورڈ اور host bring-up مینوئل، 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 اور supported devices and features، دونوں 23 جون 2026 کے، اور licensing options، 7 اکتوبر کو دیکھے گئے۔ ان کے مطابق تمام Kintex 7 devices مفت Basic میں ہیں، Linux اور JTAG support موجود ہے، اور Basic کی simulation/debug حدود درج ہیں۔ AMD licensing FAQ سالانہ Basic license file اور 60 روزہ evaluation واضح کرتا ہے۔ صرف device coverage سے اس پروجیکٹ کا پورا bitstream flow Basic پر چلنے کی تصدیق نہیں ہوتی۔
- Chat CLI اور LFM2 گائیڈ backend selection، model path، interactive اور one-shot output کے رویے، اور چھوٹے checkpoint کی مثال دکھاتے ہیں۔
- 7 اکتوبر کی GIGAZINE رپورٹ پروجیکٹ پر عوامی توجہ کا مفید پس منظر فراہم کرتی ہے۔ اس گائیڈ میں setup اور performance کی تفصیل رپورٹ سے نہیں بلکہ repository سے جانچی گئی۔



