HPVM یک کامپایلر مبتنی بر LLVM برای پردازنده ، GPU ، FPGA و شتاب دهنده ها است

توسعه دهندگان پروژه LLVM منتشر شد اخیراً کامپایلر ناهمگن موازی ماشین مجازی را منتشر کرده است (HPVM) 1.0، که هدف برنامه نویسی را برای سیستم های ناهمگن ساده کرده و ابزارهای تولید کد برای شتاب دهنده های CPU ، GPU ، FPGA و سخت افزار را فراهم می کند دامنه خاص (پشتیبانی از FGPA و شتاب دهنده ها در نسخه 1.0 موجود نبود).

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

برنامه نویسی برای سیستم های موازی ناهمگن با حضور در یک سیستم از اجزای سازنده (هسته های پردازنده ، دستورالعمل های برداری ، GPU ها و غیره) که از مدل های مختلفی برای دستیابی به موازی کاری ، مجموعه دستورالعمل های مختلف و سلسله مراتب مختلف حافظه استفاده می کنند ، پیچیده است و هر سیستم ترکیبی از چنین م componentsلفه هایی در حال تغییر است.

گروه تحقیقاتی کامپایلر LLVM Illinois خوشحال است که از انتشار منبع آزاد HPVM (نسخه 1.0) خبر می دهد. HPVM یک چارچوب کامپایلر جهت دهی مجدد CPU ها ، GPU ها و شتاب دهنده ها است (این نسخه شامل پشتیبانی شتاب دهنده نیست) [1]. HPVM از یک کامپایلر مستقل از هدف استفاده می کند که با استفاده از نمایانگر جریان سلسله مراتبی آشکار IR ، کامپایلر LLVM 9.0.0 را گسترش می دهد که وظایف ، داده ها و موازی سازی خطوط را ضبط می کند.

این نسخه علاوه بر مهم نسخه اول ما (نسخه 0.5) است که پشتیبانی از عملیات کششی جبر خطی ، رابط های Pytorch و Keras ، تقریب برای اپراتورهای کانولوشن و یک چارچوب کارآمد و انعطاف پذیر را برای اتصالات تقریب اضافه می کند. 

لازم به ذکر است که استفاده از HPVM می تواند به پیشرفت های چشمگیری در عملکرد دست یابد پس از eعملکرد خروجی مترجمان HPVM با کد OpenCL قابل مقایسه است دست نوشته شده برای پردازنده های گرافیکی و دستگاه های محاسبات برداری. برخلاف سایر سیستم ها ، HPVM تلاش کرد تا سه امکان را برای سازماندهی محاسبات ناهمگن ترکیب کند: نمایش متوسط ​​و مستقل از زبان و سخت افزار ، معماری مجموعه دستورالعمل های مجازی (V-ISA) و برنامه نویسی زمان اجرا.

نمایندگی میانی مستقل (IR) سیستم هدف و زبان برنامه نویسی مورد استفاده در HPVM براساس نمایش متوسط ​​دستورالعمل های LLVM 9.0 است و آن را با نمودار سلسله مراتبی جریان داده گسترش می دهد تا موازی کاری در سطح کار ، داده و خطوط لوله محاسباتی را پوشش دهد.

واسطه HPVM همچنین شامل دستورالعمل های برداری و حافظه مشترک است. هدف اصلی استفاده از نمایش متوسط ​​، تولید کارآمد کد و بهینه سازی برای سیستم های ناهمگن است.

معماری مجموعه دستورالعمل های مجازی (V-ISA) ویژگی های سخت افزاری سطح پایین را خلاصه می کند و اشکال مختلف موازی سازی و معماری حافظه را تنها با استفاده از مدل اصلی همزمانی ، نمودار جریان داده ، متحد می کند. V-ISA امکان دستیابی به قابلیت حمل بین انواع مختلف تجهیزات محاسباتی موازی را فراهم می کند و باعث می شود هنگام استفاده از عناصر مختلف سیستم های ناهمگن عملکرد از دست نرود. همچنین می توان از ISA مجازی برای تهیه کد برنامه اجرایی جهانی استفاده کرد که می تواند با استفاده از CPU ، GPU ، FPGA و شتاب دهنده های مختلف اجرا شود.

در مرحله فعلی توسعه ، HPVM مولدهای کدی را ارائه می دهد که قادر به ترجمه گره های برنامه تعریف شده توسط ISA هستند مجازی برای استفاده با استفاده از GPU های NVIDIA (cuDNN و OpenCL) ، دستورالعمل های برداری Intel AVX و پردازنده های مرکزی چند هسته ای x86. }

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

در مقایسه با اولین نسخه پیش نمایش ، HPVM 1.0 شامل پشتیبانی از عملیات تانسور جبر خطی ، رابط های Pytorch و Keras و یک چارچوب تنظیم تقریب که به طور خودکار تقریب های بهینه را برای برخی از عملکردهای تنسور انتخاب می کند و تنظیماتی را برای عملکرد مطلوب انتخاب می کند.

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


محتوای مقاله به اصول ما پیوست اخلاق تحریریه. برای گزارش یک خطا کلیک کنید اینجا.

اولین کسی باشید که نظر

نظر خود را بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخشهای موردنیاز علامتگذاری شدهاند با *

*

*

  1. مسئول داده ها: میگل آنخل گاتون
  2. هدف از داده ها: کنترل هرزنامه ، مدیریت نظرات.
  3. مشروعیت: رضایت شما
  4. ارتباط داده ها: داده ها به اشخاص ثالث منتقل نمی شوند مگر با تعهد قانونی.
  5. ذخیره سازی داده ها: پایگاه داده به میزبانی شبکه های Occentus (EU)
  6. حقوق: در هر زمان می توانید اطلاعات خود را محدود ، بازیابی و حذف کنید.