Skip to main content

Memory Efficient Multi-Swarm PSO Algorithm in OpenCL on an APU

  • Conference paper

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

Abstract

Multi-Swarm PSO (MPSO) is an extension of the PSO algorithm that incorporates multiple, collaborating swarms. Although embarrassingly parallel in appearance, MPSO is memory bound, introducing challenges for GPU-based architectures. In this paper, we use device-utilization metrics to drive the development and optimization of an MPSO algorithm applied to the task matching problem. Our hardware architecture is the AMD Accelerated Processing Unit (APU), which fuses the CPU and GPU together on a single chip. We make effective use of features such as the hierarchical memory structure on the APU, the 4-way very long instruction word (VLIW) feature for vectorization, and DMA transfer features for asynchronous transfer of data between global memory and local memory. The resulting algorithm provides a 29% decrease in overall execution time over our baseline implementation.

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. Kennedy, J., Eberhart, R.: Particle Swarm Optimization. In: IEEE International Conference on Neural Networks, Perth, Australia, vol. 4, pp. 1942–1948 (1995)

    Google Scholar 

  2. Cardenas-Montes, M., Vega-Rodriguez, M., Rodriguez-Vazquez, J., Gomez-Iglesias, A.: Accelerating Particle Swarm Algorithm with GPGPU. In: 2011 19th Euromicro International Conference on Parallel, Distributed and Network-Based Processing, Ayia Napa, Cyprus, pp. 560–564 (February 2011)

    Google Scholar 

  3. Solomon, S., Thulasiraman, P., Thulasiram, R.: Collaborative Multi-swarm PSO for Task Matching using Graphics Processing Units. In: ACM Proceedings of the 13th Annual Conference on Genetic and Evolutionary Computation, Dublin, Ireland, pp. 1563–1570 (July 2011)

    Google Scholar 

  4. Sidhu, M.S., Thulasiraman, P., Thulasiram, R.K.: A Load-Rebalance PSO Algorithm for Taskmatching in Heterogeneous Computing Systems. In: IEEE Symposium Series on Computational Intelligence, Singapore (April 2013)

    Google Scholar 

  5. Cagnoni, S., Bacchini, A., Mussi, L.: OpenCL Implementation of Particle Swarm Optimization: A Comparison between Multi-core CPU and GPU Performances. In: Proceedings of 2012 European Conference on Applications of Evolutionary Computation, Málaga, Spain, pp. 406–415 (April 2012)

    Google Scholar 

  6. Rabinovich, M., Kainga, P., Johnson, D., Shafer, B., Lee, J., Eberhart, R.: Particle Swarm Optimization on a GPU. In: 2012 IEEE International Conference on Electro/Information Technology, Indianapolis, USA, pp. 1–6 (May 2012)

    Google Scholar 

  7. Pinel, F., Dorronsoro, B., Bouvry, P.: Solving Very Large Instances of the Scheduling of Independent Tasks Problem on the GPU. Journal of Parallel Distributed Computing 73(1), 101–110 (2013)

    Article  Google Scholar 

  8. Vanneschi, L., Codecasa, D., Mauri, G.: An Empirical Comparison of Parallel and Distributed Particle Swarm Optimization Methods. In: Proceedings of 12th Annual Conference on Genetic and Evolutionary Computation, Portland, USA, pp. 15–22 (July 2010)

    Google Scholar 

  9. Fernandez-Baca, D.: Allocating modules to processors in a distributed system. IEEE Transactions on Software Engineering 15(11), 1427–1436 (1989), doi:10.1109/32.41334

    Article  Google Scholar 

  10. Advanced Micro Devices: AMD Accelerated Parallel Processing OpenCL Programming Guide (July 2012)

    Google Scholar 

  11. Shi, Y., Eberhart, R.: A Modified Particle Swarm Optimizer. In: IEEE World Congress on Computational Intelligence Evolutionary Computation Proceedings, Anchorage, Alaska, USA, pp. 69–73 (May 1998)

    Google Scholar 

  12. Salmon, J., Moraes, M., Dror, R., Shaw, D.: Parallel random numbers: as easy as 1, 2, 3. In: Proceedings of 2011 International Conference for High Performance Computing, Networking, Storage and Analysis, Seattle, Washington, USA, pp. 16:1–16:12 (November 2011)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer International Publishing Switzerland

About this paper

Cite this paper

Franz, W., Thulasiraman, P., Thulasiram, R.K. (2013). Memory Efficient Multi-Swarm PSO Algorithm in OpenCL on an APU. In: Kołodziej, J., Di Martino, B., Talia, D., Xiong, K. (eds) Algorithms and Architectures for Parallel Processing. ICA3PP 2013. Lecture Notes in Computer Science, vol 8285. Springer, Cham. https://doi.org/10.1007/978-3-319-03859-9_20

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-03859-9_20

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-03858-2

  • Online ISBN: 978-3-319-03859-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics