Skip to main content
Log in

Solving optimization problems using a hybrid systolic search on GPU plus CPU

  • Methodologies and Application
  • Published:
Soft Computing Aims and scope Submit manuscript

Abstract

In recent years, graphics processing units (GPUs) have emerged as a powerful architecture for solving a broad spectrum of applications in very short periods of time. However, most existing GPU optimization approaches do not exploit the full power available in a CPU–GPU platform. They have a tendency to leave one of them partially unused (usually the CPU) and fail to establish an accurate exchange of information that could help solve the target problem efficiently. Thus, better performance is expected from devising a hybrid CPU–GPU parallel algorithm that combines the highly parallel stream processing power of GPUs with the higher power of multi-core architectures. We have developed a hybrid methodology to efficiently solve optimization problems. We use a hybrid CPU–GPU architecture, to benefit from running it, in parallel, on both the CPU and the GPU. Our experiments over a heterogeneous set of combinatorial optimization problems with increasing dimensionality show a time gain of up to \(365\times \) in our proposal, while demonstrating high numerical accuracy. This work is intended to open up a new line of research that matches both architectures with new algorithms and cooperation techniques.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10

Similar content being viewed by others

Notes

  1. http://www.optsicom.es/maxcut/.

References

  • Alba E, Blum C, Isasi P, León C, Gómez JA (2009) Optimization techniques for solving complex problems. New Jersey

  • Agulleiro J, Vázquez F, Garzón E, Fernndez J (2012) Hybrid computing: CPU+GPU co-processing and its application to tomographic reconstruction. Ultramicroscopy 115:109–114

    Article  Google Scholar 

  • Aytug H, Koehler GJ (2000) New stopping criterion for genetic algorithms. Eur J Oper Res, pp 662–674

  • Batres R (2013) Generation of operating procedures for a mixing tank with a micro genetic algorithm. Comput Chem Eng 57:112–121

    Article  Google Scholar 

  • Cardellini V, Fanfarillo A, Filippone S (2014) Heterogeneous sparse matrix computations on hybrid GPU/CPU platforms. In: International conference on parallel computing (ParCo 2013), vol 25. IOS Press, pp 203–212

  • Cavuoti S, Garofalo M, Brescia M, Pescape A, Longo G, Ventre G (2013) Genetic algorithm modeling with GPU parallel computing technology. Neural nets and surroundings. Springer, Berlin, Heidelberg, pp 29–39

    Chapter  Google Scholar 

  • Chakravarty N, Goel AM, Sastry T (2000) Easy weighted majority games. Math Soc Sci 40(2):227–235

    Article  MathSciNet  MATH  Google Scholar 

  • Chamberlain RD, Lancaster JM, Cytron RK (2008) Visions for application development on hybrid computing systems. Parallel Comput 34(45):201–216

    Article  Google Scholar 

  • Coelho I, Haddad M, Ochi L, Souza M, Farias R (2012) A hybrid CPU-GPU local search heuristic for the unrelated parallel machine scheduling problem. In: 2012 third workshop on applications for multi-core architectures (WAMCA), pp 19–23

  • Cotta C, Troya J (1998) On decision-making in strong hybrid evolutionary algorithms. Methodology and tools in knowledge-based systems, lecture notes in computer science, vol 1415. Springer, Berlin, Heidelberg, pp 418–427

  • Couturier R, Guyeux C (2013) Pseudorandom number generator on GPU. Designing scientific applications on GPUs, pp 441–451

  • Daga M, Aji AM, Feng WC (2011) On the efficacy of a fused CPU+GPU processor (or APU) for parallel computing. In: Proceedings of the 2011 symposium on application accelerators in high-performance computing, SAAHPC ’11. IEEE Computer Society, Washington, DC, pp 141–149

  • Davis L (ed) (1991) Handbook of genetic algorithms. Van Nostrand Reinhold

  • Dietrich B, Escudero L (1993) Efficient reformulation for 0–1 programs methods and computational results. Discrete Appl Math 42(23):147–175

    Article  MathSciNet  MATH  Google Scholar 

  • Ding K, Tan Y (2014) Comparison of random number generators in particle swarm optimization algorithm. In: Proceedings of the IEEE congress on evolutionary computation, CEC 2014, Beijing, July 6–11, 2014, pp 2664–2671

  • Dorronsoro B, Alba E, Giacobini M, Tomassini M (2004) The influence of grid shape and asynchronicity on cellular evolutionary algorithms. In: Proceedings of the IEEE congress on evolutionary computation, CEC 2004, Portland, pp 2152–2158

  • Garey MR, Johnson DS (1979) Computers and intractability: a guide to the theory of NP completeness (Series of Books in the Mathematical Sciences) W. H. Freeman

  • Goldberg DE (1989) Sizing populations for serial and parallel genetic algorithms. In: Proceedings of the 3rd international conference on genetic algorithms, pp 70–79

  • Goldberg DE, Deb K, Horn J (1992) Massive multimodality, deception, and genetic algorithms. In: Parallel Problem solving from nature. Elsevier, pp 37–48

  • Greenhalgh D, Marshall S (2000) Convergence criteria for genetic algorithms. SIAM J Comput 30(1):269–282

    Article  MathSciNet  MATH  Google Scholar 

  • Howes L, Thomas D (2009) Efficient random number generation and application using CUDA. In: GPU Gems, chap 37

  • Kahn J, Tangorra J (2013) Application of a micro-genetic algorithm for gait development on a bio-inspired robotic pectoral fin. In: 2013 IEEE/RSJ international conference on intelligent robots and systems (IROS), pp 3784–3789

  • Khuri S, Bäck T, Heitktter J (1994) An evolutionary approach to combinatorial optimization problems. In: Proceedings of the 22nd annual ACM computer science conference, pp 66–73

  • Kim YS, Choi AS, Jeong JW (2013) Applying micro genetic algorithm to numerical model for luminous intensity distribution of planar prism LED luminaire. Opt Commun 293:22–30

    Article  Google Scholar 

  • Kochenberger G, Hao JK, Lü Z, Wang H, Glover F (2013) Solving large scale Max cut problems via tabu search. J Heuristics 19(4):565–571

    Article  Google Scholar 

  • Krishnakumar K (1989) Micro-genetic algorithms for stationary and non-stationary function optimization. In: Intelligent control and adaptive systems, Proc. of the SPIE, vol 1196, pp 289–296

  • Krömer P, Snåšel V, Platoš J, Abraham A (2011) Many-threaded implementation of differential evolution for the CUDA platform. In: Proceedings of the 13th annual conference on genetic and evolutionary computation, New York, pp 1595–1602

  • Kung HT (1979) Let’s design algorithms for VLSI systems. In: Proc. Conf. very large scale integration: architecture, design, fabrication, pp 65–90

  • Kung HT (2003) Systolic array. Encyclopedia of computer science. Wiley, Chichester, pp 1741–1743

    Google Scholar 

  • Kung SY (1984) On supercomputing with systolic/wavefront array processors. Proc IEEE 72(7):867–884

    Article  Google Scholar 

  • Kung HT, Leiserson CE (1978) Systolic arrays (for VLSI). In: Sparse matrix proceedings, pp 256–282

  • Langdon W (2010) Large scale bioinformatics data mining with parallel genetic programming on graphics processing units. Parallel and distributed computational intelligence, studies in computational intelligence, vol 269. Springer, Berlin, Heidelberg, pp 113–141

    Chapter  Google Scholar 

  • Luong TV, Melab N, Talbi EG (2013) GPU computing for parallel local search metaheuristic algorithms. Comput IEEE Trans 62(1):173–185

    Article  MathSciNet  Google Scholar 

  • Maitre O, Baumes LA, Lachiche N, Corma A, Collet P (2009) Coarse grain parallelization of evolutionary algorithms on GPGPU cards with EASEA. In: Proceedings of the 11th annual conferenceon genetic and evolutionary computation, ACM, GECCO ’09, pp 1403–1410

  • Maitre O, Krüger F, Querry S, Lachiche N, Collet P (2012) EASEA: specification and execution of evolutionary algorithms on GPGPU. Soft Comput 16(2):261–279

    Article  Google Scholar 

  • Martí R, Duarte A, Laguna M (2009) Advanced scatter search for the max-cut problem. INFORMS J Comput 21(1):26–38

    Article  MathSciNet  MATH  Google Scholar 

  • Munawar A, Wahib M, Munetomo M, Akama K (2009) Hybrid of genetic algorithm and local search to solve MAX-SAT problem using nVidia CUDA framework. Genet Program Evolvable Mach 10(4):391–415

    Article  Google Scholar 

  • NVIDIA Corporation (2012) NVIDIA CUDA Compute Unified Device Architecture Programming Guide. NVIDIA Corporation

  • Oliveto P, He J, Yao X (2007) Time complexity of evolutionary algorithms for combinatorial optimization: a decade of results. Int J Autom Comput 4(3):281–293

    Article  Google Scholar 

  • OpenMP Architecture Review Board (2008) OpenMP application program interface version 3.0

  • Owens JD, Luebke D, Govindaraju N, Harris M, Krger J, Lefohn A, Purcell TJ (2007) A survey of general-purpose computation on graphics hardware. Comput Graph Forum 26(1):80–113

    Article  Google Scholar 

  • Pedemonte M, Alba E, Luna F (2012) Towards the design of systolic genetic search. In: 26th IEEE International parallel and distributed processing symposium workshops & PhD Forum, IPDPS 2012, Shanghai, May 21–25, 2012, pp 1778–1786

  • Pedemonte M, Luna F, Alba E (2014a) Systolic genetic search, a systolic computing-based metaheuristic. Soft Comput, pp 1–23

  • Pedemonte M, Luna F, Alba E (2014b) Systolic genetic search for software engineering: the test suite minimization case. In: Applications of evolutionary computation—17th European conference, evoapplications 2014, Granada, April 23–25, 2014, pp 678–689 (Revised Selected Papers)

  • Podlozhnyuk V (2007) Parallel Mersenne Twister. Tech. rep, NVIDIA Corp

  • Pospichal P, Jaros J, Schwarz J (2010) Parallel genetic algorithm on the CUDA architecture. In: Applications of evolutionary computation, lecture notes in computer science, pp 442–451

  • Pu TL, Huang KM, Wang B, Yang Y (2010) Application of micro-genetic algorithm to the design of matched high gain patch antenna with zero-refractive-index metamaterial lens. J Electromagn Waves Appl 24(8–9):1207–1217

    Article  Google Scholar 

  • Rabinovich M, Kainga P, Johnson D, Shafer B, Lee J, Eberhart R (2012) Particle Swarm optimization on a GPU. In: 2012 IEEE international conference on electro/information technology (EIT), pp 1–6

  • Robilliard D, Marion-Poty V, Fonlupt C (2008) Population parallel GP on the G80 GPU. In: Genetic programming, lecture notes in computer science, vol 4971, pp 98–109

  • Russell SJ, Norvig P (2003) Artificial intelligence: a modern approach, 2nd edn. Pearson Education

  • Sinha A, Goldberg DE (2003) A survey of hybrid genetic and evolutionary algorithms. Tech. rep., University of Illinois at Urbana-Champaign

  • Talbi EG (2002) A taxonomy of hybrid metaheuristics. J Heuristics 8(5):541–564

    Article  Google Scholar 

  • Thomas DB, Howes L, Luk W (2009) A comparison of CPUs, GPUs, FPGAs, and massively parallel processor arrays for random number generation. In: Symposium on field programmable gate arrays, pp 63–72

  • Tsutsui S, Fujimoto N (2011) ACO with tabu search on a GPU for solving QAPs using move-cost adjusted thread assignment. In: Proceedings of the 13th annual conference on Genetic and evolutionary computation, GECCO ’11, pp 1547–1554

  • Van Luong T, Melab N, Talbi E (2010) Parallel hybrid evolutionary algorithms on GPU. In: Proceedings of the IEEE congress on evolutionary computation, CEC 2010, pp 1–8

  • Vidal P, Alba E (2010) Cellular genetic algorithm on graphic processing units. In: Nature inspired cooperative strategies for optimization (NICSO 2010), studies in computational intelligence, Springer, Berlin, Heidelberg, pp 223–232

  • Vidal P, Alba E (2012) Systolic optimization on GPU platforms. In: Computer aided systems theory EUROCAST 2011, Lecture notes in computer science. Springer, Berlin, Heidelberg, pp 375–383

  • Vidal P, Luna F, Alba E (2014) Systolic neighborhood search on graphics processing units. Soft Comput 18(1):125–142

    Article  Google Scholar 

  • Wang RL (2004) A genetic algorithm for subset sum problem. Neurocomputing 57:463–468

    Article  Google Scholar 

  • Wang Y, Baboulin M, Rupp K, Le Maître O, Fraigneau Y (2014) Solving 3d incompressible navier-stokes equations on hybrid cpu/gpu systems. In: Proceedings of the high performance computing symposium, society for computer simulation international, San Diego, HPC ’14, pp 12:1–12:8

  • Yang W, Li K, Mo Z, Li K (2015) Performance optimization using partitioned SpMV on GPUs and multicore CPUs. IEEE Trans Comput 64(9):2623–2636

    Article  MathSciNet  MATH  Google Scholar 

  • Yu CD, Wang W, Pierce D (2011) A CPU-GPU hybrid approach for the unsymmetric multifrontal method. Parallel Comput 37(12):759–770

    Article  Google Scholar 

Download references

Acknowledgments

Pablo Vidal acknowledges continuous support from the University of Patagonia Austral and CONICET for Grant RD 1901-14 (www.conicet.gov.ar). The work of Francisco Luna has been partially funded by Gobierno de Extremadura and Fondo Europeo de Desarrollo Regional (FEDER) under the contract IB13113. In the same way, the work of Francisco Luna and Enrique Alba has been partially funded by the Spanish MINECO and FEDER TIN2014-57341-R (the moveON project). We also acknowledge partial funds from the project 8.06/5.47.4142 in collaboration with the VSB-Technical University of Ostrava (CR).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Pablo Vidal.

Ethics declarations

Conflict of interest

The authors declare that they have no conflict of interest.

Additional information

Communicated by V. Loia.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Vidal, P., Alba, E. & Luna, F. Solving optimization problems using a hybrid systolic search on GPU plus CPU. Soft Comput 21, 3227–3245 (2017). https://doi.org/10.1007/s00500-015-2005-x

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00500-015-2005-x

Keywords

Navigation