شنبه 24 آذر 1397 | Saturday 15 th of December 2018 صفحه اصلی گروه الکترونیکی کامپیوتر
7ـ2ـ تقسیم بلوکهای موازی

   ما در فصل گذشته به نحوه راه اندازی کد موازی بر رویGPU بصورت گذرا پرداختیم. این کار با هدایت و کنترل سیستم زمان اجرای CUDAدر بسیاری از نسخه های موازی کرنل برای راه اندازی انجام میشود. ما به این نسخه های موازی بلوک میگوییم.

   زمان اجرای CUDAبه این بلوکها اجازه تقسیم به رشته ها را میدهد.بخاطر داشته باشید که ارگومان اول در براکتهای (علامتهای کوچکتر و بزرگتر) زاویه ای در زمان راه اندازی بلوک های موازی متعدد از شماره 1 تا تعداد نهایی بلوک هایی که ما قصد راه اندازی انها را داریم، تغییر داده میشود. برای مثال، ما در حین بررسی جمع برداری،از طریق فراخوانی زیر به راه اندازی یک بلوک برای هر یک از عناصر موجود در برداری با اندازهN  دست میزنیم:

<<<N,1>>>( dev_a, dev_b, dev_c )add

در واقع، پارامتر دوم در داخل براکتهای زاویه ای نشان دهنده تعداد رشته ها در هر بلوکی است که ما از جانب خود خواهان ایجاد ان در زمان اجرایCUDA هستیم. تا این مرحله، ما تنها یک رشته را در هر بلوک راه اندازی کرده ایم. در مثال قبلی به راه اندازی مواردی به شرح زیر اقدام شد:

N بلوک  × رشته /بلوک  N = 1 رشته های موازی

پس در واقع می توانیم بلوکهایN / 2 را با دو رشته در هر بلوک و بلوکهایN / 4  را با چهار رشته در هر بلوک و ... راه اندازی کنیم. بیایید بار دیگر مثال جمع برداری مجهز شده با این اطلاعات جدید را در مورد قابلیت های  CUDA Cمرور کنیم

Compatability by:
آخرین به روز رسانی سایت: سه شنبه, 22 اسفند 1391 - 00:26