Skip to main content

Porting Applications with OpenMP Using Similarity Analysis

  • Conference paper
  • First Online:

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

Abstract

Computer architecture has undergone dramatic changes due to technology innovation. Some emerging architectures, such as GPUs and MICs also have been successfully used for parallel computation in the today’s HPC field. Nowadays, people frequently have to port application to a new architecture or system and to expand its functionality for a better performance while in the meantime to meet the new hardware environment need. However, many scientific application legacy codes have a relative large size and long development cycle, so it’s a very challenging job to port legacy codes to a new environment. And current codes porting process is a manual, time-consuming, expensive and error-prone process, which requires a team of people work together. Barely any useful tools can be used to ease the porting process in High Performance Computing (HPC). In this paper, we present a tool called Klonos, which is designed for assisting scientific application porting. Based on similarity analysis of code syntax and cost-model provided metrics, we are able to find codes which can be optimized similarly without the need of profiling the codes. The proposed porting plan can systematically guide users for selecting subroutines in a way which maximizes the reuse of similar porting strategy. We evaluate Klonos by applying it to a real scientific application porting to a shared memory environment using OpenMP. According to our experiment result, which shows that Klonos is very accurate to detect similar codes which can be ported similarly.

This work was funded by the ORAU/ORNL HPC grant. This research used resources of the Leadership Computing Facility at Oak Ridge National Laboratory and NICS Nautilus supercomputer for the data analysis.

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 EPUB and 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

References

  1. OpenMP ARB. Openmp arb. http://openmp.org/wp/about-openmp/

  2. Machine Learning Group at University of Waikato. Weka 3: Data mining software in java. http://www.cs.waikato.ac.nz/ml/weka/

  3. Jost, G., Chapman, B.M., van der Pas, R.: Using OpenMP: Portable Shared Memory Parallel Programming. The MIT Press, Cambridge (2007)

    Google Scholar 

  4. Buttlar, D., Nichols, B., Farrell, J.P.: Pthreads Programming. O’Reilly & Associates Inc., Sebastopol (1996)

    Google Scholar 

  5. NASA Ames Research Center. Capo (computer-aided parallelizer and optimizer). http://people.nas.nasa.gov/~hjin/CAPO/index.html

  6. Chapman, B., Jost, G., Van Der Pas, R.: Using OpenMP: Portable Shared Memory Parallel Programming, vol. 10. MIT Press, Cambridge (2007)

    Google Scholar 

  7. Chen, C., Chame, J., Hall, M.: CHiLL: a framework for composing high-level loop transformations. Technical report, Technical Report 08–897, USC Computer Science Technical Report (2008)

    Google Scholar 

  8. Davison, J., Mancl, D., Opdyke, W.: Understanding and addressing the essential costs of evolving systems. Bell Labs Tech. J. 5, 44–54 (2000)

    Article  Google Scholar 

  9. Ding, W., Hernandez, O., Chapman, B.: A similarity-based analysis tool for porting OpenMP applications. In: Keller, R., Kramer, D., Weiss, J.-P. (eds.) Facing the Multicore-Challenge III. LNCS, vol. 7686, pp. 13–24. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  10. Ding, W., Hsu, C.-H., Hernandez, O., Chapman, B., Graham, R.: Klonos: similarity-based planning tool support for porting scientific applications. Concurrency Comput. Pract. Experience 25, 1072–1088 (2013)

    Article  Google Scholar 

  11. Ding, W., Hsu, C.-H., Hernandez, O., Graham, R., Chapman, B.M.: Bioinspired similarity-based planning support for the porting of scientific applications. In: 4th Workshop on Parallel Architectures and Bioinspired Algorithms, Galveston Island, Texas, USA (2011)

    Google Scholar 

  12. CAPS Entreprise. HMPP: A Hybrid Multicore Parallel Programming Platform. http://www.caps-entreprise.com/en/documentation/caps_hmpp_product_brief.pdf

  13. The Portland Group. PGI accelerator compilers (2010). http://www.pgroup.com/resources/accel.htm

  14. Hernandez, O., Ding, W., Chapman, B., Kartsaklis, C., Sankaran, R., Graham, R.: Experiences with high-level programming directives for porting applications to GPUs. In: Keller, R., Kramer, D., Weiss, J.-P. (eds.) Facing the Multicore - Challenge II. LNCS, vol. 7174, pp. 96–107. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  15. Johnson, S., Evans, E., Jin, H., Ierotheou, C.: The ParaWise expert assistant - widening accessibility to efficient and scalable tool generated OpenMP code. In: Chapman, B.M. (ed.) WOMPAT 2004. LNCS, vol. 3349, pp. 67–82. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  16. Jost, G., Jin, H., Labarta, J., Gimenez, J.: Interfacing computer aided parallelization and performance analysis. In: Sloot, P.M.A., Abramson, D., Bogdanov, A.V., Gorbachev, Y.E., Dongarra, J., Zomaya, A.Y. (eds.) ICCS 2003, Part IV. LNCS, vol. 2660, pp. 181–190. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  17. Kartsaklis, C., Hernandez, O., Hsu, C.H., Ilsche, T., Joubert, W., Graham, R.L.: Hercules: a pattern driven code transformation system. In: 2012 IEEE 26th International Parallel and Distributed Processing Symposium Workshops & PhD Forum (IPDPSW), pp. 574–583. IEEE (2012)

    Google Scholar 

  18. Levesque, J., Sankaran, R., et al.: Hybridizing s3d into an exascale application using openacc: an approach for moving to multi-petaflops and beyond. In: Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis, p. 15. IEEE Computer Society Press (2012)

    Google Scholar 

  19. Top500 List. Treemap - november 2012 (accelerator/co-processor). http://www.top500.org/statistics/treemaps/

  20. Mancl, D.: Refactoring for software migration. IEEE Commun. Mag. 39(10), 88–93 (2001)

    Article  Google Scholar 

  21. Mével, Y.: Tsf: an environment for program transformations

    Google Scholar 

  22. Munshi, A.: The OpenCL Specification, October 2009

    Google Scholar 

  23. NVIDIA Corporation. NVIDIA CUDA Compute Unified Device Architecture Programming Guide Version 3.0, March 2010. http://developer.nvidia.com/cuda

  24. The OpenUH compiler project (2005). http://www.cs.uh.edu/~openuh

  25. Sampaio do Prado Leite, J.C., Sant’Anna, M., Francisco do Prado, A.: Porting cobol programs using a transformational approach. J. Softw. Maintenance: Res. Pract. 9(1), 3–31 (1997)

    Article  Google Scholar 

  26. Tafti, D.: Genidlest a parallel high performance computational infrastructure for simulating complex turbulent flow and heat transfer. APS Division of Fluid Dynamics Meeting Abstracts, vol. 1 (2002)

    Google Scholar 

  27. Vetter, S., Aoyama, Y., Nakano, J.: RS/6000 SP: practical MPI programming, vol. SG24-5380-00 of 0738413658. vervante, August 1999

    Google Scholar 

  28. The Wikipedia. Software porting. http://en.wikipedia.org/wiki/Porting

  29. Wolf, M.E., Maydan, D.E., Chen, D.-K.: Combining loop transformations considering caches and scheduling. In: Proceedings of the 29th Annual ACM/IEEE International Symposium on Microarchitecture, pp. 274–286. IEEE Computer Society, Washington, DC (1996)

    Google Scholar 

  30. Yi, Q., Seymour, K., You, H., Vuduc, R., Quinlan, D.J.: POET: parameterized optimizations for empirical tuning. In: Workshop on Performance Optimization for High-Level Languages and Libraries, March 2007

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Wei Ding .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this paper

Cite this paper

Ding, W., Hernandez, O., Curtis, T., Chapman, B. (2014). Porting Applications with OpenMP Using Similarity Analysis. In: Cașcaval, C., Montesinos, P. (eds) Languages and Compilers for Parallel Computing. LCPC 2013. Lecture Notes in Computer Science(), vol 8664. Springer, Cham. https://doi.org/10.1007/978-3-319-09967-5_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-09967-5_2

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-09966-8

  • Online ISBN: 978-3-319-09967-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics