Skip to main content
Log in


Tasking in OpenMP 3.0 has been conceived to handle the dynamic generation of unstructured parallelism. New directives have been added allowing the user to identify units of independent work (tasks) and to define points to wait for the completion of tasks (task barriers). In this document we propose extensions to allow the runtime detection of dependencies between generated tasks, broading the range of applications that can benefit from tasking or improving the performance when load balancing or locality are critical issues for performance. The proposed extensions are evaluated on a SGI Altix multiprocessor architecture using a couple of small applications and a prototype runtime system implementation.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions


  1. OpenMP Architecture Review Board. OpenMP 3.0 Specification., May 2008

  2. Shah, S., Haab, G., Petersen, P., Throop, J.: Flexible control structures for parallelism in OpenMP. In 1st European Workshop on OpenMP, September 1999

  3. Balart, J., Duran, A., Gonzàlez, M., Martorell, X., Ayguadé, E. Labarta, J.: Nanos mercurium: a research compiler for openMP. In Proceedings of the European Workshop on OpenMP 2004, October 2004

  4. Rinard M.C., Scales D.J., Lam M.S.: Jade: A high-level, machine-independent language for parallel programming. Computer 26(6), 28–38 (1993)

    Article  Google Scholar 

  5. Perez, J.M., Badia, R.M., Labarta, J.: A dependency-aware task-based programming environment for multi-core architectures. In IEEE Cluster 2008 (2008)

  6. Chan, E., van Zee, F.G., Quintana-Ortí, E.S., Quintana-Ortí, G., van de Geijn, R.: Satisfying your dependencies with supermatrix. In IEEE International Conference on Cluster 2007 (2007)

  7. Gonzàlez, M., Ayguadé, E., Martorell, X., Labarta, J.: Exploiting pipelined executions in OpenMP. In 32nd Annual International Conference on Parallel Processing (ICPP’03), October 2003

  8. Sinnen, O., Pe, J., Kozlov, A.: Support for fine grained dependent tasks in OpenMP. In 3rd International Workshop on OpenMP (IWOMP’07) (2007)

  9. Ayguadé, E., Copty, N., Duran, A., Hoeflinger, J., Lin, Y., Massaioli, F., Unnikrishnan, P., Zhang, G.: A proposal for task parallelism in OpenMP. In 3rd International Workshop on OpenMP (IWOMP’07) (2007)

  10. Pham, D., Asano, S., Bolliger, M., Day, M.N., Hofstee, H.P., Johns, C., Kahle, J., et al.: The design and implementation of a first-generation cell processor. In IEEE International Solid-State Circuits Conference (ISSCC 2005) (2005)

  11. Bellens, P., Perez, J.M., Badia, R.M., Labarta, J.: CellSs: a programming model for the Cell BE architecture. In Proceedings of the ACM/IEEE SC 2006 Conference, November 2006

  12. Ayguadé, E., Duran, A., Hoeflinger, J., Massaioli, F., Teruel, X.: An experimental evaluation of the new openMP tasking model. In Proceedings of the 20th International Workshop on Languages and Compilers for Parallel Computing, October 2007

Download references

Author information

Authors and Affiliations


Corresponding author

Correspondence to Alejandro Duran.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Duran, A., Ferrer, R., Ayguadé, E. et al. A Proposal to Extend the OpenMP Tasking Model with Dependent Tasks. Int J Parallel Prog 37, 292–305 (2009).

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: