Accelerating genetic algorithms with GPU computing: A selective overview

Abstract The emergence of GPU-CPU heterogeneous architectures has led to a fundamental paradigm shift in parallel programming. Accelerating Genetic Algorithms (GAs) on these architectures has received significant attention from both practitioners and researchers ever since GPUs emerged. In the past decade we have witnessed many progresses on migrating parallel GAs from CPU to GPU (Graphical Processing Unit) architecture, which makes this research field truly enter into the world of High Performance Computing (HPC), and demonstrates a great potential to many research disciplines and industrial worlds that can benefit from the power of GPU accelerated stochastic global search to explore large and complex search spaces for better solutions. Designing a parallel algorithm on GPU is quite different from designing one on CPU. On CPU architecture, we typically consider how to distribute data across tens of CPU threads, while on GPU architecture, we have more than hundreds of thousands of GPU threads running simultaneously. Therefore, we should rethink the design approaches and implementation strategies of parallel algorithms to fully utilize the computing power of GPUs to accelerate the computation of GAs. The intention of this paper is to give an overview on selective works of parallel GAs designed for GPU architecture. In this survey paper, we first reexamine the concept of granularity of parallelism for GAs on GPU architecture, discuss how the aspect of data layout affect the kernel design to maximize memory bandwidth, and explain how to organize threads in grid and blocks to expose sufficient parallelism to GPU. The comprehensive overview on selective works since 2010 then follows. The focus is mainly on the perspective of GPU architecture: how to accelerate GAs with GPU computing. Performance issues are not touched in this review, because most of these works are conducted on very early GPU cards, which are out of date already. We finally discuss some future research suggestions in the last section, especially about how to build up an efficient implementation of parallel GAs for hyper-scale computing. Many industrial and academic disciplines will be benefited from the GPU accelerated parallel GAs, one of the promising area is to evolve better deep neural networks.

[1]  L. Darrell Whitley,et al.  Serial and Parallel Genetic Algorithms as Function Optimizers , 1993, ICGA.

[2]  Lin Li,et al.  Accelerating Genetic Algorithm for Solving Graph Coloring Problem Based on CUDA Architecture , 2014, BIC-TA.

[3]  Mitsuo Gen,et al.  Genetic algorithms and engineering design , 1997 .

[4]  Xin Yao,et al.  Evolving artificial neural networks , 1999, Proc. IEEE.

[5]  A. J. Umbarkar,et al.  REVIEW OF PARALLEL GENETIC ALGORITHM BASED ON COMPUTING PARADIGM AND DIVERSITY IN SEARCH SPACE , 2013, SOCO 2013.

[6]  Pedro M. Domingos,et al.  The Master Algorithm: How the Quest for the Ultimate Learning Machine Will Remake Our World , 2015 .

[7]  Dario Izzo,et al.  The Generalized Island Model , 2012, Parallel Architectures and Bioinspired Algorithms.

[8]  Martín Pedemonte,et al.  Bitwise operations for GPU implementation of genetic algorithms , 2011, GECCO '11.

[9]  V. M. Kureichik,et al.  Parallel genetic algorithms: a survey and problem state of the art , 2010 .

[10]  Vikas Kumar,et al.  Task Scheduling in Multiprocessor System Using Genetic Algorithm , 2010, 2010 Second International Conference on Machine Learning and Computing.

[11]  Mitsuo Gen,et al.  Genetic algorithms and engineering optimization , 1999 .

[12]  Jacques Lévy Véhel,et al.  Holder functions and deception of genetic algorithms , 1998, IEEE Trans. Evol. Comput..

[13]  Pascal Bouvry,et al.  Solving very large instances of the scheduling of independent tasks problem on the GPU , 2013, J. Parallel Distributed Comput..

[14]  Makoto Sakamoto,et al.  Runtime Analysis of OneMax Problem in Genetic Algorithm , 2014, J. Robotics Netw. Artif. Life.

[15]  Kenli Li,et al.  A genetic algorithm for task scheduling on heterogeneous computing systems using multiple priority queues , 2014, Inf. Sci..

[16]  Kalyanmoy Deb,et al.  Parallelization of binary and real-coded genetic algorithms on GPU using CUDA , 2010, IEEE Congress on Evolutionary Computation.

[17]  Yasuhiro Tsujimura,et al.  A tutorial survey of job-shop scheduling problems using genetic algorithms, part II: hybrid genetic search strategies , 1999 .

[18]  Asim Munawar,et al.  A Survey: Genetic Algorithms and the Fast Evolving World of Parallel Computing , 2008, 2008 10th IEEE International Conference on High Performance Computing and Communications.

[19]  Jirí Jaros,et al.  Multi-GPU island-based genetic algorithm for solving the knapsack problem , 2012, 2012 IEEE Congress on Evolutionary Computation.

[20]  Jakub Wroblewski,et al.  Theoretical Foundations of Order-Based Genetic Algorithms , 1996, Fundam. Informaticae.

[21]  Liping Chen,et al.  GPU implementation of a cellular genetic algorithm for scheduling dependent tasks of physical system simulation programs , 2018, J. Comb. Optim..

[22]  Max Grossman,et al.  Professional CUDA C Programming , 2014 .

[23]  El-Ghazali Talbi,et al.  GPU-based island model for evolutionary algorithms , 2010, GECCO '10.

[24]  Hongwei Liu,et al.  A Fast Parallel Genetic Algorithm for Graph Coloring Problem Based on CUDA , 2015, 2015 International Conference on Cyber-Enabled Distributed Computing and Knowledge Discovery.

[25]  R. Burkard Quadratic Assignment Problems , 1984 .

[26]  Enrique Alba,et al.  Cellular genetic algorithms , 2014, GECCO.

[27]  Long Zheng,et al.  Architecture-based Performance Evaluation of Genetic Algorithms on Multi/Many-core Systems , 2011, 2011 14th IEEE International Conference on Computational Science and Engineering.

[28]  Mitsuo Gen,et al.  A tutorial survey of job-shop scheduling problems using genetic algorithms—I: representation , 1996 .

[29]  Erick Cantú-Paz,et al.  A Survey of Parallel Genetic Algorithms , 2000 .

[30]  Enrique Alba,et al.  A multi-GPU implementation of a Cellular Genetic Algorithm , 2010, IEEE Congress on Evolutionary Computation.

[31]  Uday K. Chakraborty,et al.  Gene pool recombination, genetic algorithm, and the onemax function , 1997 .

[32]  G. Eduardo Cárdenas,et al.  A solution for the quadratic assignment problem (QAP) through a parallel genetic algorithm based grid on GPU , 2017 .