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