پرش به محتوای اصلی
پرش به محتوای مقاله

درون سازوکار TileGym: انویدیا چگونه ترجمه کرنل‌های GPU را خودکار کرد

·۱۱ اردیبهشت ۱۴۰۵۳ دقیقه مطالعه
درون سازوکار TileGym: انویدیا چگونه ترجمه کرنل‌های GPU را خودکار کرد
اشتراک‌گذاری

تصور کنید یک اشتباه کوچک در شماره‌گذاری (Indexing)، کل مجموعه داده‌های شما را بدون هیچ هشدار کامپایلی نابود کند. اگر هنوز برای پورت کردن کدهای GPU به بازنویسی دستی تکیه می‌کنید، باید بدانید که دوران ریسک‌های مرگبار در کدنویسی سطح پایین در حال پایان است.

انویدیا (NVIDIA) در ۳۰ آوریل ۲۰۲۶ سیستمی را معرفی کرد که با استفاده از عامل‌های هوش مصنوعی (AI Agents)، فرآیند انتقال کرنل‌ها از cuTile Python به cuTile.jl را کاملاً خودکار می‌کند. به نقل از وب‌سایت developer.nvidia.com، چالش اصلی در این مسیر، شکاف معنایی بین این دو زبان تخصصی است. در حالی که هر دو از انتزاع کاشی‌بندی شده استفاده می‌کنند، اما در نقاط حیاتی متفاوت‌اند: پایتون از شماره‌گذاری صفر-پایه و چیدمان سطر-محور استفاده می‌کند، در حالی که جولیا (Julia) بر پایه شماره‌گذاری یک-پایه و چیدمان ستون-محور است.

یک مدل زبانی بزرگ (Large Language Model) معمولی معمولاً این تفاوت‌های ظریف را نادیده می‌گیرد و منجر به نتایجی می‌شود که کامپایلر قادر به تشخیص آن‌ها نیست. برای حل این مشکل، تیم انویدیا یک مخزن دانش ساختاریافته در TileGym ایجاد کرد. این «مهارت» صرفاً یک پرامپت ساده نیست، بلکه مجموعه‌ای از دارایی‌های تخصصی است:

  • قوانین حیاتی: فهرستی از ۱۷ تله رایج و روش‌های اصلاح آن‌ها در مورد پخش (Broadcasting) و فرم‌های حلقه.
  • نگاشت‌های API: جداول دوطرفه‌ای برای تبدیل توابع پایتون به معادل‌های جولیا (مثلاً تبدیل ct.mma به muladd).
  • اعتبارسنج Static: یک اسکریپت پایتون که الگوهای ضدبنیاد (Anti-patterns) را پیش از اجرای کد روی GPU شناسایی می‌کند.

A six-step workflow laid out left to right for producing a reusable GPU kernel, with labeled stages: Analyze Source Kernel, Load Rules and API Mappings, Reference Worked Examples, Generate CuTile.jl Kernel, Validate and Test, and Produce Reusable Output.

بر اساس مستندات این پروژه، این رویکرد سیستماتیک، تلاش‌های دستی را به یک جریان کاری تکرارپذیر تبدیل کرده است. برای مثال، در تبدیل یک عملیات ضرب ماتریس‌های عمومی (GEMM)، این عامل تنها در ۴ دقیقه و با مصرف ۷۸ هزار توکن، کار را بدون هیچ دخالت انسانی به پایان رساند. در پوشش پیشین ما از معماری‌های محاسباتی، دیدیم که چگونه مدیریت حافظه در سطح پایین، گلوگاه اصلی عملکرد است و حالا انویدیا با این ابزار، این گلوگاه را با هوش مصنوعی زاینده (Generative AI) می‌شکند.

این پروژه با موفقیت سه کرنل اصلی شامل جمع برداری، ضرب ماتریسی و Softmax را پورت کرد و نتایج آن‌ها با دقت کامل در برابر مراجع CPU تایید شد. انویدیا با کدگذاری تخصص دامنه در سیستم کنترل نسخه (Version Control) به جای تکیه بر مهندسی پرامپت (Prompt Engineering)، نشان داد که چگونه می‌توان کدهای سیستمی دقیق را در محیط‌هایی تولید کرد که کامپایلرهای سنتی در تشخیص خطاهای معنایی ناتوان‌اند.

اما این تنها بخشی از پازل است؛ تأثیر این رویکرد بر آینده تراشه‌های Blackwell را در گزارش بعدی بررسی می‌کنیم.

گام بعدی شما

  • بررسی مستندات TileGym برای درک نحوه تعریف «مهارت‌ها» در جریان‌های کاری عامل‌محور.
  • آزمایش تبدیل کرنل‌های ساده پایتون به جولیا برای ارزیابی تفاوت‌های چیدمان حافظه.
  • دنبال کردن به‌روزرسانی‌های انویدیا در مورد ادغام این ابزار با کتابخانه‌های استاندارد CUDA.
چرا این موضوع مهم است؟

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

این گزارش با خط‌لولهٔ خودکار دات‌هوش از منابع معتبر جهانی تدوین و زیر نظر تحریریه منتشر شده است. روش کار ما

گفتگو

پنج‌شنبه‌های هوش‌محور

بسته‌ی هفتگی دات‌هوش

۵ خبر، ۲ ابزار، ۱ پرامپت در هر شماره. به‌زودی راه‌اندازی می‌شود — هر پنج‌شنبه صبح.

خبر کلیدی
ابزار کاربردی
پرامپت حرفه‌ای
تحلیل پژوهش
به‌زودی
زاویه‌ی ایرانی
به‌زودی
تمرین این هفته
به‌زودی

راهنماهای دات‌هوش

راهنماهای کاربردیِ دات‌هوش برای کار با هوش مصنوعی — از همین‌جا شروع کنید:

دات‌هوش

راهنمای فارسی هوش مصنوعی — با نگاه به ایران

اخبار روزانه، معرفی ابزارها و مدل‌ها، و آموزشِ کار با هوش مصنوعی؛ همیشه با این پرسش که از ایران چه چیزی کار می‌کند و چه چیزی نه.