
نسخه جدید IREE با شماره 3.12 منتشر شد؛ IREE یک محیط اجرای بازنمایی میانی (Intermediate Representation Execution Environment) برای کامپایلر و زمان اجرای سرتاسری مبتنی بر MLIR است که مدلهای یادگیری ماشین را به یک IR یکپارچه تبدیل میکند و روی پشتههای سختافزاری و درایوری مختلف اجرا میشود. مهمترین تغییر این نسخه، بازنویسی کد Vulkan آن است.
بازنویسی درایور Vulkan و پشتیبانی از سختافزارهای تازه
بن ونیک (Ben Vanik)، مهندس AMD، لایه انتزاع سختافزاری Vulkan (Vulkan HAL) را بازنویسی کرده است؛ نسخهای که به گفته منبع، بسیار بهبودیافتهتر از درایور Vulkan پیشین IREE محسوب میشود. این کد جدید بر Vulkan 1.3 تمرکز دارد و از مسیرهای صف بومی (native queue paths)، توصیفگرهای فشاری (push descriptors) و ABI ارسال بدون توصیفگر مبتنی بر آدرس دستگاه بافر (descriptor-free buffer device address dispatch ABI) پشتیبانی میکند.
با این مسیر جدید Vulkan، پردازنده گرافیکی Broadcom VideoCore VII که در رزبری پای (Raspberry Pi) استفاده میشود پشتیبانی میشود. همچنین Arm Mali نسل پنجم و LLVMpipe نیز به فهرست پشتیبانی اضافه شدهاند.
درایور آزمایشی HSA برای AMD
در بخش AMD، نسخه 3.12 یک درایور بومی HSA HAL جدید را معرفی میکند که آزمایشی و اختیاری (opt-in) است. این یک بکاند مستقیم HSA/ROCR است که از صفهای HSA و بستههای AQL استفاده میکند. جزئیات بیشتر درباره آن در یک درخواست ادغام (pull request) منتشر شده است.
بهبود بکاند CPU و اهداف کامپایلر
IREE 3.12 همچنین بازنویسی مسیر اجرا برای بکاند CPU را به همراه دارد. در کد کامپایلر نیز اهداف کامپایلر Ada و Blackwell برای NVIDIA و همچنین جزئیات تراشههای AMD CDNA5/MI455X و RDNA3 اضافه شده است.
جزئیات بیشتر درباره این انتشار بزرگ IREE 3.12 از طریق GitHub در دسترس است.