يجمع مستودع openTPU محاكي مجموعة تعليمات بلغة Python ومصرّفاً وتصميماً بـSystemVerilog وأدوات FPGA للمضيف في مشروع واحد. ويذكر المؤلفون أنهم شغّلوا نماذج لغة على بطاقة Inspur Kintex-7. بالنسبة إلى مطوّر أنظمة تعلم آلي أو FPGA، تتمثل البداية الأسهل في تشغيل محادثة برمجية باستخدام أوزان نموذج حقيقية. أما نقل المشروع نفسه إلى بطاقة فيتطلب لوحة محددة وأدوات بناء مرخّصة وإعداد مضيف Linux. يتبع هذا الدليل المستودع عند الالتزام b9a3f3b المؤرخ في 7 أكتوبر 2026؛ لم يثبّته BIG CHANGE أو يحاكيه أو يختبره.

التغيير الكبير

  • ما الذي تغيّر: ينشر openTPU مجموعة تعليمات المسرّع والمحاكي والمصرّف وRTL وتكامل اللوحة معاً. ويمكن للمهندس فحص المسار من عملية في النموذج إلى تعليمات محاكاة قبل شراء البطاقة المدعومة.
  • لماذا يهم ذلك:يمنح المحاكي الموثق متعلمي العتاد طريقة عملية لدراسة التصميم وتشغيل نموذج لغة صغير باستخدام برامج مضيف عادية. ويقول المشروع إن وكلاء الذكاء الاصطناعي ساعدوا في إنتاج منظومة العتاد؛ وتتيح المكوّنات القابلة للفحص مراجعة هذا الادعاء، بينما تظل النتائج المعلنة على البطاقة قياسات أجراها المشروع نفسه.
  • ما الذي ينبغي مراقبته:يتطلب تكرار النتيجة المادية لوحة Kintex-7 وبناء Vivado مرخّصاً وتهيئة PCIe تعمل. ويوفر المستودع أوامر واختبارات ذاتية لهذا العمل. ومن شأن تشغيل مستقل على مراجعة مثبتة أن يوضح مدى سهولة تكرار النتيجة على مهندسين آخرين.

ثبّت المصدر واختر المسار البرمجي

تتبع الخطوات أدناه المستودع main عند الالتزام b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93 الذي أُنشئ في 7 أكتوبر. يحتوي المستودع على وسم v0.5، لكن هذا الدليل يستخدم الالتزام المثبت الأحدث لأن ملف README فيه يضيف قسماً جديداً للتحقق عبر Hugging Face. ولا تزال حزمة Python تعرّف نفسها بالإصدار 0.1.0 في pyproject.toml؛ فرقم الحزمة وحده لا يحدد لقطة المصدر. يستخدم المستودع ترخيص Apache 2.0.

تحتاج إلى Python 3.10 أو أحدث. وتعلن الحزمة عن numpy و textual؛ كما يثبّت README على نحو منفصل pytest، torch و transformers للاختبارات واستخدام النماذج. ويعرض أمر Hugging Face hf لتنزيل نقطة تحقق إلى models/LFM2.5-230M. تحقّق من توافر hf في بيئة Python قبل التنزيل. نقطة التحقق مدخل لأمر المحادثة وليست نموذجاً مضمناً مع المصدر. ولا يذكر المشروع الحجم الإجمالي للتنزيل أو متطلبات ذاكرة المضيف أو مدة تشغيل ثابتة للمحاكي في هذا المسار.

من جذر المستودع، يكون التسلسل الموثق كما يلي:

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 الكاملة أيضاً اختبارات RTL التي تتطلب Verilator 5، لذلك لا يمكن لجهاز لا يحتوي على هذه الأداة استخدام المجموعة الكاملة للتحقق من نجاح المسار البرمجي وحده. تتمثل علامة اكتمال أصغر تشغيل تفاعلي موثق في تحميل نقطة التحقق LFM2.5-230M وظهور واجهة محادثة تقبل مطالبة وتعيد نصاً من النموذج. وتعتمد الكلمات الدقيقة في الرد المولّد على المطالبة وأخذ العينات. كما يوفّر مصدر واجهة المحادثة الطرفية الأمر --plain لطرفية REPL و--prompt لرد واحد؛ ويطبع الخيار الأخير الرد وإحصاءات الدور. هذه واجهات موثقة وليست مخرجات شاهدها BIG CHANGE.

يسرد README كلاً من Qwen3-0.6B وLFM2.5-230M وQwen3.5-0.8B ضمن خيارات المحادثة الرئيسية، إضافة إلى نماذج أكبر. يحتاج كل نموذج إلى نقطة تحقق خاصة به في دليل النماذج المتوقع أو إلى مسار صريح لها. ومسار LFM2 أعلاه أقصر مثال لتنزيل نموذج في المستودع. وتشمل النتائج الأوسع في README عشرة نماذج على البطاقة، منها Gemma 4 ونماذج تحتاج إلى تحميل الخبراء خارجياً؛ وقد استُخدمت صيغ أوزان متعددة لبعضها. والجدول قياسات للمؤلفين وليس ضماناً بأن كل نموذج يعمل بإعداد LFM2 ذي الأمر الواحد.

ما الذي يفحصه المحاكي

يصف المشروع لغة نواة ومصرّفاً ينتجان تعليمات للمسرّع. وينفّذ محاكي ISA المكتوب بـPython تلك التعليمات؛ أما RTL المكتوب بـSystemVerilog فهو تنفيذ العتاد. ويساعد مخطط النظام في README و opentpu/isasim.py القارئ على تتبع هذا الحد. ويؤدي تشغيل otpu-chat مع isa إلى استدلال النموذج عبر مسار التعليمات البرمجي. ولا يبرمج ذلك FPGA ولا يقيس معدل نقل البطاقة.

يذكر القائمون على الصيانة أن بطاقتهم تنتج رموزاً مطابقة لرموز المحاكي على مستوى البتات، ويوفرون برنامج تحقق لمقارنة عمليات تشغيل محددة على الجهاز بمرجع Hugging Face على CPU. ويصف README المثبت المطالبات الافتراضية ومقارنات الرموز وlogit وتشغيلاً على البطاقة في 7 أكتوبر. وتتيح التقارير والشفرة فحص هذه الاختبارات. لم يكررها BIG CHANGE، لذا فهي لا تثبت بصورة مستقلة الدقة أو السرعة.

ما الذي يتغير عند استخدام البطاقة الفعلية

يستهدف دليل اللوحة بطاقة Inspur YPCB-00338 مع Xilinx Kintex-7 xc7k480t-ffg1156-2، وقناتي DDR3 سعة كل منهما 2 GiB واتصال PCIe بحاسوب مضيف. ويستخدم بناء bitstream الافتراضي Vivado 2026.1. ويقول الدليل إن الإصدار المجاني لا يشمل هذا الجهاز، ويقترح ترخيصاً مدفوعاً أو تقييماً لمدة 30 يوماً. لكن جدول أجهزة AMD لعام 2026.1 يناقض هذا الادعاء بشأن الجهاز: يشمل Basic جميع أجهزة Kintex 7.

تدرج خيارات الترخيص الحالية لدى AMD خطة Basic بسعر 0 دولار، مع دعم Linux وتجديد سنوي مجاني. ويذكر الأسئلة الشائعة حول الترخيص أن Basic ما زالت تحتاج إلى ملف ترخيص سنوي صالح؛ أما التقييم المنفصل كامل الميزات فيستمر 60 يوماً. ويعرض جدول ميزات AMD لعام 2026.1 برمجة JTAG ضمن Basic، لكنه يقيّد محاكاة XSIM وبعض ميزات التصحيح. وتضيف المستويات المدفوعة الأعلى ميزات أخرى، وتقول AMD إن ترخيص IP لم يتغير. لم يبنِ BIG CHANGE openTPU باستخدام Basic. ينبغي التحقق من حقوق استخدام الأدوات وIP لمسار bitstream هذا قبل اعتباره بناءً بلا تكلفة. ويقدّر دليل اللوحة أن make bit يستغرق من 1.5 إلى 3 ساعات، حسب الجهاز. ولا يذكر الدليل أو جدول مستويات AMD سعر شراء هذه البطاقة أو كلفة إعادة الإنتاج الإجمالية.

بعد الحصول على اللوحة وسلسلة الأدوات، يتمثل مسار اللوحة الموثق في بناء bitstream داخل boards/ypcb-00338، وبرمجة FPGA عبر JTAG، وإعداد مضيف Linux. ويرسل Makefile الخاص باللوحة مخرجات make bit إلى build/vivado/otpu.bit. ويستخدم make program أداة openFPGALoader افتراضياً؛ كما يشرح الدليل مدير العتاد في Vivado. ولا يستمر تحميل JTAG بعد فصل الطاقة وإعادتها.

Terminal
cd boards/ypcb-00338
make lint
make bit
make program

و sudo otpu-setup لتثبيت برنامج تشغيل XDMA وقواعد الأجهزة، وإعادة فحص PCIe بعد تحميل JTAG، ثم otpu-setup --check. وتوثّق التعليمات أن الأمر الأخير ينتهي بنجاح ويعرض “all in place” عندما تكون وحدة التشغيل والبطاقة والرابط وعُقد الجهاز وسجل ID سليمة. بعد ذلك يفحص otpu-selftest البطاقة قبل تشغيل otpu-chat --backend board --model lfm2. ويمكن حفظ تشخيصات اللوحة باستخدام otpu-diag --json diag.json. هذه الاختبارات علامات إكمال ملموسة لمسار البطاقة؛ ولا يمكن لمحادثة ISA وحدها أن تحل محلها.

وتتطلب أرقام الأداء المنشورة القدر نفسه من الحذر. يذكر README مثلاً 82.1 رمزاً في الثانية بالوقت الفعلي لنموذج LFM2.5-230M باستخدام أوزان 4-bit ورأس int8 على بطاقة المؤلفين. وتستخدم الطريقة 64 رمزاً بفك greedy بعد مطالبة من 512 رمزاً، ويميّز الجدول بين دورات الجهاز والوقت الفعلي شاملاً المضيف. ويؤدي اختلاف المضيف أو bitstream أو صيغة الأوزان أو المطالبة إلى قياس مختلف. وتسجل رسالة الالتزام في 7 أكتوبر تأهيلاً إضافياً على البطاقة، لكنها تظل سجلاً من القائمين على الصيانة. ولا تتضمن المصادر التي روجعت لهذا الدليل معيار أداء أعيد إنتاجه بصورة مستقلة.

المصادر ومزيد من القراءة

  • مستودع openTPU عند الالتزام الذي جرى فحصه، 7 أكتوبر 2026. يقدم README مخطط النظام وأوامر المحاكي وقائمة النماذج وقياسات البطاقة التي أبلغ عنها المؤلفون. وهذه ادعاءات للمشروع؛ لم يشغّل BIG CHANGE المستودع.
  • بيانات حزمة Python الوصفية وترخيص Apache 2.0. وتحدد هذه المواد إصدار Python والتبعيات المعلنة ونقاط دخول CLI وإصدار الحزمة وترخيص المصدر. وللنماذج وVivado شروط ومتطلبات منفصلة.
  • دليل إعداد اللوحة والمضيف، روجع في 7 أكتوبر 2026. يحدد البطاقة المدعومة وخطوات bitstream وإعداد Linux وبرمجة JTAG والاختبارات الذاتية. وتتعارض أقواله عن الترخيص المدفوع والتقييم لمدة 30 يوماً مع وثائق ترخيص AMD الحالية لعام 2026.1. وتشير بعض الأمثلة التاريخية لـbitstream إلى إصدارات بناء أقدم؛ استخدم الشجرة المثبتة وتعليمات البناء الحالية عند إعادة الإنتاج.
  • توافر أجهزة AMD Vivado 2026.1، UG973 والأجهزة والميزات المدعومة، وكلاهما مؤرخ في 23 يونيو 2026، إضافة إلى خيارات الترخيص التي روجعت في 7 أكتوبر. تضع هذه المصادر جميع أجهزة Kintex 7 ضمن Basic المجانية، وتذكر دعم Linux وJTAG، وتعرض حدود المحاكاة والتصحيح في Basic. وتحدد الأسئلة الشائعة لترخيص AMD ملف Basic السنوي والتقييم لمدة 60 يوماً. ولا يثبت دعم الجهاز وحده أن مسار bitstream الكامل لهذا المشروع يعمل ضمن Basic.
  • واجهة المحادثة الطرفية ودليل LFM2. وتوضح هذه المواد اختيار الواجهة الخلفية ومسار النموذج وسلوك الإخراج التفاعلي وإخراج المرة الواحدة ومثال نقطة التحقق الصغيرة.
  • يوفر تقرير GIGAZINE الصادر في 7 أكتوبر سياقاً مفيداً للاهتمام العام بالمشروع. وقد روجعت تفاصيل الإعداد والأداء في هذا الدليل بالرجوع إلى المستودع، لا إلى ذلك التقرير.