Advertisement

AfterOMPT: An OMPT-Based Tool for Fine-Grained Tracing of Tasks and Loops

  • Igor WodianyEmail author
  • Andi Drebes
  • Richard Neill
  • Antoniu Pop
Conference paper
  • 143 Downloads
Part of the Lecture Notes in Computer Science book series (LNCS, volume 12295)

Abstract

We present AfterOMPT, a new trace-based tool for analyzing the execution of OpenMP applications using the OMPT interface to capture accurate information on loop partitioning, distribution of iteration spaces across workers, task scheduling, and synchronization events. In contrast to previous works that rely on specific, instrumented runtime libraries, our tool is able to collect information from any runtime implementing the OMPT interface. In order to visualize the information from the collected traces, we have extended the Aftermath performance analysis tool with appropriate renderers for OMPT events. We also propose an extension of the OMPT interface for the collection of more detailed information on scheduled OpenMP loops. Experimental results show a tracing overhead of under \(5\%\) for the majority of studied benchmarks, increasing more significantly for those with highly fine-grained workloads.

Keywords

OpenMP OMPT Performance analysis Tracing 

References

  1. 1.
    Extrae. https://tools.bsc.es/extrae. Accessed 25 May 2020
  2. 2.
  3. 3.
    Bailey, D.H.: The NAS parallel benchmarks. Int. J. Supercomput. Appl. 5(3), 63–73 (1991)Google Scholar
  4. 4.
    Drebes, A., Bréjon, J.-B., Pop, A., Heydemann, K., Cohen, A.: Language-centric performance analysis of OpenMP programs with aftermath. In: Maruyama, N., de Supinski, B.R., Wahib, M. (eds.) IWOMP 2016. LNCS, vol. 9903, pp. 237–250. Springer, Cham (2016).  https://doi.org/10.1007/978-3-319-45550-1_17CrossRefGoogle Scholar
  5. 5.
    Drebes, A., Pop, A., Heydemann, K., Cohen, A.: Interactive visualization of cross-layer performance anomalies in dynamic task-parallel applications and systems. In: 2016 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS), pp. 274–283. IEEE (2016)Google Scholar
  6. 6.
    Duran, A., Teruel, X., Ferrer, R., Martorell, X., Ayguade, E.: Barcelona OpenMP tasks suite: a set of benchmarks targeting the exploitation of task parallelism in OpenMP. In: 2009 International Conference on Parallel Processing, pp. 124–131. IEEE (2009)Google Scholar
  7. 7.
    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).  https://doi.org/10.1007/978-3-642-40698-0_13CrossRefGoogle Scholar
  8. 8.
    Feld, C., Convent, S., Hermanns, M.-A., Protze, J., Geimer, M., Mohr, B.: Score-P and OMPT: navigating the perils of callback-driven parallel runtime introspection. In: Fan, X., de Supinski, B.R., Sinnen, O., Giacaman, N. (eds.) IWOMP 2019. LNCS, vol. 11718, pp. 21–35. Springer, Cham (2019).  https://doi.org/10.1007/978-3-030-28596-8_2CrossRefGoogle Scholar
  9. 9.
    Itzkowitz, M., Mazurov, O., Copty, N., Lin, Y., Lin, Y.: An OpenMP runtime API for profiling. OpenMP ARB White Paper (2007). http://www.compunity.org/futures/omp-api.html
  10. 10.
    Langdal, P.V., Jahre, M., Muddukrishna, A.: Extending OMPT to support grain graphs. In: de Supinski, B.R., Olivier, S.L., Terboven, C., Chapman, B.M., Müller, M.S. (eds.) IWOMP 2017. LNCS, vol. 10468, pp. 141–155. Springer, Cham (2017).  https://doi.org/10.1007/978-3-319-65578-9_10CrossRefGoogle Scholar
  11. 11.
    Lorenz, D., Dietrich, R., Tschüter, R., Wolf, F.: A comparison between OPARI2 and the OpenMP tools interface in the context of Score-P. In: DeRose, L., de Supinski, B.R., Olivier, S.L., Chapman, B.M., Müller, M.S. (eds.) IWOMP 2014. LNCS, vol. 8766, pp. 161–172. Springer, Cham (2014).  https://doi.org/10.1007/978-3-319-11454-5_12CrossRefGoogle Scholar
  12. 12.
    Muddukrishna, A., Jonsson, P.A., Podobas, A., Brorsson, M.: Grain graphs: OpenMP performance analysis made easy. In: Proceedings of the 21st ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pp. 1–13. ACM (2016)Google Scholar
  13. 13.
    Müller, M.S., et al.: Developing scalable applications with Vampir. VampirServer and VampirTrace. In: PARCO, vol. 15, pp. 637–644 (2007)Google Scholar
  14. 14.
    Neill, R., Drebes, A., Pop, A.: Accurate and complete hardware profiling for OpenMP. In: de Supinski, B.R., Olivier, S.L., Terboven, C., Chapman, B.M., Müller, M.S. (eds.) IWOMP 2017. LNCS, vol. 10468, pp. 266–280. Springer, Cham (2017).  https://doi.org/10.1007/978-3-319-65578-9_18CrossRefGoogle Scholar
  15. 15.
    OpenMP Architecture Review Board: OpenMP Application Programming Interface (Version 5.0) (2018)Google Scholar
  16. 16.
    Pillet, V., Labarta, J., Cortes, T., Girona, S.: Paraver: a tool to visualize and analyze parallel code. In: Proceedings of WoTUG-18: Transputer and OCCAM Developments, vol. 44, pp. 17–31 (1995)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2020

Authors and Affiliations

  • Igor Wodiany
    • 1
    Email author
  • Andi Drebes
    • 2
  • Richard Neill
    • 1
  • Antoniu Pop
    • 1
  1. 1.Department of Computer ScienceThe University of ManchesterManchesterUK
  2. 2.Inria and École Normale SupérieureParisFrance

Personalised recommendations