GPU Computation in Bioinspired Algorithms: A Review

Bioinspired methods usually need a high amount of computational resources. For this reason, parallelization is an interesting alternative in order to decrease the execution time and to provide accurate results. In this sense, recently there has been a growing interest in developing parallel algorithms using graphic processing units (GPU) also refered as GPU computation. Advances in the video gaming industry have led to the production of low-cost, high-performance graphics processing units (GPUs) that possess more memory bandwidth and computational capability than central processing units (CPUs). As GPUs are available in personal computers, and they are easy to use and manage through several GPU programming languages (CUDA, OpenCL, etc.), graphics engines are being adopted widely in scientific computing applications, particularly in the fields of computational biology and bioinformatics. This paper reviews the use of GPUs to solve scientific problems, giving an overview of current software systems.

[1]  P. Pospichal GPU-based Acceleration of the Genetic Algorithm , 2009 .

[2]  W. Vent,et al.  Rechenberg, Ingo, Evolutionsstrategie — Optimierung technischer Systeme nach Prinzipien der biologischen Evolution. 170 S. mit 36 Abb. Frommann‐Holzboog‐Verlag. Stuttgart 1973. Broschiert , 1975 .

[3]  Lawrence J. Fogel,et al.  Artificial Intelligence through Simulated Evolution , 1966 .

[4]  Germán Terrazas,et al.  Nature Inspired Cooperative Strategies for Optimization, NICSO 2010, May 12-14, 2010, Granada, Spain , 2012, NISCO.

[5]  Tien-Tsin Wong,et al.  Parallel evolutionary algorithms on graphics processing unit , 2005, 2005 IEEE Congress on Evolutionary Computation.

[6]  Zhigeng Pan,et al.  Parallel Genetic Algorithms on Programmable Graphics Hardware , 2005, ICNC.

[7]  Zhong-Xian Chi,et al.  An Efficient Fine-grained Parallel Genetic Algorithm Based on GPU-Accelerated , 2007, 2007 IFIP International Conference on Network and Parallel Computing Workshops (NPC 2007).

[8]  Tien-Tsin Wong,et al.  Parallel Hybrid Genetic Algorithms on Consumer-Level Graphics Hardware , 2006, 2006 IEEE International Conference on Evolutionary Computation.

[9]  Ingo Rechenberg,et al.  Evolutionsstrategie : Optimierung technischer Systeme nach Prinzipien der biologischen Evolution , 1973 .

[10]  Shigeyoshi Tsutsui,et al.  Solving quadratic assignment problems by genetic algorithms with GPU computation: a case study , 2009, GECCO '09.

[11]  Yew-Soon Ong,et al.  Advances in Natural Computation, First International Conference, ICNC 2005, Changsha, China, August 27-29, 2005, Proceedings, Part I , 2005, ICNC.

[12]  John R. Koza,et al.  Genetic programming - on the programming of computers by means of natural selection , 1993, Complex adaptive systems.

[13]  Linlin Liu,et al.  A Parallel Immune Algorithm Based on Fine-Grained Model with GPU-Acceleration , 2009, 2009 Fourth International Conference on Innovative Computing, Information and Control (ICICIC).

[14]  John R. Koza Genetic Programming III - Darwinian Invention and Problem Solving , 1999, Evolutionary Computation.

[15]  Sanyou Zeng,et al.  Advances in Computation and Intelligence, Second International Symposium, ISICA 2007, Wuhan, China, September 21-23, 2007, Proceedings , 2007, ISICA.

[16]  Vikram S. Adve,et al.  The LLVM Compiler Framework and Infrastructure Tutorial , 2004, LCPC.

[17]  Jirí Jaros,et al.  Parallel Genetic Algorithm on the CUDA Architecture , 2010, EvoApplications.

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

[19]  Enrique Alba,et al.  Cellular Genetic Algorithm on Graphic Processing Units , 2010, NICSO.

[20]  Sifa Zhang,et al.  Implementation of Parallel Genetic Algorithm Based on CUDA , 2009, ISICA.

[21]  John H. Holland,et al.  Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence , 1992 .

[22]  Mark Oskin,et al.  Using modern graphics architectures for general-purpose computing: a framework and analysis , 2002, 35th Annual IEEE/ACM International Symposium on Microarchitecture, 2002. (MICRO-35). Proceedings..

[23]  Bart Selman,et al.  Domain-Independent Extensions to GSAT : Solving Large StructuredSatis ability , 1993 .

[24]  Erik R. Altman,et al.  Proceedings of the 35th annual ACM/IEEE international symposium on Microarchitecture , 2002, MICRO 2002.

[25]  John R. Koza,et al.  Genetic programming 2 - automatic discovery of reusable programs , 1994, Complex Adaptive Systems.

[26]  Petr Pospichal,et al.  Parallel Genetic Algorithm Solving 0/1 Knapsack Problem Running on the GPU , 2011 .

[27]  Tien-Tsin Wong,et al.  Implementation of parallel genetic algorithms on graphics processing units , 2009 .

[28]  Wolfgang Banzhaf,et al.  Fast Genetic Programming and Artificial Developmental Systems on GPUs , 2007, 21st International Symposium on High Performance Computing Systems and Applications (HPCS'07).

[29]  Zhongwen Luo,et al.  Cellular Genetic Algorithms and Local Search for 3-SAT problem on Graphic Hardware , 2006, 2006 IEEE International Conference on Evolutionary Computation.

[30]  Pat Hanrahan,et al.  Brook for GPUs: stream computing on graphics hardware , 2004, SIGGRAPH 2004.