VeriGPU پروجیکٹ Verilog زبان میں ایک کھلا GPU تیار کرتا ہے۔

ویری جی پی یو پروجیکٹ کا مقصد ویریلوگ الیکٹرانک سسٹم کی تفصیل اور ماڈلنگ لینگویج میں تیار کردہ ایک کھلا جی پی یو بنانا ہے۔ ابتدائی طور پر، پروجیکٹ ویریلوگ سمیلیٹر کا استعمال کرتے ہوئے تیار کیا جا رہا ہے، لیکن اسے تیاری میں لانے کے بعد، اسے اصلی چپس بنانے کے لیے استعمال کیا جا سکتا ہے۔ پروجیکٹ کی پیشرفت MIT لائسنس کے تحت تقسیم کی جاتی ہے۔

VeriGPU کو مشین لرننگ سسٹمز سے متعلق کمپیوٹیشن کو تیز کرنے کے لیے ایک ایپلی کیشن سپیشل پروسیسنگ یونٹ (ASIC) کے طور پر رکھا گیا ہے۔ منصوبوں میں PyTorch گہری مشین لرننگ فریم ورک کے ساتھ مطابقت فراہم کرنے اور HIP (Heterogeneous-Compute Interface) API کا استعمال کرتے ہوئے VeriGPU کے لیے ایپلیکیشنز تیار کرنے کے امکان کا ذکر ہے۔ مستقبل میں، دیگر APIs، جیسے SYCL اور NVIDIA CUDA کے لیے تعاون کے اضافے کو مسترد نہیں کیا جاتا۔

GPU RISC-V انسٹرکشن سیٹ کی بنیاد پر تیار ہوتا ہے، لیکن GPU انسٹرکشن سیٹ کے نتیجے میں داخلی فن تعمیر RISC-V ISA کے ساتھ ناقص مطابقت رکھتا ہے، کیونکہ ایسے حالات میں جہاں GPU کا ڈیزائن RISC-V کی نمائندگی میں فٹ نہیں ہوتا ہے۔ RISC-V کے ساتھ مطابقت برقرار رکھنے کا کام مقرر نہیں ہے۔ ترقی مشین لرننگ سسٹم کے لیے درکار صلاحیتوں پر مرکوز ہے، لہذا، چپ میٹرکس کے سائز اور پیچیدگی کو کم کرنے کے لیے، صرف BF16 فلوٹنگ پوائنٹ فارمیٹ استعمال کیا جاتا ہے، اور صرف فلوٹنگ پوائنٹ آپریشنز جو مشین لرننگ کی مانگ میں ہیں، جیسے exp، log، tanh اور sqrt، دستیاب ہیں۔

پہلے سے دستیاب اجزاء میں سے، GPU کنٹرولر، APU (ایکسلریٹڈ پروسیسنگ یونٹ) انٹیجر آپریشنز ("+"، "-"، "/"، "*")، فلوٹنگ پوائنٹ آپریشنز کے لیے بلاک ("+"، "*" ) اور برانچنگ یونٹ۔ ایپلی کیشنز بنانے کے لیے، LLVM پر مبنی C++ کوڈ کو مرتب کرنے کے لیے ایک اسمبلر اور معاونت پیش کی جاتی ہے۔ منصوبہ بند خصوصیات میں سے، ہدایات کا متوازی عمل، ڈیٹا کی کیشنگ اور انسٹرکشن میموری، SIMT آپریشنز (سنگل انسٹرکشن ایک سے زیادہ تھریڈ) نمایاں ہیں۔

VeriGPU پروجیکٹ Verilog زبان میں ایک کھلا GPU تیار کرتا ہے۔


ماخذ: opennet.ru

نیا تبصرہ شامل کریں