Abstract
This article presents a method of implementation genetic algorithm in CUDA. Used algorithm operat on a large population and a complex genotype, so that it exceeded the size of the cache memory. It is not completely transferred to the graphics card. It consists of modules that run on the CPU and are synchronized through it. Calculations were based on weak, but widely available graphics cards to test the ability of acceleration algorithms at low cost
چکیده
این مقاله یک روش پیاده سازی الگوریتم ژنتیک را در CUDA نشان می دهد. الگوریتم استفاده شده بر روی یک جمعیت بزرگ و یک ژنوتیپ پیچیده کار میکند، بنابراین بیشتر از اندازهی حافظه ی نهان مصرف میکند. این گونه نیست که جمعیت کاملاً به کارت گرافیک انتقال داده شده باشد. از ماژول هایی تشکیل شده که بر روی CPU اجرا میشوند و با آن همگام میگردند. محاسبات بر پایه ی کارت های گرافیک ضعیف انجام گرفته که به مقدار زیاد در دسترس بوده اند تا توانایی الگوریتم های تسریع را در هزینه ی پایین بسنجیم.
کلمات کلیدی: CUDA، الگوریتم های ژنتیک، پردازش موازی در GPU
1- مقدمه
من در کارم امکان استفاده از تکنولوژی CUDA را به عنوان ابزاری برای شتاب دادن به محاسبه در الگوریتم های ژنتیک با جمعیت های بزرگ و ژنوتیپ های گسترده آزمودم. در منابع انتشار یافته ی زیادی سعی شده امکان استفاده از کارتهای گرافیک برای شتاب دادن به امر محاسبه در الگوریتمهای ژنتیک مورد آزمون قرار بگیرد. آنها موفق شدند که ارزیابی افراد جمعیت [1] یا پردازش کل الگوریتم ژنتیک را در GPU سرعت بخشند [2]. قبل از ترقی فناوری CUDA، استفاده از کارت های گرافیک برای محاسبه ی این الگوریتم ها نسبتاً مشکل بود..