CCCL 3.1 انویدیا سه سطح قطعیت را برای کاهش‌های موازی معرفی می‌کند و به توسعه‌دهندگان اجازه می‌دهد عملکرد را با تکرارپذیری در محاسبات GPU مبادله کنند. (خواندنCCCL 3.1 انویدیا سه سطح قطعیت را برای کاهش‌های موازی معرفی می‌کند و به توسعه‌دهندگان اجازه می‌دهد عملکرد را با تکرارپذیری در محاسبات GPU مبادله کنند. (خواندن

NVIDIA CCCL 3.1 کنترل‌های قطعیت اعشاری شناور برای محاسبات GPU را اضافه می‌کند

2026/03/06 01:46
مدت مطالعه: 4 دقیقه
برای ارائه بازخورد یا طرح هرگونه نگرانی درباره این محتوا، لطفاً با ما از طریق crypto.news@mexc.com تماس بگیرید.

NVIDIA CCCL 3.1 کنترل‌های قطعیت اعشاری را برای محاسبات GPU اضافه می‌کند

کارولین بیشاپ 1405/12/14 17:46

CCCL 3.1 شرکت NVIDIA سه سطح قطعیت را برای کاهش‌های موازی معرفی می‌کند و به توسعه‌دهندگان اجازه می‌دهد عملکرد را با قابلیت تکرارپذیری در محاسبات GPU معاوضه کنند.

NVIDIA CCCL 3.1 کنترل‌های قطعیت اعشاری را برای محاسبات GPU اضافه می‌کند

NVIDIA کنترل‌های قطعیت را در کتابخانه‌های محاسباتی هسته CUDA (CCCL) نسخه 3.1 عرضه کرده است و به یک دغدغه مداوم در محاسبات موازی GPU پرداخته است: به دست آوردن نتایج یکسان از عملیات اعشاری در اجراهای متعدد و سخت‌افزارهای مختلف.

این به‌روزرسانی سه سطح قطعیت قابل پیکربندی را از طریق API تک فاز جدید CUB معرفی می‌کند و به توسعه‌دهندگان کنترل صریح بر معاوضه تکرارپذیری در مقابل عملکرد می‌دهد که سال‌هاست برنامه‌های GPU را آزار می‌داده است.

چرا قطعیت اعشاری مهم است

مشکل این است: جمع اعشاری کاملاً جابجایی نیست. به دلیل گرد کردن در دقت محدود، (a + b) + c همیشه برابر با a + (b + c) نیست. وقتی رشته‌های موازی مقادیر را به ترتیب غیرقابل پیش‌بینی ترکیب می‌کنند، در هر اجرا نتایج کمی متفاوت به دست می‌آورید. برای بسیاری از برنامه‌ها—مدل‌سازی مالی، شبیه‌سازی‌های علمی، محاسبات بلاک چین، آموزش یادگیری ماشین—این عدم ثبات مشکلات واقعی ایجاد می‌کند.

API جدید به توسعه‌دهندگان اجازه می‌دهد دقیقاً مشخص کنند چقدر تکرارپذیری نیاز دارند از طریق سه حالت:

قطعیت تضمین نشده سرعت خام را در اولویت قرار می‌دهد. از عملیات اتمی استفاده می‌کند که به هر ترتیبی که رشته‌ها اجرا می‌شوند، کاهش‌ها را در یک راه‌اندازی هسته واحد تکمیل می‌کند. نتایج ممکن است بین اجراها کمی متفاوت باشد، اما برای برنامه‌هایی که پاسخ‌های تقریبی کافی است، بهبود عملکرد قابل توجه است—به ویژه در آرایه‌های ورودی کوچک‌تر که سربار راه‌اندازی هسته غالب است.

قطعیت اجرا به اجرا (پیش‌فرض) خروجی‌های یکسان را هنگام استفاده از همان ورودی، پیکربندی هسته و GPU تضمین می‌کند. NVIDIA این کار را با ساختاردهی کاهش‌ها به عنوان درخت‌های سلسله مراتبی ثابت به جای اتکا به اتمیک‌ها انجام می‌دهد. عناصر ابتدا در داخل رشته‌ها ترکیب می‌شوند، سپس در سراسر warpها از طریق دستورالعمل‌های shuffle، سپس در سراسر بلوک‌ها با استفاده از حافظه اشتراکی، با یک هسته دوم که نتایج نهایی را جمع‌آوری می‌کند.

قطعیت GPU به GPU سخت‌گیرانه‌ترین تکرارپذیری را فراهم می‌کند و نتایج یکسان را در GPUهای مختلف NVIDIA تضمین می‌کند. پیاده‌سازی از یک انباشتگر اعشاری قابل تکرار (RFA) استفاده می‌کند که مقادیر ورودی را در محدوده‌های توان ثابت گروه‌بندی می‌کند—به طور پیش‌فرض به سه بخش—برای مقابله با مسائل غیر جابجایی که هنگام جمع اعداد با مقادیر مختلف ایجاد می‌شود.

معاوضه‌های عملکرد

معیارهای NVIDIA در GPUهای H200 هزینه تکرارپذیری را کمی می‌کنند. قطعیت GPU به GPU زمان اجرا را 20٪ تا 30٪ برای اندازه‌های مسئله بزرگ در مقایسه با حالت آزاد افزایش می‌دهد. قطعیت اجرا به اجرا بین دو حد قرار دارد.

پیکربندی سه بخشی RFA آنچه را که NVIDIA "پیش‌فرض بهینه" می‌نامد ارائه می‌دهد که دقت و سرعت را متعادل می‌کند. بخش‌های بیشتر دقت عددی را بهبود می‌بخشند اما جمع‌های میانی را اضافه می‌کنند که اجرا را کند می‌کنند.

جزئیات پیاده‌سازی

توسعه‌دهندگان از طریق cuda::execution::require() به کنترل‌های جدید دسترسی پیدا می‌کنند، که یک شیء محیط اجرا را می‌سازد که به توابع کاهش منتقل می‌شود. نحو ساده است—قطعیت را به not_guaranteed، run_to_run یا gpu_to_gpu بسته به نیازها تنظیم کنید.

این ویژگی فقط با API تک فاز CUB کار می‌کند؛ API قدیمی دو فاز محیط‌های اجرا را نمی‌پذیرد.

پیامدهای گسترده‌تر

تکرارپذیری اعشاری بین پلتفرمی یک چالش شناخته شده در محاسبات با کارایی بالا و برنامه‌های بلاک چین بوده است، جایی که کامپایلرهای مختلف، پرچم‌های بهینه‌سازی و معماری‌های سخت‌افزاری می‌توانند نتایج متفاوتی از عملیات ریاضی یکسان تولید کنند. رویکرد NVIDIA در قرار دادن صریح قطعیت به عنوان یک پارامتر قابل پیکربندی به جای پنهان کردن جزئیات پیاده‌سازی، یک راه‌حل عملی را نشان می‌دهد.

شرکت قصد دارد کنترل‌های قطعیت را فراتر از کاهش‌ها به ابتدایی‌های موازی اضافی گسترش دهد. توسعه‌دهندگان می‌توانند پیشرفت را دنبال کنند و الگوریتم‌های خاص را از طریق مخزن GitHub شرکت NVIDIA درخواست کنند، جایی که یک مسئله باز نقشه راه قطعیت گسترده را دنبال می‌کند.

منبع تصویر: Shutterstock
  • nvidia
  • محاسبات gpu
  • cccl
  • قطعیت اعشاری
  • cuda
فرصت‌ های بازار
لوگو Ucan fix life in1day
Ucan fix life in1day قیمت لحظه ای(1)
$0.0004576
$0.0004576$0.0004576
+6.22%
USD
نمودار قیمت لحظه ای Ucan fix life in1day (1)
سلب مسئولیت: مطالب بازنشرشده در این وب‌ سایت از منابع عمومی گردآوری شده‌ اند و صرفاً به‌ منظور اطلاع‌ رسانی ارائه می‌ شوند. این مطالب لزوماً بازتاب‌ دهنده دیدگاه‌ ها یا مواضع MEXC نیستند. کلیه حقوق مادی و معنوی آثار متعلق به نویسندگان اصلی است. در صورت مشاهده هرگونه محتوای ناقض حقوق اشخاص ثالث، لطفاً از طریق آدرس ایمیل crypto.news@mexc.com با ما تماس بگیرید تا مورد بررسی و حذف قرار گیرد.MEXC هیچ‌ گونه تضمینی نسبت به دقت، جامعیت یا به‌ روزبودن اطلاعات ارائه‌ شده ندارد و مسئولیتی در قبال هرگونه اقدام یا تصمیم‌ گیری مبتنی بر این اطلاعات نمی‌ پذیرد. همچنین، محتوای منتشرشده نباید به‌عنوان توصیه مالی، حقوقی یا حرفه‌ ای تلقی شود و به منزله پیشنهاد یا تأیید رسمی از سوی MEXC نیست.