Skip to main content

Extending OMPT to Support Grain Graphs

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 10468))

Abstract

The upcoming profiling API standard OMPT can describe almost all profiling events required to construct grain graphs, a recent visualization that simplifies OpenMP performance analysis. We propose OMPT extensions that provide the missing descriptions of task creation and parallel for-loop chunk scheduling events, making OMPT a sufficient, standard source for grain graphs. Our extensions adhere to OMPT design objectives and incur a low overhead for BOTS (up to 2% overhead) and SPEC OMP2012 (1%) programs. Although motivated by grain graphs, the events described by the extensions are general and can enable cost-effective, precise measurements in other profiling tools as well.

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. Bull, J.M.: Measuring synchronisation and scheduling overheads in OpenMP. In: Proceedings of First European Workshop on OpenMP, vol. 8, p. 49 (1999)

    Google Scholar 

  2. Bull, J.M., Reid, F., McDonnell, N.: A microbenchmark suite for OpenMP tasks. In: Chapman, B.M., Massaioli, F., Müller, M.S., Rorro, M. (eds.) IWOMP 2012. LNCS, vol. 7312, pp. 271–274. Springer, Heidelberg (2012). doi:10.1007/978-3-642-30961-8_24

    Chapter  Google Scholar 

  3. Dagum, L., Menon, R.: OpenMP: an industry standard API for shared-memory programming. IEEE Comput. Sci. Eng. 5(1), 46–55 (1998)

    Article  Google Scholar 

  4. 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, April 2016

    Google Scholar 

  5. Drebes, A., Bréjon, J.-B., Pop, A., Heydemann, K., Cohen, A.: Language-centric performance analysis of OpenMP programs with aftermath. In: Maruyama, N., Supinski, B.R., Wahib, M. (eds.) IWOMP 2016. LNCS, vol. 9903, pp. 237–250. Springer, Cham (2016). doi:10.1007/978-3-319-45550-1_17

    Chapter  Google Scholar 

  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: Proceedings of the 2009 International Conference on Parallel Processing, ICPP 2009, pp. 124–131 (2009). http://dx.doi.org/10.1109/ICp.2009.64

  7. Eichenberger, A.E., Mellor-Crummey, J., Schulz, M., Wong, M., Copty, N., Dietrich, R., Liu, X., Loh, E., Lorenz, D.: 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

    Chapter  Google Scholar 

  8. Intel: Intel VTune Amplifier Webpage, May 2017. https://software.intel.com/en-us/intel-vtune-amplifier-xe

  9. Itzkowitz, M., Mazurov, O., Copty, N., Lin, Y., Lin, Y.: An OpenMP runtime API for profiling. OpenMP ARB as an official ARB White Paper, vol. 314, pp. 181–190 (2007). http://www.compunity.org/futures/omp-api.html, http://www.compunity.org/futures/omp-api-old.html

  10. Langdal, P.V.: Extending OMPT to support grain graphs - dataset, 6 2017. https://figshare.com/articles/Extending_OMPT_to_support_Grain_Graphs_-_Dataset/5086837

  11. Langdal, P.V.: Generating grain graphs using the OpenMP tools API. Technical report, NTNU (2017). https://brage.bibsys.no/xmlui/handle/11250/2434632

  12. Langdal, P.V.: LLVM OpenMP TR4E Alpha Release, May 2017. https://doi.org/10.5281/zenodo.570288

  13. Mohr, B., Malony, A.D., Hoppe, H.C., Schlimbach, F., Haab, G., Hoeflinger, J., Shah, S.: A performance monitoring interface for OpenMP. In: Proceedings of the Fourth Workshop on OpenMP (EWOMP 2002), pp. 1001–1025 (2002)

    Google Scholar 

  14. Muddukrishna, A., Jonsson, P.A., Langdal, P.: anamud/mir-dev: MIR v1.0.0, March 2017. https://doi.org/10.5281/zenodo.439351

  15. 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, PPoPP 2016, NY, USA, pp. 28:1–28:13 (2016). http://doi.acm.org/10.1145/2851141.2851156

  16. Muddukrishna, A., Langdal, P.: anamud/grain-graphs: Grain Graphs v1.0.0, March 2017. https://doi.org/10.5281/zenodo.439355

  17. Muller, M.S., Baron, J., Brantley, W.C., Feng, H., Hackenberg, D., Henschel, R., Jost, G., Molka, D., Parrott, C., Robichaux, J., Shelepugin, P., van Waveren, M., Whitney, B., Kumaran, K.: SPEC OMP2012 - an application benchmark suite for parallel systems using OpenMP. In: Proceedings of the 8th International Conference on OpenMP in a Heterogeneous World, IWOMP 2012, pp. 223–236 (2012). http://dx.doi.org/10.1007/978-3-642-30961-8_17

  18. OMPT Tools Interface Group: LLVM OpenMP Runtime with Changes Towards TR4. GitHub (2017). https://github.com/OpenMPToolsInterface/LLVM-openmp

  19. OpenMP Language Working Group: OpenMP Technical report 4: Version 5.0 Preview 1, November 2016. http://www.openmp.org/wp-content/uploads/openmp-tr4.pdf

  20. Qawasmeh, A., Malik, A.M., Chapman, B.M.: Adaptive OpenMP task scheduling using runtime APIs and machine learning. In: 2015 IEEE 14th International Conference on Machine Learning and Applications (ICMLA), pp. 889–895, December 2015

    Google Scholar 

  21. Qawasmeh, A., Malik, A., Chapman, B., Huck, K., Malony, A.: Open source task profiling by extending the OpenMP runtime API. In: Rendell, A.P., Chapman, B.M., Müller, M.S. (eds.) IWOMP 2013. LNCS, vol. 8122, pp. 186–199. Springer, Heidelberg (2013). doi:10.1007/978-3-642-40698-0_14

    Chapter  Google Scholar 

  22. Servat, H., Teruel, X., Llort, G., Duran, A., Giménez, J., Martorell, X., Ayguadé, E., Labarta, J.: On the instrumentation of OpenMP and OmpSs tasking constructs. In: Caragiannis, I., Alexander, M., Badia, R.M., Cannataro, M., Costan, A., Danelutto, M., Desprez, F., Krammer, B., Sahuquillo, J., Scott, S.L., Weidendorfer, J. (eds.) Euro-Par 2012. LNCS, vol. 7640, pp. 414–428. Springer, Heidelberg (2013). doi:10.1007/978-3-642-36949-0_47

    Chapter  Google Scholar 

  23. Yoga, A., Nagarakatte, S., Gupta, A.: Parallel data race detection for task parallel programs with locks. In: Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering, FSE 2016, NY, USA, pp. 833–845 (2016). http://doi.acm.org/10.1145/2950290.2950329

Download references

Acknowledgment

We are grateful to anonymous reviewers for comments that helped improve the paper. One reviewer generously pointed out that our proposed chunk callback can be applied in data race detection tools as well. We thank Joachim Protze (RWTH Aachen), Jonas Hahnfeld (RWTH Aachen), Sergei Shudler (TU Darmstadt) and Harald Servat (Intel) for helpful comments and suggestions regarding the extensions. This paper is partially funded by the TULIPP project, grant number 688403 from the EU Horizon 2020 Research and Innovation programme.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Peder Voldnes Langdal .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this paper

Cite this paper

Langdal, P.V., Jahre, M., Muddukrishna, A. (2017). Extending OMPT to Support Grain Graphs. In: de Supinski, B., Olivier, S., Terboven, C., Chapman, B., Müller, M. (eds) Scaling OpenMP for Exascale Performance and Portability. IWOMP 2017. Lecture Notes in Computer Science(), vol 10468. Springer, Cham. https://doi.org/10.1007/978-3-319-65578-9_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-65578-9_10

  • Published:

  • Publisher Name: Springer, Cham

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

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

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics