سفارش تبلیغ
صبا ویژن

قرار دادن شتاب دهنده های سخت افزاری برای کار با ترجمه خودکار کد

تکنیک جدیدی که توسط محققان دانشگاه میشیگان ساخته شده است می تواند تصویب گسترده تر قطعات محاسباتی قانون پس از مور را از طریق ترجمه خودکار کد امکان پذیر کند. این سیستم با نام AutomataSynth به مهندسان نرم افزار اجازه می دهد تا بدون دانش برنامه نویسی تخصصی یا نیاز به بازنویسی کد قدیمی و CPU محور ، قدرت شتابدهنده های سخت افزاری مانند FPGA را تحت تأثیر قرار دهند.

 

 

با نزدیک شدن به قانون مور ، شرکت ها و طراحان به تعدادی از تکنیک های سخت افزاری تکیه می کنند تا بازده کاهش یافته ارائه شده توسط CPU های جدید را دور بزنند. در میان نامزدهای بسیار مؤثر در کوتاه مدت ، شتابدهنده های سخت افزاری مانند آرایه های دروازه قابل برنامه ریزی درست (FPGAs) وجود دارد که می تواند به اجرای سریع عملکردهای مشترک خاص و از بین بردن تنگناها در برنامه های بزرگتر اختصاص یابد.

 

در حالی که پذیرش آنها توسط شرکتهایی مانند مایکروسافت و خدمات وب آمازون در حال حاضر به خوبی انجام شده است ، FPGA با استفاده از برنامه نویسی مورد نیاز محدود برای بسیاری از توسعه دهندگان نرم افزار محدود است . این الزامات همچنین استفاده از آنها را بر روی نرم افزار میراث از قبل موجود محدود می کند ، که به طور معمول برای کار با پردازنده های خاص نوشته شده است.

 

امروزه بیشتر برنامه هایی که در حال استفاده هستند باید کاملاً در سطح بسیار پایین بازنویسی شوند تا از مزایای شتاب سخت افزاری استفاده کنند. به همین دلیل ، قطعات سریعتر از آنچه در واقع مورد استفاده قرار می گیرند نصب می شوند.

 

کوین آنگستاد ، دکتری دانشگاه می گوید: "شرکت ها در تلاشند تا [FPGAs] را برای مردم نزدیکتر کنند." کاندیدای پیشرو پروژه ، "اما وقتی نوبت به نوشتن برنامه های جدید می رسد ، این روند هنوز بسیار ابتدایی است."

 

این تیم که شامل پروفسورها نیز می شود. Westley Weimer و Jean-Baptiste Jeannin سعی داشتند با بازنویسی خودکار برخی از توابع سطح پایین که توسط بسیاری از برنامه های بزرگتر استفاده می شود ، موانع تصویب را از بین ببرد. با اجرای مقیاس ، این بدان معنی است که توسعه دهندگان می توانند با افزودن چند خط به کد موجود خود ، از FPGA ها کاملاً استفاده کنند - بدون نیاز به بازنویسی.

 

Angstadt فرایند را با سازگاری واحدهای پردازش گرافیکی (GPU) با محاسبات هدف کلی مقایسه می کند ، که در ابتدا توسط پلت فرم CUDA NVIDIA فعال شده است. CUDA رابط کاربری را در اختیار توسعه دهندگان قرار می دهد که از طریق آن می توانند قدرت پردازشی یک پردازنده گرافیکی گرافیکی را بر روی کارهای غیر گرافیکی قرار دهند.

 

 

اعتبار: دانشگاه میشیگان

آنگستاد می گوید: "هدف این کار انجام دادن کاری مشابه با FPGA ها بود." "شما فقط نمی توانید هنگام استفاده از آنها به همان زبان بنویسید ، اما ما می توانیم توهم نوشتن را به همان زبان به شما بدهیم."

 

 

 

محققان برای دستیابی به این هدف از تکنیکی بنام یادگیری خودکار محدود استفاده کردند. این تکنیک از ترکیبی از تجزیه و تحلیل برنامه های مختلف برای تولید یک دستگاه حالت استفاده می کند که هم از نظر عملکرد با کد اصلی معادل است و هم با FPGA ها قابل شتاب است. در اصل ، سیستم آنها کدی را که داده شده ، می خواند ، کارکرد کد را می آموزد و توضیحی سخت افزاری از این رفتار برای ارسال به شتاب دهنده می نویسد.

 

در مقاله ارائه شده در مورد کار ، آنها تکنیک خود را در یک کلاس از توابع ، هسته های رشته ای ، که عملیات جستجو و مقایسه انجام شده بر روی متن هستند ، نشان دادند.

 

انگستاد می گوید: "هر زمان که از طریق یک متن متنی را جستجو کنید ، از یکی از ابتدایی ترین اشکال این هسته های رشته ای استفاده می کنید." اما آنها می توانند بسیار پیچیده تر باشند - این کارکردها برای کاربردهای متنوعی مانند تشخیص اسپم ، آنالیز ژنتیکی ، توصیه های محصول و فیزیک ذرات اساسی هستند.

 

در حال اجرا AutomataSynth در یک مجموعه معیار از توابع رشته های دنیای واقعی است که برای کار با CPU ها نوشته شده است ، این تیم دریافتند که در 72? موارد قادر به یادگیری طراحی سخت افزاری کاملاً معادل و در 11? دیگر تقریب است.

 

استفاده از این تکنیک در سایر کلاسهای توابع یک مشکل باز برای کارهای بعدی است ، اما Angstadt اطمینان دارد که می توان آن را به طور گسترده استفاده کرد.