شرکتهای اینتل و AMD در یک همکاری مشترک، مشخصات جدید افزونههای ACE را برای معماری x86 منتشر کردند تا شتاب پردازش هوش مصنوعی و عملیات ضرب ماتریسی افزایش یابد.
به گزارش سرویس سخت افزار تکناک، سال گذشته اینتل و AMD برای تقویت اکوسیستم x86 از طریق ابتکاری با نام «گروه مشاوره اکوسیستم x86» یا x86 Ecosystem Advisory Group با یکدیگر همکاری کردند. هدف این برنامه ارائه مجموعهای استاندارد از قابلیتها در میان معماریهای مختلف بود تا پلتفرم x86 دسترسپذیرتر، مقیاسپذیرتر و سازگار با نیازهای آینده شود. در این چارچوب چهار قابلیت کلیدی معرفی شد که شامل FRED، AVX10، ChkTag و ACE بودند.
اکنون AMD و اینتل مشخصات فنی جدید ACE با نام کامل AI Compute Extensions را منتشر کردهاند که تصویری روشنتر از قابلیتهای این ویژگی جدید در تراشههای مبتنی بر x86 ارائه میدهد.
افزونههای AI Compute Extensions یا به اختصار ACE برای معماریهای x86 طراحی شدهاند تا عملکرد ضرب ماتریسی را به شکل قابل توجهی افزایش دهند و در عین حال مقیاسپذیری و بهرهوری انرژی را نیز بهبود بخشند. همانطور که مشخص است، ضرب ماتریسی یکی از اجزای بنیادی شبکههای عصبی و مدلهای زبانی بزرگ در پردازشهای هوش مصنوعی به حساب میآید.
در حال حاضر افزونههای SIMD مانند AVX10 نیز قادر به انجام عملیات ضرب ماتریسی هستند، اما از نظر مقیاسپذیری و چگالی محاسباتی محدودیتهایی دارند. روشهایی مانند Accelerated Matrix Multiplication میتوانند عملکرد بالاتری ارائه دهند، اما این رویکرد از نظر بهرهوری چندان بهینه محسوب نمیشود. هدف گروه EAG این است که با استفاده از ACE این مشکل را حل کند و در عین ارائه شتابدهی برای ضرب ماتریسی، انعطافپذیری و مقیاسپذیری بیشتری نیز فراهم شود.

افزونههای ACE مجموعهای از عملیات پایه برای ضرب ماتریسی تعریف میکنند که کدهای AVX و کدهای اسکالر را با قابلیتهای جدید تقویت میکنند. این قابلیتها شامل موارد زیر هستند:
- وضعیت رجیسترهای ACE که شامل رجیسترهای tile و block scale میشود
- عملیات پردازش داده که از ورودی رجیسترهای AVX استفاده و روی وضعیت رجیسترهای tile عمل میکنند
- عملیات جابهجایی داده برای انتقال اطلاعات میان رجیسترهای ACE و رجیسترهای AVX
- وضعیتها و عملیات مرتبط با مدیریت سیستم
ACE یکپارچگی نزدیکی میان بردارهای AVX و رجیسترهای tile در ACE ایجاد میکند و در نتیجه عملیات پردازشی با چگالی محاسباتی بالا در قالب پردازش tile با قابلیتهای گسترده پردازش داده در AVX ترکیب میشوند.
علاوه بر شتابدهی ضرب ماتریسی، مجموعهای از عملیات اختصاصی برای تبدیل فرمت داده نیز در چارچوب AVX10 ارائه شده است.
این مشخصات جدید در واقع افزونههایی برای معماری x86 تعریف میکنند که با هدف تسریع وظایف محاسباتی طراحی شدهاند و در مرحله نخست بر هستههای ضرب ماتریسی و قالبهای داده با دقت کاهشیافته تمرکز دارند؛ قالبهایی که برای بارهای کاری یادگیری ماشین اهمیت زیادی دارند.
افزونههای معرفیشده از چندین فرمت داده مختلف پشتیبانی میکنند. این پشتیبانی میتواند شامل فرمتهای بومی برای عملیاتهایی مانند ضرب ماتریسی، قابلیت مقیاسدهی برای عملیاتهای سبک OCP MX، فرمتهای تجمع داده و تبدیل میان فرمتهای مختلف باشد. در آینده ممکن است پشتیبانی از فرمتهای داده بیشتری نیز به این مجموعه اضافه شود.
فرمتهای داده پشتیبانیشده شامل موارد زیر هستند:
- INT8: عدد صحیح ۸ بیتی
- INT32: عدد صحیح ۳۲ بیتی
- FP32: فرمت SE8M23 مطابق استاندارد IEEE‑754
- BF16: فرمت SE8M7
- FP16: فرمت SE5M10
- E8M0: نمای بدون علامت ۸ بیتی که برای فرمتهای مقیاس بلوکی توان دو استفاده میشود
- FP8: فرمت ممیز شناور ۸ بیتی مطابق مشخصات OCP برای FP8 و استاندارد Microscaling Formats
- MX FP8: فرمتهای ممیز شناور ۸ بیتی شامل SE5M2 و SE4M3
- MX FP6: فرمتهای ممیز شناور ۶ بیتی شامل SE3M2 و SE2M3
- MX FP4: فرمت ممیز شناور ۴ بیتی SE2M1
- MX INT8: فرمت کسری ثابت ۸ بیتی
بر اساس گزارش Wccftech، افزونه ACE تنها یکی از گامها در مسیر آینده معماری x86 محسوب میشود. پیشتر نیز درباره افزونههای APX یا Advanced Performance Extensions صحبت شده بود که انتظار میرود نقش مهمی در توسعه تراشههای نسل بعدی مبتنی بر معماری x86 ایفا کنند. این پیشرفتها احتمالا در نسلهای آینده پردازندهها به کار گرفته خواهند شد.

















