

يوفر وجود FPGAs (صفائف بوابة قابلة للبيئة) في مركز البيانات إمكانات هائلة لنماذج حسابية جديدة ومثيرة. ولكن ، بالنسبة لهذا النظام الإيكولوجي الناشئ ، نحتاج إلى البنية التحتية لتطوير مسرعات الأجهزة المخصصة لهذه المنصات ودمجها مع تطبيقات الويب والبنية التحتية السحابية. يجلب Framework الأول CLAAS Cloud FPGAs في متناول مجتمع المصدر المفتوح والشركات الناشئة والجميع.
يوفر هذا ReadMe نظرة عامة على المشروع. المستندات التالية متاحة أيضا. بعد هذه القراءة ، احصل على يدوي مع البدء .
للتنمية المحلية:
لتحسين ونشر نواةك المخصصة باستخدام AWS F1 مع أدوات Xilinx.

باستخدام CLAAS الأول ، يمكنك دفق البتات مباشرة من وإلى kernel FPGA المخصصة باستخدام بروتوكولات الويب القياسية (WebSockets أو REST). في أبسط حالة استخدام ، جميع البرامج هي من جانب العميل في متصفح الويب ، ويتم تطبيق جميع منطق الخادم وتخزين البيانات في FPGA. تستخدم kernel واجهة بسيطة للغاية لدفق البيانات ، ويمكن تطويرها في Verilog (أو أي لغة يمكن تجميعها إلى Verilog).
1st CLAAS مثالية لتنفيذ الوظائف في الأجهزة التي يتم حسابها ولكنها تتحمل زمن انتقال الإنترنت والقطاع النطاق. يمكن للتطبيقات التي تتطلب تقسيمًا أكثر تطوراً للمسؤوليات تمديد رمز C ++ المضيف أو خادم الويب Python لمعالجة البيانات بين تطبيق الويب و FPGA.
قد تتضمن مجالات التطبيق الممكنة:
قد يكون طلبك:
يدعم 1st CLAAS تطوير نواة الأجهزة باستخدام أدوات مجانية ومفتوحة المصدر على Linux (Ubuntu و Centos ، حاليًا). يستهدف النشر حاليًا مثيلات Amazon F1 FPGA. نرحب بالمساهمات لتمديد CLAAs الأولى إلى منصات أخرى وأنظمة التشغيل.
يتكون تطبيق الويب المتسارع للأجهزة باستخدام هذا الإطار من:

يتم إرسال البيانات من تطبيق عميل الويب في قطع 512 بت (حاليًا). يستدعي JavaScript طريقة إرسال ويتلقى بيانات من kernel المخصصة في رد اتصال. يحتوي kernel المخصص على واجهة تدفق بسيطة مع ناقل 512bit من بيانات الإدخال وحافلة 512 بت لبيانات الإخراج. يسافر البيانات من JavaScript:
أداء الاتصال ليس هو التركيز حاليًا. يتم حساب التطبيقات المناسبة تمامًا لهذه الهندسة المعمارية بطبيعتها ، لذلك غالبًا ما يكون التواصل الأمثل غير مهم ، ولكن يمكن تحسين التنفيذ مع ظهور الحاجة.
في الحالة البسيطة ، يمكنك تقديم المكونات الخضراء فقط في الرسم البياني أعلاه ، ويتم تنفيذ جميع المعالجة المخصصة للبيانات بواسطة kernel المخصصة. ولكن يمكن تمديد تطبيق مضيف C ++/Opencl و/أو خادم الويب Python حسب الرغبة.
قبل هذا المشروع ، كان دمج تسريع أجهزة FPGA مع تطبيقات الويب والسحابة بمثابة تعهد شاق يتطلب:
من خلال توفير خادم الويب ، ورمز التطبيق المضيف ، و kernel shell منطق لدفق البيانات بين تطبيق الويب و fpga kernel وكذلك أتمتة إنشاء مثيل السحابة والتكوين ، يقلل CLAAs الأول من عملك إلى:
[CC BY-SA 2.0 ، LUMAXART ، تم تعديله]
يتم تقليل النفقات العامة لتطوير البنية التحتية من عدة أشهر من الأشخاص إلى ساعات.
عند النظر إلى منصة Amazon F1 على وجه التحديد ، يوفر F1 أدوات تطوير Xilinx FPGAs و Xilinx القوية على أساس الدفع لكل استخدام ، وهو أمر مقنع تمامًا. لكن المنصة هي حافة تنزف وتتطلب خبرة كبيرة لاستخدامها. كانت تجربتنا مع هذه المنصة مؤلمة إلى حد ما (ومكلفة إلى حد ما) لعدة أسباب:
كان علينا أن نمر بهذا الألم ، لكننا جمعنا عملنا حتى لا تضطر إلى ذلك.
لتبسيط التطوير ، تقليل التكلفة ، وتجنب أي اعتماد على منصة F1 ومكدس أدوات Xilinx ، فإننا ندعم التطوير على جهازك المحلي حيث يتم محاكاة النواة مع محاكاة RTL باستخدام محاكاة RTL Open-Open Open. أدوات AWS و Xilinx مطلوبة فقط لتحسين ونشر kernel. كمكافأة إضافية ، تعمل محاكاة Verilator بشكل كبير (~ 100x؟!) بشكل أسرع من المحاكاة باستخدام "تدفق مضاهاة الأجهزة Xilinx" ، ويرجع ذلك جزئيًا إلى أن Verilator سريع وجزئي لأننا نحاكي فقط النواة المخصصة ، بما في ذلك منطق الصدفة المحيط بال kernel.
إن تقليل المشكلة في تطوير الويب و RTL ليس خط النهاية بالنسبة لنا. 1st Claas هي جزء من جهد أوسع لإعادة تعريف صناعة السيليكون وجلب السيليكون إلى الجماهير. تجاوز تعقيدات نمذجة RTL هو جزء من ذلك. 1st Claas مدفوعة من قبل أنصار متعطشين من TL-Verilog ، بالاشتراك مع Redwood EDA. يقدم TL-Verilog تحولًا في منهجية تصميم الدوائر الرقمية التي تمس الحاجة إليها مع بنيات نمذجة أبسط وأكثر قوة. 1st Claas لا يرتبط بأي حال من الأحوال بـ TL-Verilog. يمكنك استخدام Verilog/SystemVerilog أو أي لغة وصف للأجهزة يمكن تحويلها إلى Verilog. ولكن يتم دعم ملحقات TL-Verilog lnguage خارج الصندوق ، ونشجعك بشدة على الاستفادة منها ومساعدتنا على دفع هذا الابتكار إلى الأمام. يوفر Redwood EDA IDE مجاني عبر الإنترنت لتطوير TL-Verilog على Makerchip.com. يمكنك العثور على مواد تدريب في IDE. اقرأ القصة الأكثر إكمالًا من مؤسس Redwood EDA ، ستيف هوفر.
من الناحية التجارية ، يتم استخدام CLAAS الأول من قبل Radeputer ، Inc. لتوفير تصنيف ديناميكي لبيانات البث.
1st Claas يعرض Fractals Renders Fractals for fractalvalley.net.
يعمل هذا المستودع بشكل عام ، وينتهي دفعة التطوير الأولية.
أي شيء وكل شيء يخضع للتغيير في هذه المرحلة ، خاصة فيما يتعلق بالواجهة التي يوفرها إطار التطبيقات للبناء عليها. لذلك ، يجب أن تبني على إصدار معين من الإطار وتتوقع القيام ببعض التصحيح إذا اخترت الترقية عن طريق السحب من Master.
هممم ... لم نفكر الكثير بعد. فقط قل شيئًا لطيفًا ، وسنكون سعداء.
جميع العلامات التجارية المذكورة في هذا المستودع هي ملك لأصحابها.