این صفحه به‌وسیله ‏Cloud Translation API‏ ترجمه شده است.
Switch to English

MLIR

بررسی اجمالی

MLIR یا نمایندگی چند سطحی Intermediate ، یک قالب نمایندگی و کتابخانه از ابزارهای کامپایلر است که بین نمایندگی مدل و کامپایلرها / مجریان سطح پایین که کد ویژه سخت افزاری را تولید می کنند ، قرار دارد.

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

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

ما انتظار داریم که MLIR مورد توجه بسیاری از گروه ها باشد ، از جمله:

  • محققان و مجریان کامپایلر به دنبال بهینه سازی عملکرد و مصرف حافظه مدل های یادگیری ماشین هستند
  • سازندگان سخت افزار به دنبال راهی برای اتصال سخت افزار خود به TensorFlow مانند TPU ها ، سخت افزار عصبی قابل حمل در تلفن ها و سایر ASIC های سفارشی
  • افرادی که نوشتن پیوندهای زبانی را می خواهند از بهینه سازی کامپایلرها و شتاب سخت افزاری استفاده کنند.

اکوسیستم TensorFlow شامل تعدادی کامپایلر و بهینه ساز است که در چندین سطح نرم افزار و پشته سخت افزاری کار می کنند. ما انتظار داریم تصویب تدریجی MLIR هر جنبه ای از این پشته را ساده تر کند.

نمودار مروری MLIR