روشی برای بهبود الگوریتم بهینه سازی اجتماع ذرات با استفاده از CUDA بر روی پردازنده گرافیکی
همواره زمان صرف شده برای حل مسایل سنگین محاسباتی، یکی از دغدغه های برنامه نویسان کامپیوتر بوده است. الگوریتم PSO، الگوریتمی فرا ابتکاری است که به دلیل ساد گی پیاده سازی، برای حل مسایل سنگین محاسباتی استفاده می شود ولی با وجود ساد گی، این الگوریتم برای حل مسایل سنگین واقعی ناکارآمد است. از طرفی، وجود ویژگی تعاملات محلی ذرات در الگوریتم PSO، این الگوریتم را برای موازی سازی مناسب کرده است؛ از طرف دیگر، NVIDIA با اختراع پردازنده گرافیکی و معرفی معماری CUDA، تحولات بنیادی را در حل این نوع مسایل، از طریق پیاده سازی آن بر روی پردازنده گرافیکی ایجاد کرده است. با وجود تمام تحقیقات انجام گرفته در زمینه پیاده سازی، برخی از جنبه های تکنیکی موازی سازی به منظور پیاده سازی الگوریتم به صورتی که تسریع و بازدهی مناسب بر روی تمام پردازنده های گرافیکی NVIDIA را داشته باشد، رعایت نشده است. در این مقاله سعی شده با انتخاب Geforce GT 525M که پردازنده گرافیکی نسبتا ضعیفی است، جنبه مقیاس پذیری روش پیشنهادی رعایت شود؛ به طوری که با رسیدن به بیشینه تسریع الگوریتم پیاده سازی شده بر روی این پردازنده، به بازدهی قابل قبول برای اجرا بر روی سایر پردازنده های گرافیکی رسید. برای نیل به این هدف، از مدل چند کرنلی ارایه شده استفاده شده است. نتایج حاصل از انجام آزمایش ها رسیدن به بیشینه تسریع 15/98 برای حل تابع Rastrigin را نشان می دهد.
- حق عضویت دریافتی صرف حمایت از نشریات عضو و نگهداری، تکمیل و توسعه مگیران میشود.
- پرداخت حق اشتراک و دانلود مقالات اجازه بازنشر آن در سایر رسانههای چاپی و دیجیتال را به کاربر نمیدهد.