أعلن مشروع VeriGPU عن تطوير GPU مفتوح

المشروع كشف النقاب عن VeriGPU قبل بضعة أيام بدأ العمل على تطوير GPU مفتوح ، التي تهدف إلى تطوير لغة النمذجة ووصف الأنظمة الإلكترونية فيريلوج.

بالنسبة لأولئك الذين ليسوا على دراية بـ VeriGPU ، يجب أن تعلم أنه تم وضعه كمعالج خاص بالتطبيق (ASIC) محسّن لتسريع العمليات الحسابية المتعلقة بأنظمة التعلم الآلي.

طريقة للبدء ، يتم تطوير المشروع باستخدام محاكي Verilog ، ولكن بعد أن تصبح جاهزة ، يمكن استخدامها لإنتاج رقائق حقيقية.

تتضمن الخطط دعمًا لإطار عمل التعلم العميق PyTorch والقدرة على تطوير تطبيقات VeriGPU باستخدام HIP (واجهة الحوسبة غير المتجانسة) API. في المستقبل ، لا يتم استبعاد دمج دعم واجهات برمجة التطبيقات الأخرى ، مثل SYCL و NVIDIA CUDA.

من المهم ذكر ذلك يهدف تطوير وحدة معالجة الرسومات هذه بشكل مباشر إلى تدريب التعلم الآلي. لذلك يجب أن يدعم بشكل مثالي أطر التعلم الآلي الحالية مثل PyTorch و Tensorflow ، وهذا يعني أنه من شبه المؤكد أنه يحتاج إلى دعم NVIDIA CUDA أو AMD HIP.

على الرغم من ذكر ذلك أيضًا أعلم أنه يمكنني تنفيذ واجهة OpenCL أو SYCL، على الرغم من أن الدعم لأطر العمل الرئيسية محدود حاليًا. يوجد إطار عمل OpenCL مخصص للتعلم العميق في DeepCL ، ولكنه يحتوي على مجموعة محدودة نسبيًا من طبقات الشبكة العصبية وطبولوجيا الشبكة المحتملة ، مقارنةً بـ PyTorch و Tensorflow.

في الوقت الحالي ، لا ننوي تنفيذ تنفيذ خارج الترتيب ، أي بدء تعليمات واحدة قبل بدء التعليمات السابقة ، لأن هذا أمر صعب في سيناريو تعليمة واحدة متعددة مؤشرات الترابط (SIMT) ، ولأن هذا لا يستخدم النوى مساحة أكبر. ، وبالتالي عدد أقل (أو أكثر تكلفة).

من ناحية أخرى ، سنقوم بتنفيذ التعليمات الموازية ، حيث نبدأ التعليمات بينما لا تزال التعليمات السابقة قيد التنفيذ. هذا قياسي وخفيف الوزن إلى حد ما ، ولا يشغل مساحة كبيرة جدًا.

لا يتم تنفيذ أي تخزين مؤقت من أي نوع (لا يوجد مستوى 1 ، لا يوجد مستوى 2 ، لا يوجد مستوى 3 ، ولا حتى التخزين المؤقت للتعليمات: P). نظرًا لأنني أنوي إنشاء وحدة معالجة الرسومات (GPU) ، التي تحتوي على آلية ذاكرة تخزين مؤقت مختلفة عن وحدة المعالجة المركزية (CPU) ، فسوف أفكر في هذا بمجرد أن تبدأ في الظهور مثل وحدة معالجة الرسومات (GPU).

تتطور وحدة معالجة الرسومات بناءً على مجموعة تعليمات RISC-V، ولكن بنية مجموعة تعليمات GPU الداخلية الناتجة غير متوافقة بشكل جيد مع RISC-V ISA ، لأنه في المواقف التي لا يتوافق فيها تخطيط GPU مع عرض RISC-V ، بالإضافة إلى عدم تعيين مهمة الحفاظ على التوافق مع RISC-V .

منذ التطوير يركز على القدرات المطلوبة لأنظمة التعلم الآليلذلك ، لتقليل حجم وتعقيد صفيف الرقاقة ، يتم استخدام تنسيق النقطة العائمة BF16 فقط ، ولا يتم استخدام سوى عمليات الفاصلة العائمة المطلوبة للتعلم الآلي ، مثل exp و log و tanh و sqrt متوفر.

من بين المكونات المتوفرة بالفعل ، على سبيل المثال ، برنامج تشغيل GPU ، APU (وحدة المعالجة السريعة) لعمليات عدد صحيح («+» ، »-« ، »/» ، »*») ، وحدة لعمليات الفاصلة العائمة («+» ، »*») ووحدة فرعية ، بالإضافة إلى دعم مترجم HIP.

لإنشاء التطبيقات يتم توفير المجمع ودعم تجميع كود C ++ على أساس LLVM. من الميزات المتوقعة ، التنفيذ المتوازي للتعليمات ، التخزين المؤقت للبيانات وذاكرة التعليمات ، عمليات SIMT (تعليمات فردية متعددة الخيوط) تبرز.

وأخيرا، إذا كنت مهتمًا بمعرفة المزيد عنها حول تطوير GPU مفتوح المصدر ، يجب أن تعلم أن تطوير المشروع يتم توزيعه بموجب ترخيص MIT ويمكنك الرجوع إلى الكود ، بالإضافة إلى تقدم المشروع من الرابط التالي.


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: AB Internet Networks 2008 SL
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.