GPU Based Enhanced Differential Evolution Algorithm: A Comparison between CUDA and OpenCL

  • Donald David Davendra
  • Ivan Zelinka
Part of the Intelligent Systems Reference Library book series (ISRL, volume 38)


A GPU based enhanced differential evolution algorithm is presented in this chapter to solve the flow shop scheduling problem. The main premise is to show the effectiveness of using mainstream GPU hardware compared to high-end CPU, and analyze as to under what conditions it becomes viable. Both CUDA and OpenCL architecture is utilized and a comparison is done on the Mac OS X platform. The results validate that with increasing problem complexity, GPU programming becomes more viable.


Local Search Differential Evolution Graphic Processing Unit Central Processing Unit Global Memory 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Chen, S., Davis, S., Jiang, H., Novobilski, A.: CUDA-Based Genetic Algorithm on Traveling Salesman Problem. In: Lee, R. (ed.) Computer and Information Science 2011. SCI, vol. 364, pp. 241–252. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  2. 2.
  3. 3.
    Czapinski, M., Barnes, S.: Tabu Search with two approaches to parallel flowshop evaluation on CUDA platform. Journal of Parallel and Distributed Computing 71, 802–811 (2011)CrossRefGoogle Scholar
  4. 4.
    Davendra D.: Differential evolution algorithm for flow shop scheduling. Master’s thesis, University of the South Pacific, (2001).Google Scholar
  5. 5.
    Davendra, D., Onwubolu, G.: Enhanced differential evolution hybrid scatter search for discrete optimisation. In: Proc. of the IEEE Congress on Evolutionary Computation, Singapore, pp. 1156–1162 (September 2007)Google Scholar
  6. 6.
    Davendra, D., Onwubolu, G.: Flow shop scheduling using enhanced differential evolution. In: Proc. 21 European Conference on Modeling and Simulation, Prague, Czech Rep., pp. 259–264 (June 2007)Google Scholar
  7. 7.
    Hoffmann, J., El-Laithy, K., Güttler, F., Bogdan, M.: Simulating Biological-Inspired Spiking Neural Networks with OpenCL. In: Diamantaras, K., Duch, W., Iliadis, L.S. (eds.) ICANN 2010. LNCS, vol. 6352, pp. 184–187. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  8. 8.
    Kirk, D., Hwu, W.: Programming Massively Parallel Processors: A Hands-on Approach. Morgan Kaufmann (2010)Google Scholar
  9. 9.
    Munshi, A., Gaster, B., Mattson, T., Fung, J., Ginsburg, D.: OpenCL Programming Guide. Addison-Wesley Professional (2010)Google Scholar
  10. 10.
    Mussi, L., Daolio, F., Cagnoni, S.: Evaluation of parallel particle swarm optimization algorithms within the CUDATM architecture. Information Sciences 181, 4642–4657 (2011)CrossRefGoogle Scholar
  11. 11.
    Onwubolu, G., Davendra, D.: Scheduling flow shops using differential evolution algorithm. European Journal of Operations Research 171, 674–679 (2006)zbMATHCrossRefGoogle Scholar
  12. 12.
    Onwubolu, G., Davendra, D.: Differential Evolution: A Handbook for Global Permutation-Based Combinatorial Optimization. Springer, Germany (2009)zbMATHCrossRefGoogle Scholar
  13. 13.
    Onwubolu, G., Davendra, D.: Differential evolution for permutation- based combinatorial problems. In: Onwubolu, G., Davendra, D. (eds.) Differential Evolution: A Handbook for Global Permutation-Based Combinatorial Optimization. Springer, Germany (2009)CrossRefGoogle Scholar
  14. 14.
    Onwubolu, G., Davendra, D.: Motivation for differential evolution for permutative - based combinatorial problems. In: Onwubolu, G., Davendra, D. (eds.) Differential Evolution: A Handbook for Global Permutation-Based Combinatorial Optimization. Springer, Germany (2009)CrossRefGoogle Scholar
  15. 15.
    Onwubolu, G.: Optimization using differential evolution. Technical Report TR-2001-05, IAS, USP, Fiji (October 2005)Google Scholar
  16. 16.
    Onwubolu, G.: Emerging Optimization Techniques in Production Planning and Control. Imperial Collage Press, London (2002)zbMATHCrossRefGoogle Scholar
  17. 17.
    OpenCL webpage (2011)
  18. 18.
    Pinedo, M.: Scheduling: theory, algorithms and systems. Prentice Hall, Inc., New Jersey (1995)zbMATHGoogle Scholar
  19. 19.
    Pospichal, P., Jaros, J., Schwarz, J.: Parallel Genetic Algorithm on the CUDA Architecture. In: Di Chio, C., Cagnoni, S., Cotta, C., Ebner, M., Ekárt, A., Esparcia-Alcazar, A.I., Goh, C.-K., Merelo, J.J., Neri, F., Preuß, M., Togelius, J., Yannakakis, G.N. (eds.) EvoApplicatons 2010. LNCS, vol. 6024, pp. 442–451. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  20. 20.
    Price, K.: An introduction to differential evolution. In: Corne, D., Dorigo, M., Glover, F. (eds.) New Ideas in Optimization. McGraw Hill, International, UK (1999)Google Scholar
  21. 21.
    Robilliard, D., Marion-Poty, V., Fonlupt, C.: Genetic programming on graphics processing units. Genetic Programming and Evolvable Machines 10(4), 447–471 (2009)CrossRefGoogle Scholar
  22. 22.
    Sanders, S., Kandrot, E.: CUDA by Example: An Introduction to General-Purpose GPU Programming. Addison-Wesley Professional (2010)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  1. 1.Department of Computing Science, Faculty of Electrical Engineering and Computing ScienceTechnical University of OstravaOstravaCzech Republic

Personalised recommendations