Skip to main content

A Simulated Annealing Algorithm for GPU Clusters

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 7203))

Abstract

Simulated Annealing (SA) is a powerful global optimization technique that is frequently used for solving many practical problems from various scientific and technical fields. In this article we present a novel approach to parallelization of SA and propose an algorithm optimized for execution in GPU clusters. Our technique exploits the basic characteristics of such environments by using hierarchical problem decomposition. The proposed algorithm performs especially well for complex problems with large number of variables. We compare our approach with traditional parallel Simulated Annealing, both in terms of speed and result accuracy.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight 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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Boissin, N., Lutton, J.-L.: A parallel simulated annealing algorithm. Parallel Computing 19(8), 859–872 (1993)

    Article  MathSciNet  MATH  Google Scholar 

  2. Choong, A., Beidas, R., Zhu, J.: Parallelizing Simulated Annealing-Based Placement Using GPGPU. In: Proceedings of the 2010 International Conference on Field Programmable Logic and Applications, pp. 31–34 (2010)

    Google Scholar 

  3. Debudaj-Grabysz, A., Czech, Z.: Theoretical and Practical Issues of Parallel Simulated Annealing. In: Wyrzykowski, R., Dongarra, J., Karczewski, K., Wasniewski, J. (eds.) PPAM 2007. LNCS, vol. 4967, pp. 189–198. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  4. Frost, R., Heineman, P.: Simulated annealing: A heuristic for parallel stochastic optimization. Tech. rep., San Diego Supercomputer Center (1997)

    Google Scholar 

  5. Grama, A., Gupta, A., Karypis, G., Kumar, V.: Introduction to Parallel Computing, 2nd edn. Addison Wesley, Harlow (2003)

    Google Scholar 

  6. Greening, D.R.: Parallel simulated annealing techniques. Physica 42, 293–306 (1990)

    Google Scholar 

  7. Han, Y., Roy, S., Chakraborty, K.: Optimizing simulated annealing on GPU: A case study with IC floorplanning. In: Proceedings of the 12th International Symposium on Quality Electronic Design, pp. 1–7 (2011)

    Google Scholar 

  8. Ingber, L.: Simulated annealing: Practice versus theory. Mathematical Computer Modelling 18(11), 29–57 (1993)

    Article  MathSciNet  MATH  Google Scholar 

  9. Kirkpatrick, S., Gelatt, C.D., Vecchi, M.P.: Optimization by simulated annealing. Science 220(4598), 671–680 (1983)

    Article  MathSciNet  MATH  Google Scholar 

  10. Matsumoto, M., Nishimura, T.: Mersenne twister: a 623-dimensionally equidistributed uniform pseudo-random number generator. ACM Trans. Model. Comput. Simul. 8(1), 3–30 (1998)

    Article  MATH  Google Scholar 

  11. Molga, M., Smutnicki, C.: Test functions for optimization needs (2005), http://www.zsd.ict.pwr.wroc.pl/files/docs/functions.pdf

  12. NVIDIA: CUDA C programming guide (2010), http://developer.download.nvidia.com/compute/cuda/3_2_prod/toolkit/docs/CUDA_C_Programming_Guide.pdf

  13. NVIDIA: CUDA CURAND library (2010), http://developer.download.nvidia.com/compute/cuda/3_2_prod/toolkit/docs/CURAND_Library.pdf

  14. Özdamar, L., Demirhan, M.: Experiments with new stochastic global optimization search techniques. Comput. Oper. Res. 27, 841–865 (2000)

    Article  MATH  Google Scholar 

  15. Onbaşoğlu, E., Özdamar, L.: Parallel simulated annealing algorithms in global optimization. Journal of Global Optimization 19, 27–50 (2001)

    Article  MATH  Google Scholar 

  16. Ryoo, S., Rodrigues, C., Stone, S., et al.: Program optimization carving for GPU computing. Journal of Parallel and Distributed Computing 68(10), 1389–1401 (2008)

    Article  Google Scholar 

  17. Sosnowski, J., Tymoczko, A., Gawkowski, P.: An Approach to Distributed Fault Injection Experiments. In: Wyrzykowski, R., Dongarra, J., Karczewski, K., Wasniewski, J. (eds.) PPAM 2007. LNCS, vol. 4967, pp. 361–370. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  18. Thomas, D.B., Luk, W.: GPU optimised uniform random number generation, http://www.doc.ic.ac.uk/~dt10/research/gpu_rng/gpu_warp_rng.pdf

  19. Verhoeven, M., Aarts, E.: Parallel local search. Journal of Heuristics 1, 43–65 (1995)

    Article  MATH  Google Scholar 

  20. Zbierski, M.: Analysis of a CUDA-based distributed system in the context of selected Monte Carlo methods. Master’s thesis, Warsaw University of Technology (2011)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Zbierski, M. (2012). A Simulated Annealing Algorithm for GPU Clusters. In: Wyrzykowski, R., Dongarra, J., Karczewski, K., Waśniewski, J. (eds) Parallel Processing and Applied Mathematics. PPAM 2011. Lecture Notes in Computer Science, vol 7203. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-31464-3_76

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-31464-3_76

  • Publisher Name: Springer, Berlin, Heidelberg

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

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

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics