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

  • Mathias NachtmannEmail author
  • José Gracia
Conference paper


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.


  1. 1.
    Allinea: Allinea ddt: The debugger for c, c++ and f90 threaded and parallel code,
  2. 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. 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–198CrossRefGoogle Scholar
  4. 4.
    Board, T.O.A.R.: The openmp api specification for parallel programming,
  5. 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. 6.
    Dagum L, Menon R (1998) Openmp: an industry standard api for shared-memory programming. IEEE Comput. Sci. Eng. 5(1):46–55CrossRefGoogle Scholar
  7. 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–193MathSciNetCrossRefGoogle Scholar
  8. 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,
  9. 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. 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. 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. 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 IPDPSGoogle Scholar
  13. 13.
    RogueWave: Faster fault isolation, improved memory optimization, and dynamic visualization for your high performance computing apps,

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  1. 1.High Performance Computing Center Stuttgart (HLRS)StuttgartGermany

Personalised recommendations