چکیده
1- مقدمه
2- چارچوب جستجوی ما
3- ارزیابی یک نقطه طراحی
4- آزمایشات
5- کار مرتبط
6- نتیجه گیری
منابع
چکیده
افزایش استفاده از الگوریتم های یادگیری ماشین، مانند شبکه های عصبی پیچشی (CNNها)، باعث می شود که روش شتابدهنده های سخت افزاری بسیار جالب باشد. اما، به سوالی در مورد چگونه طراحی بهتر یک شتابدهنده برای یک CNN مورد نظر، حتی در یک سطح بنیادی هنوز پاسخ داده نشده است. این مقاله این چالش را با فراهم کردن یک چارچوب جدید که می تواند بطور جهانی و دقیق انتخاب های معماری مختلف برای شتابدهنده های CNN در FPGAها را ارزیابی و جستجو کند رفع می¬کند. چارچوب جستجوی ما گسترده تر از هر کار قبلی برحسب فضای طراحی است و منابع FPGA مختلف را برای بیشینه سازی عملکرد شامل منابع DSP، پهنای باند حافظه درون تراشه و حافظه بیرون تراشه درنظر می گیرد. نتایج تجربی ما با استفاده از بزرگترین مدل¬های CNN شامل مدلی که 16 لایه پیچشی دارد کارآمدی چارچوب ما و همچنین نیاز به چنین روش جستجوی معماری سطح بالا برای یافتن بهترین معماری برای یک مدل CNN را نشان می دهد.
چارچوب جستجوی ما
مرور شتابدهنده
مدل شتابدهنده ما شامل یک آرایه محاسبه و سه بافر درون تراشه بصورت نشان داده شده در شکل 2 است. یک آرایه محاسبه یک آرایه از عناصر محاسبه است که کم و بیش بلوک های همگن شامل ضرب کننده ها و جمع کننده ها هستند. در این مقاله، از جملات آرایه محاسبه و آرایه MAC استفاده می کنیم. یک آرایه محاسبه محاسبه بدنه حلقه کرنل تعمیم یافته درامتداد برخی ابعاد فضای تکرار را اجرا می کند. مجموعه این ابعاد شکل یک آرایه محاسبه نامیده می شود، که ساختار داخلی آرایه محاسبه را دیکته می کند.
انتقال داده
اندازه بافر و استفاده از SRAM موثر: اغلب یک تبادلی بین اندازه بافر فیزیکی و پهنای باند وجود دارد. اگر بتوانیم بافرهای درون تراشه بیشتری را استفاده کنیم نیازمندی پهنای باند می تواند کاهش پیدا کند. بنابراین درحالیکه بیشتر کارهای قبلی به جز [6] بیشینه سازی استفاده از حافظه درون تراشه را درنظر نگرفتند، بهینه سازی اندازه بافر می تواند برای دستیابی به بالاترین عملکرد حیاتی باشد.