Skip to main content

Enabling Model-Centric Debugging for Task-Based Programming Models—A Tasking Control Interface

  • Conference paper
  • First Online:
Tools for High Performance Computing 2015

Abstract

This paper introduces the Tasking Control API—an API which allows tools, e.g. debuggers, to control the execution of task-based programming models as for instance OpenMP or OmpSs. However, the design of Tasking Control API is sufficiently generic to be applied to any other programming model for asynchronous task parallelization. We call this debugging approach model-centric debugging as opposed to language-centric debugging. The specification of Tasking Control API follows the spirit of the OpenMP Tools Interface to allow simple interoperability or even a future integration of Tasking Control API into the OpenMP Tools Interface.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover 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

Institutional subscriptions

Notes

  1. 1.

    The rest of this chapter will use task and dependency instead of task instance and dependency instance, respectively. Similarly, we refer to task-dependency graph as task-graph or graph.

References

  1. Allinea: Allinea ddt: The debugger for c, c++ and f90 threaded and parallel code, http://www.allinea.com/

  2. Augonnet, C., Thibault, S., Namyst, R., Wacrenier, P.A.: Starpu: a unified platform for task scheduling on heterogeneous multicore architectures. In: Proceedings of the 15th International Euro-Par Conference on Parallel Processing, Euro-Par ’09, pp. 863–874. Springer, Berlin (2009)

    Google Scholar 

  3. Augonnet C, Thibault S, Namyst R, Wacrenier PA (2011) Starpu: a unified platform for task scheduling on heterogeneous multicore architectures. Concurr. Comput.: Pract. Exp. 23(2):187–198

    Article  Google Scholar 

  4. Board, T.O.A.R.: The openmp api specification for parallel programming, http://openmp.org/

  5. Brinkmann, S., Gracia, J., Niethammer, C.: Task debugging with temanejo. In: Cheptsov, A., Brinkmann, S., Gracia, J., Resch, M.M., Nagel, W.E. (eds.) Tools for High Performance Computing 2012, pp. 13–21. Springer, Berlin (2013)

    Google Scholar 

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

    Article  Google Scholar 

  7. Duran A, Ayguadé E, Badia RM, Labarta J, Martinell L, Martorell X, Planas J (2011) Ompss: a proposal for programming heterogeneous multi-core architectures. Parallel Process. Lett. 21(02):173–193

    Article  MathSciNet  Google Scholar 

  8. Eichenberger, A., Mellor-Crummey, J., Schulz, M., Copty, N., Cownie, J., Dietrich, R., Liu, X., Loh, E., Lorenz, D.: Openmp technical report 2 on the ompt interface, http://openmp.org/mp-documents/ompt-tr2.pdf

  9. Ferrer, R., Planas, J., Bellens, P., Duran, A., Gonzalez, M., Martorell, X., Badia, R.M., Ayguade, E., Labarta, J.: Optimizing the exploitation of multicore processors and gpus with openmp and opencl. In: Proceedings of the 23rd International Conference on Languages and Compilers for Parallel Computing, LCPC’10, pp. 215–229. Springer, Berlin (2011)

    Google Scholar 

  10. Keller, R., Brinkmann, S., Gracia, J., Niethammer, C.: Temanejo: Debugging of thread-based task-parallel programs in starss. In: Brunst, H., Mller, M.S., Nagel, W.E., Resch, M.M. (eds.) Tools for High Performance Computing 2011, pp. 131–137. Springer, Berlin (2012)

    Google Scholar 

  11. Perez, J., Badia, R., Labarta, J.: A dependency-aware task-based programming environment for multi-core architectures. In: Proceedings of the 2008 IEEE International Conference on Cluster Computing, pp. 142–151, September (2008)

    Google Scholar 

  12. Pouget, K., López Cueva, P., Santana, M., Méhaut, J.F.: Interactive debugging of dynamic dataflow embedded applications. In: Proceedings of the 18th International Workshop on High-Level Parallel Programming Models and Supportive Environments (HIPS). Boston, Massachusetts, USA, May (2013), held in conjunction of IPDPS

    Google Scholar 

  13. RogueWave: Faster fault isolation, improved memory optimization, and dynamic visualization for your high performance computing apps, http://www.roguewave.com/

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Mathias Nachtmann .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing Switzerland

About this paper

Cite this paper

Nachtmann, M., Gracia, J. (2016). Enabling Model-Centric Debugging for Task-Based Programming Models—A Tasking Control Interface. In: Knüpfer, A., Hilbrich, T., Niethammer, C., Gracia, J., Nagel, W., Resch, M. (eds) Tools for High Performance Computing 2015. Springer, Cham. https://doi.org/10.1007/978-3-319-39589-0_12

Download citation

Publish with us

Policies and ethics