এই openTPU সংগ্রহস্থল একটি Python instruction-set সিমুলেটর, কম্পাইলার, SystemVerilog ডিজাইন এবং FPGA হোস্ট টুল—সব এক প্রকল্পে রেখেছে। নির্মাতারা জানান, Inspur Kintex-7 কার্ডে তাঁরা ভাষা-মডেল চালিয়েছেন। ML সিস্টেম বা FPGA ডেভেলপারের জন্য সহজে শুরু করার উপায় হলো প্রকৃত মডেলের ওজন দিয়ে সফটওয়্যারে চ্যাট চালানো। একই প্রকল্প কার্ডে চালাতে নির্দিষ্ট বোর্ড, লাইসেন্সযুক্ত বিল্ড টুল এবং Linux হোস্ট সেটআপ লাগে। এই নির্দেশিকা সংগ্রহস্থলের b9a3f3b কমিট অনুসরণ করে, যা ৭ অক্টোবর ২০২৬-এর; BIG CHANGE এটি ইনস্টল, সিমুলেট বা পরীক্ষা করেনি।

বড় পরিবর্তন

  • কী বদলেছে: openTPU একসঙ্গে অ্যাক্সিলারেটরের instruction set, সিমুলেটর, কম্পাইলার, RTL এবং বোর্ড ইন্টিগ্রেশন প্রকাশ করেছে। সমর্থিত কার্ড কেনার আগেই একজন প্রকৌশলী মডেলের অপারেশন থেকে সিমুলেটেড নির্দেশনা পর্যন্ত পথটি পরীক্ষা করতে পারেন।
  • কেন গুরুত্বপূর্ণ: নথিভুক্ত সিমুলেটর হার্ডওয়্যার শিখতে আগ্রহীদের একটি বাস্তব নকশা খতিয়ে দেখতে এবং সাধারণ হোস্ট সফটওয়্যার দিয়ে ছোট ভাষা-মডেল চালাতে দেয়। প্রকল্পটির দাবি, AI এজেন্ট হার্ডওয়্যার স্ট্যাক তৈরিতে সহায়তা করেছে; উন্মুক্ত আর্টিফ্যাক্টগুলো সেই দাবি যাচাইয়ের সুযোগ দেয়, যদিও কার্ডে চালানোর ফলাফল এখনো প্রকল্পটির নিজস্ব মাপজোক।
  • কী দেখার: বাস্তব হার্ডওয়্যারের ফল পুনরুৎপাদন করতে Kintex-7 বোর্ড, লাইসেন্সযুক্ত Vivado বিল্ড এবং সচল PCIe bring-up দরকার। সংগ্রহস্থলে এ কাজের কমান্ড ও self-test আছে। নির্দিষ্ট একটি revision-এ স্বাধীনভাবে চালালে অন্য প্রকৌশলীরা কত সহজে ফলটি পুনরায় পেতে পারেন তা বোঝা যাবে।

সোর্স নির্দিষ্ট করে সফটওয়্যার পথ বেছে নিন

নিচের ধাপগুলো main সংগ্রহস্থলের কমিট b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93, যা ৭ অক্টোবর জমা হয়েছিল, সেটি অনুসরণ করে। সংগ্রহস্থলে v0.5 ট্যাগ আছে, তবে 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-এ নামানোর উদাহরণ README-তে আছে। ডাউনলোডের আগে Python পরিবেশে hf পাওয়া যায় কি না নিশ্চিত করুন। Checkpoint-টি chat command-এর ইনপুট; সোর্সের সঙ্গে দেওয়া মডেল নয়। এই পথে মোট ডাউনলোডের আকার, হোস্ট মেমরির প্রয়োজন কিংবা সিমুলেটরের নির্দিষ্ট রানটাইম প্রকল্পে বলা নেই।

সংগ্রহস্থলের root থেকে নথিভুক্ত ধারাটি হলো:

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 কমান্ডগুলো পরীক্ষিত revision নির্দিষ্ট করে; install, test, download এবং chat কমান্ড README-র। --backend isa Python instruction-set সিমুলেটর বেছে নেয়। সম্পূর্ণ pytest test suite-তে RTL পরীক্ষাও আছে, যার জন্য Verilator 5 লাগে; তাই এই টুল না থাকলে সফটওয়্যার-শুধু সাফল্য যাচাইয়ে পুরো suite ব্যবহার করা যাবে না। নথিভুক্ত সবচেয়ে ছোট interactive run সম্পন্ন হওয়ার লক্ষণ হলো LFM2.5-230M checkpoint লোড হওয়ার পর এমন chat interface, যা prompt গ্রহণ করে মডেলের লেখা ফেরত দেয়। তৈরি হওয়া উত্তরের নির্দিষ্ট শব্দ prompt ও sampling-এর ওপর নির্ভর করে। chat CLI সোর্স -এ terminal REPL-এর জন্য --plain এবং একবারের উত্তরের জন্য --prompt-ও আছে; পরেরটি উত্তর ও turn-এর পরিসংখ্যান ছাপে। এগুলো নথিভুক্ত interface, BIG CHANGE-এর দেখা বাস্তব আউটপুট নয়।

