Advertisement

OpenMP\(^{\textregistered }\) Runtime Instrumentation for Optimization

  • Taru DoodiEmail author
  • Jonathan Peyton
  • Jim Cownie
  • Maria Garzaran
  • Rubasri Kalidas
  • Jeongnim Kim
  • Amrita Mathuriya
  • Terry Wilmarth
  • Gengbin Zheng
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10468)

Abstract

The OpenMP (The OpenMP name is a registered trademark of the OpenMP Architecture Review Board.) application programming interface provides a simple way for programmers to write parallel programs that are portable between machines and vendors. Programmers parallelize their programs to obtain higher performance, but, as the number of cores per processor increases, taking advantage of parallelism efficiently becomes more difficult. To facilitate efficient parallelization and avoid poor utilization of machine resources, programmers need to know where an application is spending time and what factors hinder scalability.

In this paper, we present a Tool for Runtime Instrumentation of OpenMP programs (TRIO) that automatically collects statistics about an application’s use of the OpenMP runtime. TRIO provides statistics such as the total number of times an OpenMP construct is called, the time spent in each OpenMP construct, and the total time spent within the OpenMP runtime. TRIO helps to identify the runtime calls where a program spends most of the time and which constructs are called the most at runtime.

Keywords

Runtime instrumentation OpenMP constructs 

Notes

Acknowledgement

This material is based upon work supported by Subcontract No. B609815 with Argonne National Laboratory and Intel Federal LLC. We thank professor John Mellor-Crummey for his feedback on OMPT and its comparison with TRIO.

References

  1. 1.
    Shende, S.S., Malony, A.D.: The Tau parallel performance system. Int. J. High Perform. Comput. Appl. 20(2), 287–311 (2006)CrossRefGoogle Scholar
  2. 2.
  3. 3.
  4. 4.
    Barthou, D., Charif Rubial, A., Jalby, W., Koliai, S., Valensi, C.: Performance tuning of x86 OpenMP codes with MAQAO. In: Müller, M., Resch, M., Schulz, A., Nagel, W. (eds.) Tools for High Performance Computing, pp. 95–113. Springer, Heidelberg (2010)Google Scholar
  5. 5.
    Fürlinger, K., Gerndt, M.: ompP: a profiling tool for OpenMP. In: Mueller, M.S., Chapman, B.M., Supinski, B.R., Malony, A.D., Voss, M. (eds.) IWOMP 2005. LNCS, vol. 4315, pp. 15–23. Springer, Heidelberg (2008). doi: 10.1007/978-3-540-68555-5_2 CrossRefGoogle Scholar
  6. 6.
    Mohr, B., Wolf, F.: KOJAK – a tool set for automatic performance analysis of parallel programs. In: Kosch, H., Böszörményi, L., Hellwagner, H. (eds.) Euro-Par 2003. LNCS, vol. 2790, pp. 1301–1304. Springer, Heidelberg (2003). doi: 10.1007/978-3-540-45209-6_177 CrossRefGoogle Scholar
  7. 7.
    Geimer, M., Wolf, F., Wylie, B., Abraham, E., Becker, D., Mohr, B.: The Scalasca performance toolset architecture. Concurr. Comput. Pract. Exper. 22(6), 702–719 (2010)Google Scholar
  8. 8.
    Knupfer, A., Brunst, H., Doleschal, J., Jurenz, M., Lieber, M., Mickler, H., Muller, M., Nagel, W.: The Vampir Performance analysis tool set. In: Resch, M., Keller, R., Himmler, V., Krammer, B., Schulz, A. (eds.) Tools for High Performance Computing, pp. 139–155. Springer, Berlin, Heidelberg (2008)CrossRefGoogle Scholar
  9. 9.
    Mohr, B., Malony, A., Shende, S., Wolf, F.: Design and prototype of a performance tool interface for OpenMP. J. Supercomput. 23(1), 105–128 (2002)CrossRefzbMATHGoogle Scholar
  10. 10.
    Itzkowitz, M., Mazurov, O., Copay, N., Lin, Y.: An OpenMP runtime API for profiling, OpenMP official ARB White Paper 314, pp. 181–190 (2007)Google Scholar
  11. 11.
  12. 12.
    Eichenberger, A.E., et al.: OMPT: an OpenMP tools application programming interface for performance analysis. In: Rendell, A.P., Chapman, B.M., Müller, M.S. (eds.) IWOMP 2013. LNCS, vol. 8122, pp. 171–185. Springer, Heidelberg (2013). doi: 10.1007/978-3-642-40698-0_13 CrossRefGoogle Scholar
  13. 13.
    Bull, J.M., O’Neill, D.: A microbenchmark suite for OpenMP 2.0. SIGARCH Comput. Archit. News 29(5), 41–48 (2001)Google Scholar
  14. 14.
    LLVM OpenMP. openmp.llvm.org

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  • Taru Doodi
    • 1
    Email author
  • Jonathan Peyton
    • 1
  • Jim Cownie
    • 1
  • Maria Garzaran
    • 1
  • Rubasri Kalidas
    • 1
  • Jeongnim Kim
    • 1
  • Amrita Mathuriya
    • 1
  • Terry Wilmarth
    • 1
  • Gengbin Zheng
    • 1
  1. 1.Intel CorporationAustinUSA

Personalised recommendations