About speedup improvement of classical genetic algoritms using CUDA environment - Mroginski, Javier Luis (2016)
Due to the increasing computational cost required for the numerical solution of evolutionary systems and problems based on topological design, in the last years, many parallel algorithms have been developed in order to improve its performance. Perhaps, the main numerical tool used to solve heuristic problems is known as Genetic Algorithm (GA), deriving its name from the similarity to the evolutionary theory of Darwing. During the last decade, Graphic Processing Unit (GPU) has been used for computing acceleration due to the intrinsic vector-oriented design of the chip set. This gave race to a new programming paradigm: the General Purpose Computing on Graphics Processing Units (GPGPU). Which was replaced then by the Compute Unified Device Architecture (CUDA) environment in 2007. CUDA environment is probably the parallel computing platform and programming model that more heyday has had in recent years, mainly due to the low acquisition cost of the graphics processing units (GPUs) compared to a cluster with similar functional characteristics. Consequently, the number of GPU-CUDAs present in the top 500 fastest supercomputers in the world is constantly growing. In this work, a numerical algorithm developed in the NVIDIA CUDA platform capable of solving classical optimization functions usually employed as benchmarks (De Jong, Rastring and Ackley functions) is presented. The obtained results using a GeForce GTX 750 Ti GPU shown that the proposed code is a valuable tool for acceleration of GAs, improving its speedup in about 130%.