README-তে প্রধান chat মডেল হিসেবে Qwen3-0.6B, LFM2.5-230M এবং Qwen3.5-0.8B-র পাশাপাশি আরও বড় মডেল রয়েছে। প্রতিটির জন্য নির্ধারিত মডেল ফোল্ডারে নিজস্ব checkpoint অথবা স্পষ্ট checkpoint path দরকার। উপরের LFM2 পথটি সংগ্রহস্থলের সবচেয়ে ছোট মডেল-ডাউনলোড উদাহরণ। README-র বিস্তৃত ফলাফলে কার্ডে দশটি মডেলের মাপজোক রয়েছে; এর মধ্যে Gemma 4 এবং expert offloading দরকার এমন মডেলও আছে, আর কয়েকটির একাধিক weight format পরীক্ষা করা হয়েছে। সারণিটি নির্মাতাদের মাপজোক; প্রতিটি মডেল ওই এক-কমান্ড LFM2 সেটআপে চলবে—এমন নিশ্চয়তা নয়।

সিমুলেটর কী যাচাই করে

প্রকল্পের বর্ণনা অনুযায়ী, kernel ভাষা ও compiler অ্যাক্সিলারেটরের জন্য নির্দেশনা তৈরি করে। Python ISA সিমুলেটর সেই নির্দেশনা চালায়; SystemVerilog RTL হলো হার্ডওয়্যার বাস্তবায়ন। README-র সিস্টেম-রূপরেখা এবং opentpu/isasim.py পাঠককে এই সীমারেখা অনুসরণ করতে সাহায্য করে। otpu-chat-এর সঙ্গে isa চালালে সফটওয়্যার instruction path দিয়ে মডেল inference হয়। এতে FPGA প্রোগ্রাম করা হয় না বা কার্ডের throughput মাপা হয় না।

রক্ষণাবেক্ষণকারীরা জানান, কার্ডে সিমুলেটরের সঙ্গে bit-for-bit মিলে এমন token পাওয়া যায় এবং নির্বাচিত device run-কে CPU Hugging Face reference-এর সঙ্গে তুলনা করার একটি যাচাই স্ক্রিপ্ট দেন। নির্দিষ্ট README-তে default prompt, token ও logit তুলনা এবং ৭ অক্টোবরের কার্ড-রানের বিবরণ আছে। এসব প্রতিবেদন ও কোড পরীক্ষা করা যায়। BIG CHANGE সেগুলো পুনরায় চালায়নি, তাই এগুলো স্বাধীন নির্ভুলতা বা গতির প্রমাণ নয়।

বাস্তব কার্ডে কী বদলায়

বোর্ড নির্দেশিকা লক্ষ্য করে Inspur YPCB-00338 এবং Xilinx Kintex-7 xc7k480t-ffg1156-2-কে, যার সঙ্গে 2 GiB DDR3-এর দুটি channel এবং host PC-র জন্য PCIe সংযোগ আছে। ডিফল্ট bitstream build-এ Vivado 2026.1 লাগে। নির্দেশিকায় বলা হয়েছে free edition-এ এই device নেই; এর বদলে paid license বা ৩০ দিনের evaluation-এর পরামর্শ দেওয়া হয়েছে। AMD-র 2026.1 device সারণি ওই device-সংক্রান্ত দাবির সঙ্গে মেলে না: Basic-এ সব Kintex 7 device অন্তর্ভুক্ত।

AMD-র বর্তমান লাইসেন্সের বিকল্পগুলোতে Basic-এর দাম $0, Linux সমর্থন এবং বিনামূল্যে বার্ষিক নবায়নের কথা বলা হয়েছে। লাইসেন্স FAQ অনুযায়ী Basic-এর জন্যও বৈধ বার্ষিক license file দরকার; আলাদা পূর্ণ-সুবিধার evaluation চলে ৬০ দিন। AMD-র 2026.1 feature সারণিতে Basic-এ JTAG programming আছে, তবে XSIM simulation ও কিছু debug সুবিধা সীমিত। বেশি দামের স্তরে আরও সুবিধা মেলে; AMD জানায় IP licensing অপরিবর্তিত। BIG CHANGE Basic দিয়ে openTPU build করেনি। এই bitstream পথে টুল ও IP ব্যবহারের অধিকার যাচাই না করে একে বিনা খরচের build বলা যায় না। বোর্ডের নির্দেশিকায় make bit-এর সময় ১.৫ থেকে ৩ ঘণ্টা বলা হয়েছে, যা মেশিনের ওপর নির্ভর করে। ওই নির্দেশিকা বা AMD-র tier সারণি—কোনোটিতেই কার্ডের কেনার দাম বা পুনরুৎপাদনের মোট খরচ নেই।

বোর্ড ও toolchain পাওয়ার পর নথিভুক্ত বোর্ড-পথ হলো boards/ypcb-00338-এ bitstream build, JTAG দিয়ে FPGA program, এবং Linux host configure করা। বোর্ডের Makefile থেকে make bit আউটপুট build/vivado/otpu.bit-এ যায়। make program ডিফল্টভাবে openFPGALoader ব্যবহার করে; নির্দেশিকায় Vivado hardware manager-ও আছে। JTAG load বিদ্যুৎ বন্ধ-চালুর পর থাকে না।

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

উপরের hardware ধাপগুলো বোর্ডের নির্দেশিকা থেকে নেওয়া; এখানে পরীক্ষিত ক্রম নয়। Linux host-এর bring-up তালিকায় Python package ও checkpoint, XDMA driver এবং device rule বসানোর জন্য sudo otpu-setup, JTAG load-এর পর PCIe rescan এবং otpu-setup --check রয়েছে। driver, card, link, device node ও ID register ঠিক থাকলে শেষের কমান্ডটি “all in place” দেখিয়ে সফলভাবে শেষ হয়—এমনটাই নথিভুক্ত। এরপর otpu-selftest দিয়ে কার্ড পরীক্ষা করে otpu-chat --backend board --model lfm2 চালানো হয়। বোর্ডের diagnostic otpu-diag --json diag.json-এ সংরক্ষণ করা যায়। এই পরীক্ষাগুলো কার্ড-পথের নির্দিষ্ট completion signal; শুধু ISA chat এগুলোর বিকল্প নয়।

প্রকাশিত performance সংখ্যাও সতর্কভাবে দেখা দরকার। README-তে নির্মাতাদের কার্ডে 4-bit weight ও int8 head ব্যবহার করে LFM2.5-230M-এর জন্য উদাহরণ হিসেবে প্রতি সেকেন্ডে ৮২.১ token wall time বলা হয়েছে। পদ্ধতিতে 512-token prompt-এর পর greedy decode-এ 64 token তৈরি করা হয়; সারণিতে device cycle ও host-সহ wall time আলাদা করা হয়েছে। অন্য host, bitstream, weight format বা prompt মানে অন্য মাপজোক। ৭ অক্টোবরের commit message-এ কার্ডে অতিরিক্ত qualification-এর কথা আছে, তবে সেটিও maintainer-এর নথি। এই নির্দেশিকায় পর্যালোচিত সোর্সে স্বাধীনভাবে পুনরুৎপাদিত benchmark নেই।

সূত্র ও আরও পড়ুন

  • পরীক্ষিত commit-এ openTPU সংগ্রহস্থল, ৭ অক্টোবর ২০২৬। README-তে সিস্টেমের রূপরেখা, simulator কমান্ড, মডেলের তালিকা এবং নির্মাতাদের নিজস্ব card measurement রয়েছে। ফলাফল প্রকল্পের দাবি; BIG CHANGE সংগ্রহস্থল চালায়নি।
  • Python package metadata এবং Apache 2.0 লাইসেন্স। Python সংস্করণ, ঘোষিত dependency, CLI entry point, package সংস্করণ এবং সোর্স লাইসেন্সের প্রমাণ। মডেল checkpoint ও Vivado-র আলাদা শর্ত ও প্রয়োজনীয়তা আছে।
  • বোর্ড ও host bring-up নির্দেশিকা, ৭ অক্টোবর ২০২৬-এ দেখা হয়েছে। এতে সমর্থিত কার্ড, bitstream ধাপ, Linux সেটআপ, JTAG programming এবং self-test নির্দিষ্ট করা আছে। paid-license ও ৩০ দিনের evaluation-এর বক্তব্য AMD-র বর্তমান 2026.1 license নথির সঙ্গে সাংঘর্ষিক। কিছু পুরোনো bitstream উদাহরণ আগের build-এর; পুনরুৎপাদনে নির্দিষ্ট tree ও বর্তমান build নির্দেশ ব্যবহার করুন।
  • AMD Vivado 2026.1 device availability, UG973 এবং সমর্থিত device ও feature—দুটিই ২৩ জুন ২০২৬-এর—এবং লাইসেন্সের বিকল্প, ৭ অক্টোবর দেখা হয়েছে। এগুলোতে সব Kintex 7 device বিনামূল্যের Basic-এ রয়েছে, Linux ও JTAG সমর্থিত এবং Basic-এর simulation/debug সীমাবদ্ধতা দেখানো হয়েছে। AMD license FAQ-এ বার্ষিক Basic license file এবং ৬০ দিনের evaluation নির্দিষ্ট করা আছে। শুধু device coverage দিয়ে Basic-এ প্রকল্পটির পুরো bitstream পথ যাচাই হয় না।
  • Chat CLI এবং LFM2 নির্দেশিকা। এগুলো backend নির্বাচন, model path, interactive ও one-shot output-এর আচরণ এবং ছোট checkpoint উদাহরণ দেখায়।
  • GIGAZINE-এর ৭ অক্টোবরের প্রতিবেদন প্রকল্পটির প্রতি জনসাধারণের আগ্রহ বোঝার প্রাসঙ্গিক তথ্য। এই নির্দেশিকার setup ও performance বিবরণ প্রতিবেদন থেকে নয়, সংগ্রহস্থল থেকে যাচাই করা হয়েছে।