Abstract
Parallel processing using graphic processing units (GPUs) have attracted much research interest in recent years. Parallel computation can be applied to genetic algorithms (GAs) in terms of the processes of individuals in a population. This paper describes the implementation of GAs in the compute unified device architecture (CUDA) environment. CUDA is a general-purpose computation environment for GPUs. The major characteristic of this study is that a steady-state GA is implemented on a GPU based on concurrent kernel execution. The proposed implementation is evaluated through four test functions; we find that the proposed implementation method is 3.0-6.0 times faster than the corresponding CPU implementation
چکیده
پردازش موازی با استفاده از واحدهای پردازش گرافیک (GPU) در سالهای اخیر توجه بسیاری را به خود جلب کرده است. محاسبه ی موازی میتواند از نظر فرایندهای موجودیت ها در جمعیت بر روی الگوریتم های ژنتیک (GA) اعمال شود. این مقاله پیاده سازی GAها را در محیط معماری CUDA شرح میدهد. CUDA یک محیط محاسبه ی همه منظوره برای GPUها است. خصوصیت عمده ی این پژوهش این است که یک GA حالت دائمی مبتنی بر اجرای هم روند هسته (concurrent kernel execution) بر روی GPU پیاده سازی شده است. پیاده سازی پیشنهادی برای چهار تابع آزمون ارزیابی شده است: ما متوجه شدیم که روش پیاده سازی پیشنهادی 3 تا 6 برابر سریعتر از پیاده سازی مشابه روی CPU است.
1-مقدمه
محاسبات تکاملی (EC) به عنوان یک روش موثر برای حل کردن بسیاری از مسائل بهینه سازی پیچیده شناخته شده است. EC عموما مستلزم هزینه ی محاسباتی زیادی است زیرا اغلب برای هر نسل همه ی کاندیدهای جواب را در یک جمعیت ارزیابی میکند. برای غلبه بر این اشکال، پردازش موازی مانند آنچه به شکل محاسبه ی خوشه ای در [7] گفته شده، به کار رفته است. علاوه بر این، در اواخر دهه ی 90، محاسبات توری (grid) که با اتصال منابع محاسباتی از طریق اینترنت، محاسبه با کارایی بالا را فراهم میکند، اِعمال محاسبات تکاملی را بر روی شبکه های سرعت بالا شروع کرد [11] و [15]. بدین ترتیب، تکنیک های محاسبه ی موازی و توزیع شده به عنوان وسیله ی افزایش سرعت پردازش EC گسترده شدند...