Skip to main content

An Implementation of Evolutionary Computation Operators in OpenCL

  • Conference paper
Intelligent Distributed Computing V

Part of the book series: Studies in Computational Intelligence ((SCI,volume 382))

Abstract

We discuss the parallel implementation of Genetic Algorithms and Evolution Strategy on General-Purpose Graphical Units, using the OpenCL framework. Multiple evolutionary operators are tested (tournament, roulette wheel selection, uniform and Gaussian mutation, crossover, recombination), as well as different approaches for parallelism, for small and large problem sizes. We use the Island Model of Parallel GA, with random migration. Performance is measured using two graphic cards: NVidia GeForce GTX 560Ti and AMD Radeon 6950. Tests are performed in a distributed grid, using the Java Parallel Processing Framework.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 169.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 219.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 219.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Bäck, T.: Evolutionary algorithms in theory and practice. Oxford University Press, Oxford (1996)

    MATH  Google Scholar 

  2. Bäck, T., Fogel, D.B., Michalewicz, Z. (eds.): Handbook of Evolutionary Computation. IOP Publishing Ltd. (1997)

    Google Scholar 

  3. Bäck, T., Fogel, D.B., Michalewicz, Z. (eds.): Basic Algorithms and Operators. IOP Publishing Ltd. (1999)

    Google Scholar 

  4. Beyer, H.G., Schwefel, H.P.: Evolution strategies A comprehensive introduction. Natural Computing 1, 3–52 (2002)

    Article  MathSciNet  MATH  Google Scholar 

  5. Cantú-Paz, E.: A survey of parallel genetic algorithms. Calculateurs Paralleles 10 (1998)

    Google Scholar 

  6. De Jong, K.A.: An analysis of the behavior of a class of genetic adaptive systems. Ph.D. thesis, Ann Arbor, MI, USA (1975)

    Google Scholar 

  7. Harris, M.: Optimizing Parallel Reduction in CUDA. NVIDIA Developer Technology (2008)

    Google Scholar 

  8. Harris, M., Sengupta, S., Owens, J.D.: Parallel Prefix Sum (Scan) with CUDA. In: Nguyen, H. (ed.) GPU Gems 3, Addison-Wesley, Reading (2007)

    Google Scholar 

  9. Holland, J.: Adaptation in natural and artificial systems. University of Michigan Press, Ann Arbor (1975)

    Google Scholar 

  10. Khronos OpenCL Working Group: The OpenCL Specification, version 1.1 (2010), http://www.khronos.org/registry/cl/specs/opencl-1.1.pdf

  11. Lőrentz, I., Maliţa, M., Andonie, R.: Evolutionary Computation on the Connex Architecture. In: The 22nd Midwest Artificial Intelligence and Cognitive Science Conference, Cincinnati, Ohio, vol. 710, CEUR-WS.org (2011)

    Google Scholar 

  12. Marsaglia, G.: Xorshift RNGs. Journal of Statistical Software 8(14), 1–6 (2003)

    Google Scholar 

  13. Mühlenbein, H., Schomisch, M., Born, J.: The parallel genetic algorithm as function optimizer. Parallel Comput. 17, 619–632 (1991)

    Article  MATH  Google Scholar 

  14. NVIDIA: OpenCL Programming Guide for the CUDA Architecture, 3.2 edn. (2010)

    Google Scholar 

  15. Pharr, M., Fernando, R.: GPU Gems 2: Programming Techniques for High-Performance Graphics and General-Purpose Computation. chap. 46. Addison-Wesley Professional, Reading (2005)

    Google Scholar 

  16. 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)

    Chapter  Google Scholar 

  17. Quinn, M.J.: Parallel Programming in C with MPI and OpenMP. McGraw-Hill, New York (2003)

    Google Scholar 

  18. Rechenberg, I.: Evolutionsstrategie 1994. Frommann-Holzboog (1994)

    Google Scholar 

  19. Rosenbrock, H.H.: An Automatic Method for Finding the Greatest or Least Value of a Function. The Computer Journal 3(3), 175–184 (1960)

    Article  MathSciNet  Google Scholar 

  20. JOCL - Java binding for the OpenCL API, http://jogamp.org/jocl/www/

  21. JPPF - Java Parallel Processing Framework, http://www.jppf.org/

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Lőrentz, I., Andonie, R., Maliţa, M. (2011). An Implementation of Evolutionary Computation Operators in OpenCL. In: Brazier, F.M.T., Nieuwenhuis, K., Pavlin, G., Warnier, M., Badica, C. (eds) Intelligent Distributed Computing V. Studies in Computational Intelligence, vol 382. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-24013-3_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-24013-3_11

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-24012-6

  • Online ISBN: 978-3-642-24013-3

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics