آزاد کردن قدرت پنهان کارتهای گرافیک انویدیا سری ۴۰۰۰ با ماژول لینوکس
کارتهای گرافیک انویدیا RTX ۴۰۰۰: این پروژه در واقع محدودیتهای مصنوعی اعمالشده بر هستههای تنسور را در بارهای کاری محاسباتی و هوش مصنوعی حذف میکند.
خلاصه
پروژه gpu-unlock-ada یک راهکار فنی سطح پایین برای سیستمعامل لینوکس است که محدودیتهای توان محاسباتی (Tensor Throughput) را در کارتهای گرافیک سری RTX ۴۰۰۰ انویدیا برطرف میکند. این ابزار با دستکاری فریمورک SM پیش از بارگذاری درایور اصلی، سرعت محاسبات اعشاری FP۱۶ و BF۱۶ را در کارتهایی مثل RTX ۴۰۹۰ تا ۲ برابر افزایش میدهد. این پروژه در واقع محدودیتهای مصنوعی اعمالشده بر هستههای تنسور را در بارهای کاری محاسباتی و هوش مصنوعی حذف میکند.
چالش محدودیتهای مصنوعی در سری Ada Lovelace
انویدیا در معماری Ada Lovelace (سری ۴۰۰۰)، تفاوتهای عملکردی مشخصی میان کارتهای گیمینگ و نسخههای حرفهای (Workstation) ایجاد کرده است. بسیاری از کاربران متوجه شدهاند که با وجود توان سختافزاری بالا، نرخ پردازش هستههای تنسور در بارهای کاری خاص به صورت نرمافزاری محدود شده است. برای مثال، کارت گرافیک RTX ۴۰۹۰ در حالت عادی پتانسیل کاملی را که در هستههای AD۱۰۲ وجود دارد، در اختیار کاربر قرار نمیدهد.
پروژه gpu-unlock-ada که در مخزن گیتهاب JustAResearcher توسعه یافته، این محدودیت را هدف قرار داده است. این ماژول هسته لینوکس (Kernel Module) با تغییر در رجیسترهای SM، اجازه میدهد درایور اصلی انویدیا با نرخهای محاسباتی بالاتری مقداردهی اولیه شود. در تستهای انجامشده روی نسخه ۶۱۵.۷۸.۰۸ درایور انویدیا، توان عملیاتی در محاسبات FP۱۶ از ۱۶۰.۴ ترافلاپس به ۳۲۰.۴ ترافلاپس جهش کرده است.
نتایج عملی روی مدلهای مختلف RTX
تمرکز اصلی این پروژه روی تراشه AD۱۰۲ (مدل RTX ۴۰۹۰) است، اما نسخههای آزمایشی برای سایر کارتها نیز نتایج متفاوتی داشتهاند. در کارت گرافیک RTX ۴۰۷۰ Ti SUPER با تراشه AD۱۰۳، نرخ صدور دستورات FP۱۶ از ۹۵.۰ به ۱۸۹.۹ ترافلاپس رسیده که نشاندهنده بهبودی ۹۹ درصدی در سطح تئوری است. با این حال، باید توجه داشت که این اعداد به معنای دو برابر شدن سرعت در تمام برنامهها نیست.
در بنچمارکهای واقعی cuBLAS، افزایش سرعت در محاسبات FP۱۶ بین ۱۲ تا ۳۴ درصد و در BF۱۶ حدود ۱۶ تا ۲۰ درصد گزارش شده است. نکته مهم اینجاست که این تغییرات فقط روی هستههای تنسور اثر میگذارد و محاسبات اس کالر (Scalar FP۳۲) یا اعداد صحیح (INT۸) تغییری نمیکنند. این موضوع نشان میدهد که محدودیت اعمالشده توسط انویدیا دقیقاً روی بخشهای مرتبط با آموزش و استنتاج مدلهای هوش مصنوعی متمرکز بوده است.
ملاحظات فنی و پایداری سیستمی
استفاده از این ابزار به معنای تغییر در نحوه تعامل سیستم با سختافزار در سطح فریمورک است. اگرچه این تغییرات پس از ریستهای PCIe (مانند FLR) دوام میآورند، اما همچنان به عنوان یک پروژه تجربی (Experimental) شناخته میشوند. برای مثال، در تستهای انجامشده روی RTX ۴۰۷۰ Ti SUPER، محاسبات FP۸ بهبودی نشان ندادهاند که نشاندهنده پیچیدگیهای معماری در بخشهای مختلف تراشه است.
توسعهدهندگان و پژوهشگرانی که از زیرساخت هوش مصنوعی برای آموزش مدلهای سنگین استفاده میکنند، میدانند که هر درصد افزایش کارایی در سطح سختافزار میتواند ساعتها در زمان نهایی پروژهها صرفهجویی کند. با این حال، اجرای این ماژول نیازمند دانش کار با هسته لینوکس و پذیرش ریسکهای احتمالی پایداری در بارهای کاری طولانیمدت است.
نکات کلیدی
- افزایش توان محاسباتی FP۱۶ و BF۱۶ تا ۱۰۰ درصد در سطح تئوری و حدود ۳۴ درصد در بنچمارکهای واقعی.
- پشتیبانی از کارتهای RTX ۴۰۹۰، RTX ۴۰۷۰ Ti SUPER و RTX ۴۰۶۰ Ti (نسخه ۱۶ گیگابایت).
- عدم تأثیر بر محاسبات INT۸ و FP۳۲ کلاسیک؛ تمرکز صرفاً بر هستههای تنسور است.
- نیاز به لینوکس و درایورهای نسخه ۶۰۰ به بالا برای استفاده از حداکثر پتانسیل ماژول.
منبع: github.com